Skip to content

Compeller

by compeller.ai · remote · no sign-in to list tools · v0.5.1 · published by ai.compeller

Create and track AI music videos and audio-reactive visuals from songs.

Deletes · 4Changes · 11

30 tools: 4 can delete or cancel things, 11 change things and 15 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http compel https://compeller.ai/api/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "upload_media" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true}; The name "upload_media" says "upload": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

30 tools

Deletes or cancels 4Claude Code: deny
  • cancel_compelCancel an in-progress compel.No findings

    Why it is in this group

    • The name "cancel_compel" says "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Cancel an in-progress compel. Dequeues it if still queued, otherwise cancels any active external (AI provider) tasks and transitions it to CANCELLED. Idempotent - cancelling an already-CANCELLED compel succeeds. Use to stop a mis-prompted or runaway job before it consumes more render minutes.

    Annotations the server declares

    • title: Cancel a compel
    • readOnlyHint: false
    • openWorldHint: false
    • destructiveHint: true
  • delete_webhookDelete a webhook endpoint by id.No findings

    Why it is in this group

    • The name "delete_webhook" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete a webhook endpoint by id. Removes the registration and stops future deliveries.

    Annotations the server declares

    • title: Delete webhook
    • readOnlyHint: false
    • openWorldHint: false
    • destructiveHint: true
  • rotate_webhook_secretMint a new HMAC-SHA256 signing secret for a registered webhook endpoint.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Mint a new HMAC-SHA256 signing secret for a registered webhook endpoint. The previous secret is invalidated immediately - integrators must update their receiver before the next compel terminal event fires. Returns the new secret exactly once; store it on receipt.

    Annotations the server declares

    • title: Rotate webhook secret
    • readOnlyHint: false
    • openWorldHint: false
    • destructiveHint: true
  • stop_lighting_cueStop a live cue by its launch_id.No findings

    Why it is in this group

    • The name "stop_lighting_cue" says "stop": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Stop a live cue by its launch_id. Idempotent - the cue is marked stop-requested so REACT drops it on its next refresh.

    Annotations the server declares

    • title: Stop lighting cue
    • readOnlyHint: false
    • destructiveHint: true
