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.
30 tools: 4 can delete or cancel things, 11 change things and 15 only read.
Scanned Oct 21, 2026
- Deletes or cancels4Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things11Claude Code: ask: see these tools
- Only reads15Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnupload_media
The server marks "upload_media" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "upload_media" says "upload": a word for a change.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "upload_media" says "upload": a word for a change.
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.