
Compeller
Connects Claude to Compeller's hosted audio-reactive video pipeline over streamable HTTP. Exposes 20 tools spanning discovery (styles, pricing, music search), media uploads, Compel creation and tracking, render job management, and webhook registration with signature verification. Authentication works via Bearer token or X-API-Token header, though discovery tools run unauthenticated. Useful when you need agents to turn songs into performance visuals, check render status, or set up event callbacks for completed videos. Finished renders can be loaded into Compeller's REACT desktop app for live shows. The MCP endpoint lives at compeller.ai/api/mcp with full OpenAPI specs and agent manifests published alongside it.
- GitHub stars
- 1
- tools
- 30
- auth
- Secret needed
- transport
- HTTP
- last updated
- May 5, 2026
Install
From registry metadata$ npx add-mcp https://compeller.ai/api/mcp --name compel --header 'Authorization: Bearer ${API_TOKEN}' --header 'X-API-Token: ${X_API_TOKEN}'Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http compel https://compeller.ai/api/mcp --header 'Authorization: YOUR_AUTHORIZATION' --header 'X-API-Token: YOUR_X_API_TOKEN'Run in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 30 toolsVerified live against the running server on Nov 6, 2026.
get_capabilitiesGet Compeller platform capabilities, supported features, and API version.
Get Compeller platform capabilities, supported features, and API version.
No parameters. Call it with no arguments.
get_pricingGet current Compeller subscription plans and pricing.
Get current Compeller subscription plans and pricing.
No parameters. Call it with no arguments.
list_stylesList available visual styles for Compeller video generation.
List available visual styles for Compeller video generation.
No parameters. Call it with no arguments.
upload_mediaGet upload instructions for media files (audio, images, video). Returns the upload URL and required headers. Requires API token authentication.3 params
Get upload instructions for media files (audio, images, video). Returns the upload URL and required headers. Requires API token authentication.
mime_typestringnamestringtypestringsearch_musicSearch Deezer preview tracks by song, artist, or album. Use this when the user provides a song string but no MP3/WAV/FLAC file.2 params
Search Deezer preview tracks by song, artist, or album. Use this when the user provides a song string but no MP3/WAV/FLAC file.
limitintegerquery*stringcreate_compel_from_musicCreate a compel from a selected Deezer preview track. If the user provides an audio file instead, upload that file and use create_compel.6 params
Create a compel from a selected Deezer preview track. If the user provides an audio file instead, upload that file and use create_compel.
artist_contextstringaspect_ratiostring16:9 · 9:16 · 1:1stylestringCinematic Realistic · Photo Realistic · Cyberpunk · Anime / Manga · Film Noir · Watercolor Paintingtarget_platformstringtiktok · reels · shorts · instagram · square · youtubetitlestringtrack_id*integercreate_compelCreate a Compeller generation job from primary audio media and optional reference media. Returns compel id, status, and links to track progress and retrieve renderings.6 params
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.
artist_contextstringaspect_ratiostring16:9 · 9:16 · 1:1primary_media_id*integerstylestringCinematic Realistic · Photo Realistic · Cyberpunk · Anime / Manga · Film Noir · Watercolor Paintingtarget_platformstringtiktok · reels · shorts · instagram · square · youtubetitle*stringget_compelGet the current status, progress, and details of a Compeller generation job.1 params
Get the current status, progress, and details of a Compeller generation job.
compel_id*integerstart_renderStart rendering a READY compel with default configuration so an agent can continue to final MP4 without opening the browser UI.1 params
Start rendering a READY compel with default configuration so an agent can continue to final MP4 without opening the browser UI.
compel_id*integerlist_compelsList all Compeller generation jobs for the authenticated account, newest first.2 params
List all Compeller generation jobs for the authenticated account, newest first.
limitintegeroffsetintegersearch_compelsSearch Compeller generation jobs by title for the authenticated account.2 params
Search Compeller generation jobs by title for the authenticated account.
limitintegerquery*stringlist_renderingsList all video renderings for a specific compel.1 params
List all video renderings for a specific compel.
compel_id*integerget_renderingGet details of a specific video rendering.1 params
Get details of a specific video rendering.
rendering_id*integersearch_mediaSearch and list uploaded media files for the authenticated account.3 params
Search and list uploaded media files for the authenticated account.
limitintegeroffsetintegertypestringregister_webhookRegister 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...2 params
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...
eventsarrayurl*stringlist_webhooksList all webhook endpoints registered for the authenticated account. Secrets are never returned by this tool.
List all webhook endpoints registered for the authenticated account. Secrets are never returned by this tool.
No parameters. Call it with no arguments.
delete_webhookDelete a webhook endpoint by id. Removes the registration and stops future deliveries.1 params
Delete a webhook endpoint by id. Removes the registration and stops future deliveries.
webhook_id*integertest_webhook_deliverySynchronously 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_pre...1 params
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_pre...
webhook_id*integerupdate_webhookUpdate 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 thi...4 params
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 thi...
activebooleaneventsarrayurlstringwebhook_id*integerrotate_webhook_secretMint 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.1 params
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.
webhook_id*integercancel_compelCancel 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...1 params
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...
compel_id*integerget_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. Call before starting an expensive render so an agent can make cost-aware decisions.
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.
No parameters. Call it with no arguments.
list_lighting_effectsList 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.
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.
No parameters. Call it with no arguments.
launch_lighting_cueLaunch 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...4 params
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...
effect_idstringlaunch_contractobjectstage_idintegervariablesobjectlist_lighting_cuesList 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.1 params
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.
stage_idintegerget_lighting_cueFetch a single live lighting cue by its launch_id, including resolved variables, launch_contract, and REACT feedback.1 params
Fetch a single live lighting cue by its launch_id, including resolved variables, launch_contract, and REACT feedback.
launch_id*stringstop_lighting_cueStop a live cue by its launch_id. Idempotent - the cue is marked stop-requested so REACT drops it on its next refresh.1 params
Stop a live cue by its launch_id. Idempotent - the cue is marked stop-requested so REACT drops it on its next refresh.
launch_id*stringset_lighting_cue_variablesUpdate 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.2 params
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.
launch_id*stringvariables*objectack_lighting_cueREACT/BAE acknowledgement for a launch_id. Idempotently records whether the executor accepted or rejected the cue and which executor observed it.5 params
REACT/BAE acknowledgement for a launch_id. Idempotently records whether the executor accepted or rejected the cue and which executor observed it.
accepted*booleanexecutor_idstringlaunch_id*stringobserved_atstringrejected_reasonstringreport_lighting_cueREACT/BAE report-back for cue status, active variables, skipped bindings, capability misses, last_frame_at, and errors.8 params
REACT/BAE report-back for cue status, active variables, skipped bindings, capability misses, last_frame_at, and errors.
active_variablesobjectcapability_missesarrayerrorstringexecutor_idstringlast_frame_atstringlaunch_id*stringskipped_bindingsarraystatusstringSponsors
Readme
Compeller MCP
Public documentation and metadata for the hosted Compeller MCP server.
Compeller turns music into performance-ready visuals. Agents can discover styles and pricing, search for music, create and track Compels, start renders, retrieve finished videos, and register signed webhooks for completion events.
This repository contains public connector documentation and metadata only. The production Compeller application source code is not published here.
Remote MCP endpoint
https://compeller.ai/api/mcp
- Namespace:
ai.compeller/compel - Server:
compeller-mcp - Version:
0.5.0 - Transport: Streamable HTTP JSON-RPC over HTTPS
- Official MCP Registry: https://registry.modelcontextprotocol.io/v0.1/servers?search=ai.compeller%2Fcompel
- Smithery: https://smithery.ai/servers/info-nijd/compeller
Quick config
Most MCP clients that support remote Streamable HTTP servers can use:
{
"mcpServers": {
"compeller": {
"url": "https://compeller.ai/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_COMPELLER_API_TOKEN"
}
}
}
}
Details
- Repository
- github.com/compellerai/compeller-mcp
- Category
- Media & Entertainment
- Transport
- HTTP
- Auth
- Required
- Registry
- MCP registry, active
- Tools verified
- Nov 6, 2026