Changes things 11Claude Code: ask
  • ack_lighting_cueREACT/BAE acknowledgement for a launch_id.No findings

    Why it is in this group

    • The description's first verb is "react": a word for a change.
    Description, as the server wrote it
    REACT/BAE acknowledgement for a launch_id. Idempotently records whether the executor accepted or rejected the cue and which executor observed it.

    Annotations the server declares

    • title: Ack lighting cue
    • readOnlyHint: false
    • destructiveHint: false
  • create_compelCreate a Compeller generation job from primary audio media and optional reference media.No findings

    Why it is in this group

    • The name "create_compel" says "create": a word for a change.
    Description, as the server wrote it
    Create a Compeller generation job from primary audio media and optional reference media. Returns compel id, status, and links to track progress and retrieve renderings.

    Annotations the server declares

    • title: Create Compel from uploaded audio
    • readOnlyHint: false
    • openWorldHint: false
    • destructiveHint: false
  • create_compel_from_musicCreate a compel from a selected Deezer preview track.No findings

    Why it is in this group

    • The name "create_compel_from_music" says "create": a word for a change.
    Description, as the server wrote it
    Create a compel from a selected Deezer preview track. If the user provides an audio file instead, upload that file and use create_compel.

    Annotations the server declares

    • title: Create Compel from music search
    • readOnlyHint: false
    • openWorldHint: false
    • destructiveHint: false
  • launch_lighting_cueLaunch a starter lighting effect onto a stage as a live cue (e.g.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Launch a starter lighting effect onto a stage as a live cue (e.g. "gobo-cycle on the stage's 7R beams at speed 0.5"). Pass effect_id (from list_lighting_effects) and optional variables to override effect defaults. Validation is loud: an unknown effect, a launch_contract whose bindings a stage cannot render, or a missing required field is rejected. Returns the active cue including its launch_id, resolved variables, and launch_contract for REACT. REACT executes the cue per-frame; the live strobe slider stays authoritative and is never raised by a launch.

    Annotations the server declares

    • title: Launch lighting cue
    • readOnlyHint: false
    • destructiveHint: false
  • register_webhookRegister an HTTPS endpoint to receive signed push notifications for compel lifecycle events (compel.ready when renderable, compel.completed, compel.failed).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Register an HTTPS endpoint to receive signed push notifications for compel lifecycle events (compel.ready when renderable, compel.completed, compel.failed). Returns webhook_id and the HMAC-SHA256 signing secret exactly once - store the secret immediately, it is never returned again. Deliveries are signed via X-Compeller-Signature: sha256=<hex> over the raw body. Delivery is at-least-once: a failed delivery is retried with backoff (up to 6 attempts) and every retry carries the same X-Compeller-Event-Id, so dedupe on it.

    Annotations the server declares

    • title: Register webhook
    • readOnlyHint: false
    • openWorldHint: true
    • destructiveHint: false
  • report_lighting_cueREACT/BAE report-back for cue status, active variables, skipped bindings, capability misses, last_frame_at, and errors.No findings

    Why it is in this group

    • The description's first verb is "react": a word for a change.
    Description, as the server wrote it
    REACT/BAE report-back for cue status, active variables, skipped bindings, capability misses, last_frame_at, and errors.

    Annotations the server declares

    • title: Report lighting cue
    • readOnlyHint: false
    • destructiveHint: false
  • set_lighting_cue_variablesUpdate variables on a live cue (e.g.No findings

    Why it is in this group

    • The name "set_lighting_cue_variables" says "set": a word for a change.
    Description, as the server wrote it
    Update variables on a live cue (e.g. change cycle speed or intensity mid-show). Only the variables you pass change; the rest keep their current values. Stopped cues are rejected.

    Annotations the server declares

    • title: Set lighting cue variables
    • readOnlyHint: false
    • destructiveHint: false
  • start_renderStart rendering a READY compel with default configuration so an agent can continue to final MP4 without opening the browser UI.No findings

    Why it is in this group

    • The name "start_render" says "start": a word for a change.
    Description, as the server wrote it
    Start rendering a READY compel with default configuration so an agent can continue to final MP4 without opening the browser UI.

    Annotations the server declares

    • title: Start Compel render
    • readOnlyHint: false
    • openWorldHint: false
    • destructiveHint: false
  • test_webhook_deliverySynchronously POST a synthetic webhook.test event to a registered endpoint.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Synchronously POST a synthetic webhook.test event to a registered endpoint. Uses the same HMAC-SHA256 signature as real deliveries, runs the standard URL safety check at delivery time, and returns {webhook_id, event_id, event_type, delivered, response_status, response_body_preview, latency_ms, error?}. Ignores the endpoint's events subscription - test delivery is always on-demand. Use this to verify your integration before relying on compel.completed / compel.failed events.

    Annotations the server declares

    • title: Test webhook delivery
    • readOnlyHint: false
    • openWorldHint: true
    • destructiveHint: false
  • update_webhookUpdate one or more mutable fields on a registered webhook endpoint: url, events, active.No findings

    Why it is in this group

    • The name "update_webhook" says "update": a word for a change.
    Description, as the server wrote it
    Update one or more mutable fields on a registered webhook endpoint: url, events, active. At least one of these must be provided. Validation mirrors register_webhook (https-only, <= 2048 chars, URL safety blocklist). Returns the updated endpoint (secret is never returned by this tool - use rotate_webhook_secret for that).

    Annotations the server declares

    • title: Update webhook
    • readOnlyHint: false
    • openWorldHint: true
    • destructiveHint: false
  • upload_mediaGet upload instructions for media files (audio, images, video).1 finding

    Why it is in this group

    • The name "upload_media" says "upload": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "upload_media" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true}; The name "upload_media" says "upload": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Get upload instructions for media files (audio, images, video). Returns the upload URL and required headers. Requires API token authentication.

    Annotations the server declares

    • title: Get media upload instructions
    • readOnlyHint: true
Only reads 15Claude Code: allow
  • get_account_creditsGet the authenticated account's render-minute balance and plan: minutes remaining (free + paid), monthly allowance, plan code, and whether the quota is exceeded.No findings

    Why it is in this group

    • The name "get_account_credits" says "get": a word for reading.
    Description, as the server wrote it
    Get the authenticated account's render-minute balance and plan: minutes remaining (free + paid), monthly allowance, plan code, and whether the quota is exceeded. Call before starting an expensive render so an agent can make cost-aware decisions.

    Annotations the server declares

    • title: Get account credits
    • readOnlyHint: true
  • get_capabilitiesGet Compeller platform capabilities, supported features, and API version.No findings

    Why it is in this group

    • The name "get_capabilities" says "get": a word for reading.
    Description, as the server wrote it
    Get Compeller platform capabilities, supported features, and API version.

    Annotations the server declares

    • title: Get Compeller capabilities
    • readOnlyHint: true
  • get_compelGet the current status, progress, and details of a Compeller generation job.No findings

    Why it is in this group

    • The name "get_compel" says "get": a word for reading.
    Description, as the server wrote it
    Get the current status, progress, and details of a Compeller generation job.

    Annotations the server declares

    • title: Get Compel status
    • readOnlyHint: true
  • get_lighting_cueFetch a single live lighting cue by its launch_id, including resolved variables, launch_contract, and REACT feedback.No findings

    Why it is in this group

    • The name "get_lighting_cue" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single live lighting cue by its launch_id, including resolved variables, launch_contract, and REACT feedback.

    Annotations the server declares

    • title: Get lighting cue
    • readOnlyHint: true
  • get_pricingGet current Compeller subscription plans and pricing.No findings

    Why it is in this group

    • The name "get_pricing" says "get": a word for reading.
    Description, as the server wrote it
    Get current Compeller subscription plans and pricing.

    Annotations the server declares

    • title: Get Compeller pricing
    • readOnlyHint: true
  • get_renderingGet details of a specific video rendering.No findings

    Why it is in this group

    • The name "get_rendering" says "get": a word for reading.
    Description, as the server wrote it
    Get details of a specific video rendering.

    Annotations the server declares

    • title: Get rendering details
    • readOnlyHint: true
  • list_compelsList all Compeller generation jobs for the authenticated account, newest first.No findings

    Why it is in this group

    • The name "list_compels" says "list": a word for reading.
    Description, as the server wrote it
    List all Compeller generation jobs for the authenticated account, newest first.

    Annotations the server declares

    • title: List Compels
    • readOnlyHint: true
  • list_lighting_cuesList the live (non-stopped) lighting cues REACT is executing, including each cue's launch_id, resolved variables, launch_contract, and feedback.No findings

    Why it is in this group

    • The name "list_lighting_cues" says "list": a word for reading.
    Description, as the server wrote it
    List the live (non-stopped) lighting cues REACT is executing, including each cue's launch_id, resolved variables, launch_contract, and feedback. Optionally scope to one stage.

    Annotations the server declares

    • title: List lighting cues
    • readOnlyHint: true
  • list_lighting_effectsList the COM-497 starter lighting effects available to launch as cues (e.g.No findings

    Why it is in this group

    • The name "list_lighting_effects" says "list": a word for reading.
    Description, as the server wrote it
    List the COM-497 starter lighting effects available to launch as cues (e.g. "gobo-cycle", "x-move", "dimmer-pulse"). Each effect carries an id, the capabilities it needs, and a launch_contract template. Use the returned id as effect_id for launch_lighting_cue.

    Annotations the server declares

    • title: List lighting effects
    • readOnlyHint: true
  • list_renderingsList all video renderings for a specific compel.No findings

    Why it is in this group

    • The name "list_renderings" says "list": a word for reading.
    Description, as the server wrote it
    List all video renderings for a specific compel.

    Annotations the server declares

    • title: List Compel renderings
    • readOnlyHint: true
  • list_stylesList available visual styles for Compeller video generation.No findings

    Why it is in this group

    • The name "list_styles" says "list": a word for reading.
    Description, as the server wrote it
    List available visual styles for Compeller video generation.

    Annotations the server declares

    • title: List visual styles
    • readOnlyHint: true
  • list_webhooksList all webhook endpoints registered for the authenticated account.No findings

    Why it is in this group

    • The name "list_webhooks" says "list": a word for reading.
    Description, as the server wrote it
    List all webhook endpoints registered for the authenticated account. Secrets are never returned by this tool.

    Annotations the server declares

    • title: List webhooks
    • readOnlyHint: true
  • search_compelsSearch Compeller generation jobs by title for the authenticated account.No findings

    Why it is in this group

    • The name "search_compels" says "search": a word for reading.
    Description, as the server wrote it
    Search Compeller generation jobs by title for the authenticated account.

    Annotations the server declares

    • title: Search Compels
    • readOnlyHint: true
  • search_mediaSearch and list uploaded media files for the authenticated account.No findings

    Why it is in this group

    • The name "search_media" says "search": a word for reading.
    Description, as the server wrote it
    Search and list uploaded media files for the authenticated account.

    Annotations the server declares

    • title: Search uploaded media
    • readOnlyHint: true
  • search_musicSearch Deezer preview tracks by song, artist, or album.No findings

    Why it is in this group

    • The name "search_music" says "search": a word for reading.
    Description, as the server wrote it
    Search Deezer preview tracks by song, artist, or album. Use this when the user provides a song string but no MP3/WAV/FLAC file.

    Annotations the server declares

    • title: Search music previews
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.5.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http compel https://compeller.ai/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__compel__get_capabilities",
      "mcp__compel__get_pricing",
      "mcp__compel__list_styles",
      "mcp__compel__search_music",
      "mcp__compel__get_compel",
      "mcp__compel__list_compels",
      "mcp__compel__search_compels",
      "mcp__compel__list_renderings",
      "mcp__compel__get_rendering",
      "mcp__compel__search_media",
      "mcp__compel__list_webhooks",
      "mcp__compel__get_account_credits",
      "mcp__compel__list_lighting_effects",
      "mcp__compel__list_lighting_cues",
      "mcp__compel__get_lighting_cue"
    ],
    "ask": [
      "mcp__compel__upload_media",
      "mcp__compel__create_compel_from_music",
      "mcp__compel__create_compel",
      "mcp__compel__start_render",
      "mcp__compel__register_webhook",
      "mcp__compel__test_webhook_delivery",
      "mcp__compel__update_webhook",
      "mcp__compel__launch_lighting_cue",
      "mcp__compel__set_lighting_cue_variables",
      "mcp__compel__ack_lighting_cue",
      "mcp__compel__report_lighting_cue"
    ],
    "deny": [
      "mcp__compel__delete_webhook",
      "mcp__compel__rotate_webhook_secret",
      "mcp__compel__cancel_compel",
      "mcp__compel__stop_lighting_cue"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as compel. Review it before you use it.