compellerai avatar

Compeller

compellerai/compeller-mcp

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 tools

Verified 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.

Parameters* required
mime_typestring
MIME type of the file
namestring
Filename for the upload
typestring
Media type: audio, image, video, or text
search_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.

Parameters* required
limitinteger
Max results to return (default 10, max 20)
query*string
Song, artist, or album search query
create_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.

Parameters* required
artist_contextstring
Additional creative context
aspect_ratiostring
Explicit aspect ratio override (takes precedence over target_platform).one of 16:9 · 9:16 · 1:1
stylestring
Visual style. Use one of the exact ids returned by list_styles (e.g. "Cinematic Realistic", "Anime / Manga"). Omit to use the account default.one of Cinematic Realistic · Photo Realistic · Cyberpunk · Anime / Manga · Film Noir · Watercolor Painting
target_platformstring
Target platform; sets the aspect ratio when aspect_ratio is omitted.one of tiktok · reels · shorts · instagram · square · youtube
titlestring
Optional compel title override
track_id*integer
Deezer track id returned by search_music
create_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.

Parameters* required
artist_contextstring
Additional creative context about the artist or song
aspect_ratiostring
Explicit aspect ratio override (takes precedence over target_platform).one of 16:9 · 9:16 · 1:1
primary_media_id*integer
ID of the uploaded audio media to use as the primary track
stylestring
Visual style. Use one of the exact ids returned by list_styles (e.g. "Cinematic Realistic", "Anime / Manga"). Omit to use the account default.one of Cinematic Realistic · Photo Realistic · Cyberpunk · Anime / Manga · Film Noir · Watercolor Painting
target_platformstring
Target platform; sets the aspect ratio when aspect_ratio is omitted.one of tiktok · reels · shorts · instagram · square · youtube
title*string
Title for the compel
get_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.

Parameters* required
compel_id*integer
The compel ID to check
start_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.

Parameters* required
compel_id*integer
The READY compel ID to render
list_compelsList all Compeller generation jobs for the authenticated account, newest first.2 params

List all Compeller generation jobs for the authenticated account, newest first.

Parameters* required
limitinteger
Max results to return (default 20, max 100)
offsetinteger
Pagination offset
search_compelsSearch Compeller generation jobs by title for the authenticated account.2 params

Search Compeller generation jobs by title for the authenticated account.

Parameters* required
limitinteger
Max results to return (default 20)
query*string
Search query to match against compel titles
list_renderingsList all video renderings for a specific compel.1 params

List all video renderings for a specific compel.

Parameters* required
compel_id*integer
The compel ID to list renderings for
get_renderingGet details of a specific video rendering.1 params

Get details of a specific video rendering.

Parameters* required
rendering_id*integer
The rendering ID to retrieve
search_mediaSearch and list uploaded media files for the authenticated account.3 params

Search and list uploaded media files for the authenticated account.

Parameters* required
limitinteger
Max results to return (default 20, max 100)
offsetinteger
Pagination offset
typestring
Filter by media type: audio, image, video, or text
register_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...

Parameters* required
eventsarray
Event types to subscribe to. Omit or pass ["*"] for all. Known types: compel.ready (renderable - call start_render), compel.completed, compel.failed.
url*string
HTTPS URL to deliver events to (max 2048 chars)
list_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.

Parameters* required
webhook_id*integer
The webhook id returned by register_webhook or list_webhooks
test_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...

Parameters* required
webhook_id*integer
The webhook id to test. Must belong to the authenticated account.
update_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...

Parameters* required
activeboolean
Toggle delivery on/off without losing the registration
eventsarray
Replacement event types. Omit to leave unchanged. ["*"] or an empty filtered list resets to wildcard.
urlstring
New HTTPS URL (max 2048 chars)
webhook_id*integer
The webhook id to update
rotate_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.

Parameters* required
webhook_id*integer
The webhook id to rotate the secret on
cancel_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...

Parameters* required
compel_id*integer
The compel ID to cancel
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. 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...

Parameters* required
effect_idstring
COM-497 starter effect id from list_lighting_effects, e.g. "gobo-cycle"
launch_contractobject
Advanced: an explicit launch_contract to launch instead of resolving one from effect_id.
stage_idinteger
The stage to launch onto (must belong to the authenticated account)
variablesobject
Optional variable overrides (name -> value), e.g. {"speed": 0.5}. Defaults come from the effect.
list_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.

Parameters* required
stage_idinteger
Optional stage id to scope the listing to (must belong to the authenticated account)
get_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.

Parameters* required
launch_id*string
The launch_id returned by launch_lighting_cue or list_lighting_cues
stop_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.

Parameters* required
launch_id*string
The launch_id of the cue to stop
set_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.

Parameters* required
launch_id*string
The launch_id of the cue to update
variables*object
Variables to set (name -> value), e.g. {"speed": 0.75}
ack_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.

Parameters* required
accepted*boolean
true when REACT/BAE accepted the cue for execution
executor_idstring
Stable REACT/BAE executor instance id
launch_id*string
The launch_id to acknowledge
observed_atstring
Executor observation timestamp
rejected_reasonstring
Required by convention when accepted=false
report_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.

Parameters* required
active_variablesobject
Variables actually being sampled by REACT/BAE
capability_missesarray
errorstring
executor_idstring
last_frame_atstring
launch_id*string
The launch_id to report
skipped_bindingsarray
statusstring
ACTIVE, STOP_REQUESTED, or STOPPED

Sponsors

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

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"
      }
    }
  }
}

View the full README on GitHub

Details

Repository
github.com/compellerai/compeller-mcp
Category
Media & Entertainment
Transport
HTTP
Auth
Required
Registry
MCP registry, active
Tools verified
Nov 6, 2026

Related Media & Entertainment MCP servers

View all
1arijit-gogoi avatarMpv Mcp Serverarijit-gogoi/mpv-mcp-serverControl mpv media player — playback, playlists, YouTube streaming, and downloads.1stars
2boska avatarVoxboska/voxNative macOS MCP server for voice I/O — Swift binary, SFSpeechRecognizer + ElevenLabs TTS.1stars
3deapi-ai avatardeAPI MCP Serverdeapi-ai/mcp-server-deapi39 AI tools: transcription, video description, image & video generation, TTS, music, OCR via deAPI1stars
4elibarnett avatarKie Mcpelibarnett/kie-mcpMCP for kie.ai: 45+ image, 70+ video, 20+ audio models with model intelligence1stars
5mkturner74 avatarBotversemkturner74/botverse-mcpTranscode/conform/splice video, convert docs, transcribe audio for AI agents. Free $1 trial.1stars
6rsmdt avatarMultimodalrsmdt/multimodal-mcpMulti-provider media generation — images, video, audio, and transcription via a unified interface1stars