Compeller
REMOTE · COMPELLER.AI · SCANNED SEP 24
Create and track AI music videos and audio-reactive visuals from songs.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (delete_webhook). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability80
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 2432 tokens (~81/item across 30 items; 30 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage97
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 92% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
How do I install the Compeller MCP server?
Compeller is a hosted endpoint at https://compeller.ai/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · compeller.ai
claude mcp add --transport http ai-compeller-compel 'https://compeller.ai/api/mcp'
{
"mcpServers": {
"ai-compeller-compel": {
"url": "https://compeller.ai/api/mcp"
}
}
} {
"servers": {
"ai-compeller-compel": {
"type": "http",
"url": "https://compeller.ai/api/mcp"
}
}
} [mcp_servers.ai-compeller-compel] url = "https://compeller.ai/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ai-compeller-compel": {
"type": "remote",
"url": "https://compeller.ai/api/mcp",
"enabled": true
}
}
} openclaw mcp add ai-compeller-compel --url 'https://compeller.ai/api/mcp' --transport streamable-http
mcp_servers:
ai-compeller-compel:
url: "https://compeller.ai/api/mcp" {
"McpServers": {
"ai-compeller-compel": {
"Transport": "http",
"Url": "https://compeller.ai/api/mcp"
}
}
} assistant mcp add ai-compeller-compel -t streamable-http -u 'https://compeller.ai/api/mcp'
{
"mcpServers": {
"ai-compeller-compel": {
"type": "http",
"url": "https://compeller.ai/api/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 26 Aug 26 78
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 0
- Stability: 0.97 → pass security
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 31 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 0
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 24 Sept 2026 · Probed https://compeller.ai/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.compeller.ai | CN=YE1,O=Let's Encrypt,C=US | 28 Jul 2026 | 26 Oct 2026 | ECDSA 256 | ECDSA-SHA384 | 6118174ff6fb010db4e1aca660002b548c1 |
| SANs: *.compeller.ai, compeller.ai | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of compeller.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 3799 | 8 | Verified |
| compeller.ai. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000 |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | geolocation=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://compeller.ai/api/mcp | Verified | 200 | |
| http (plaintext) | http://compeller.ai/api/mcp | HTTPS enforced | 301 | https://compeller.ai/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
ack_lighting_cue ~114
REACT/BAE acknowledgement for a launch_id. Idempotently records whether the executor accepted or rejected the cue and which executor observed it.
| Name | Type | Req | Description |
|---|---|---|---|
| accepted | boolean | yes | true when REACT/BAE accepted the cue for execution |
| executor_id | string | – | Stable REACT/BAE executor instance id |
| launch_id | string | yes | The launch_id to acknowledge |
| observed_at | string | – | Executor observation timestamp |
| rejected_reason | string | – | Required by convention when accepted=false |
No output schema declared.
No examples provided.
cancel_compel ~84
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.
| Name | Type | Req | Description |
|---|---|---|---|
| compel_id | integer | yes | The compel ID to cancel |
No output schema declared.
No examples provided.
create_compel ~168
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.
| Name | Type | Req | Description |
|---|---|---|---|
| artist_context | string | – | Additional creative context about the artist or song |
| aspect_ratio | string | – | Explicit aspect ratio override (takes precedence over target_platform). |
| primary_media_id | integer | yes | ID of the uploaded audio media to use as the primary track |
| style | string | – | Visual style. Use one of the exact ids returned by list_styles (e.g. "Cinematic Realistic", "Anime / Manga"). Omit to use the account default. |
| target_platform | string | – | Target platform; sets the aspect ratio when aspect_ratio is omitted. |
| title | string | yes | Title for the compel |
No output schema declared.
No examples provided.
create_compel_from_music ~158
Create a compel from a selected Deezer preview track. If the user provides an audio file instead, upload that file and use create_compel.
| Name | Type | Req | Description |
|---|---|---|---|
| artist_context | string | – | Additional creative context |
| aspect_ratio | string | – | Explicit aspect ratio override (takes precedence over target_platform). |
| style | string | – | Visual style. Use one of the exact ids returned by list_styles (e.g. "Cinematic Realistic", "Anime / Manga"). Omit to use the account default. |
| target_platform | string | – | Target platform; sets the aspect ratio when aspect_ratio is omitted. |
| title | string | – | Optional compel title override |
| track_id | integer | yes | Deezer track id returned by search_music |
No output schema declared.
No examples provided.
delete_webhook ~44
Delete a webhook endpoint by id. Removes the registration and stops future deliveries.
| Name | Type | Req | Description |
|---|---|---|---|
| webhook_id | integer | yes | The webhook id returned by register_webhook or list_webhooks |
No output schema declared.
No examples provided.
get_account_credits ~56
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_capabilities ~22
Get Compeller platform capabilities, supported features, and API version.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_compel ~38
Get the current status, progress, and details of a Compeller generation job.
| Name | Type | Req | Description |
|---|---|---|---|
| compel_id | integer | yes | The compel ID to check |
No output schema declared.
No examples provided.
get_lighting_cue ~58
Fetch a single live lighting cue by its launch_id, including resolved variables, launch_contract, and REACT feedback.
| Name | Type | Req | Description |
|---|---|---|---|
| launch_id | string | yes | The launch_id returned by launch_lighting_cue or list_lighting_cues |
No output schema declared.
No examples provided.
get_pricing ~18
Get current Compeller subscription plans and pricing.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_rendering ~30
Get details of a specific video rendering.
| Name | Type | Req | Description |
|---|---|---|---|
| rendering_id | integer | yes | The rendering ID to retrieve |
No output schema declared.
No examples provided.
launch_lighting_cue ~235
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.
| Name | Type | Req | Description |
|---|---|---|---|
| effect_id | string | – | COM-497 starter effect id from list_lighting_effects, e.g. "gobo-cycle" |
| launch_contract | object | – | Advanced: an explicit launch_contract to launch instead of resolving one from effect_id. |
| stage_id | integer | – | The stage to launch onto (must belong to the authenticated account) |
| variables | object | – | Optional variable overrides (name -> value), e.g. {"speed": 0.5}. Defaults come from the effect. |
No output schema declared.
No examples provided.
list_compels ~51
List all Compeller generation jobs for the authenticated account, newest first.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max results to return (default 20, max 100) |
| offset | integer | – | Pagination offset |
No output schema declared.
No examples provided.
list_lighting_cues ~72
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.
| Name | Type | Req | Description |
|---|---|---|---|
| stage_id | integer | – | Optional stage id to scope the listing to (must belong to the authenticated account) |
No output schema declared.
No examples provided.
list_lighting_effects ~75
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_renderings ~35
List all video renderings for a specific compel.
| Name | Type | Req | Description |
|---|---|---|---|
| compel_id | integer | yes | The compel ID to list renderings for |
No output schema declared.
No examples provided.
list_styles ~18
List available visual styles for Compeller video generation.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_webhooks ~27
List all webhook endpoints registered for the authenticated account. Secrets are never returned by this tool.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
register_webhook ~190
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.
| Name | Type | Req | Description |
|---|---|---|---|
| events | array | – | Event types to subscribe to. Omit or pass ["*"] for all. Known types: compel.ready (renderable - call start_render), compel.completed, compel.failed. |
| url | string | yes | HTTPS URL to deliver events to (max 2048 chars) |
No output schema declared.
No examples provided.
report_lighting_cue ~127
REACT/BAE report-back for cue status, active variables, skipped bindings, capability misses, last_frame_at, and errors.
| Name | Type | Req | Description |
|---|---|---|---|
| active_variables | object | – | Variables actually being sampled by REACT/BAE |
| capability_misses | array | – | – |
| error | string | – | – |
| executor_id | string | – | – |
| last_frame_at | string | – | – |
| launch_id | string | yes | The launch_id to report |
| skipped_bindings | array | – | – |
| status | string | – | ACTIVE, STOP_REQUESTED, or STOPPED |
No output schema declared.
No examples provided.
rotate_webhook_secret ~76
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.
| Name | Type | Req | Description |
|---|---|---|---|
| webhook_id | integer | yes | The webhook id to rotate the secret on |
No output schema declared.
No examples provided.
search_compels ~50
Search Compeller generation jobs by title for the authenticated account.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max results to return (default 20) |
| query | string | yes | Search query to match against compel titles |
No output schema declared.
No examples provided.
search_media ~67
Search and list uploaded media files for the authenticated account.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max results to return (default 20, max 100) |
| offset | integer | – | Pagination offset |
| type | string | – | Filter by media type: audio, image, video, or text |
No output schema declared.
No examples provided.
search_music ~75
Search Deezer preview tracks by song, artist, or album. Use this when the user provides a song string but no MP3/WAV/FLAC file.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max results to return (default 10, max 20) |
| query | string | yes | Song, artist, or album search query |
No output schema declared.
No examples provided.
set_lighting_cue_variables ~91
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.
| Name | Type | Req | Description |
|---|---|---|---|
| launch_id | string | yes | The launch_id of the cue to update |
| variables | object | yes | Variables to set (name -> value), e.g. {"speed": 0.75} |
No output schema declared.
No examples provided.
start_render ~45
Start rendering a READY compel with default configuration so an agent can continue to final MP4 without opening the browser UI.
| Name | Type | Req | Description |
|---|---|---|---|
| compel_id | integer | yes | The READY compel ID to render |
No output schema declared.
No examples provided.
stop_lighting_cue ~57
Stop a live cue by its launch_id. Idempotent - the cue is marked stop-requested so REACT drops it on its next refresh.
| Name | Type | Req | Description |
|---|---|---|---|
| launch_id | string | yes | The launch_id of the cue to stop |
No output schema declared.
No examples provided.
test_webhook_delivery ~126
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.
| Name | Type | Req | Description |
|---|---|---|---|
| webhook_id | integer | yes | The webhook id to test. Must belong to the authenticated account. |
No output schema declared.
No examples provided.
update_webhook ~149
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).
| Name | Type | Req | Description |
|---|---|---|---|
| active | boolean | – | Toggle delivery on/off without losing the registration |
| events | array | – | Replacement event types. Omit to leave unchanged. ["*"] or an empty filtered list resets to wildcard. |
| url | string | – | New HTTPS URL (max 2048 chars) |
| webhook_id | integer | yes | The webhook id to update |
No output schema declared.
No examples provided.
upload_media ~76
Get upload instructions for media files (audio, images, video). Returns the upload URL and required headers. Requires API token authentication.
| Name | Type | Req | Description |
|---|---|---|---|
| mime_type | string | – | MIME type of the file |
| name | string | – | Filename for the upload |
| type | string | – | Media type: audio, image, video, or text |
No output schema declared.
No examples provided.
What is the Compeller MCP server?
Compeller is an MCP server listed in the public MCP registry as ai.compeller/compel. Create and track AI music videos and audio-reactive visuals from songs. This page covers its hosted endpoint (https://compeller.ai/api/mcp).
Is the Compeller MCP server safe to use?
Compeller scores 78 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Compeller MCP server expose?
Compeller exposes 30 tools: get_capabilities, get_pricing, list_styles, upload_media, search_music, and 25 more. Their descriptions and schemas cost roughly 2,432 tokens of context every time the server is loaded.
Does the Compeller MCP server require authentication?
No. We connected to Compeller without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Compeller MCP server still maintained?
Compeller is still listed as active in the MCP registry. We last reached this channel on 24 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.