MCP Server

EditClips exposes an MCP (Model Context Protocol) server that lets AI agents process video and audio files using natural language. Connect Claude Desktop, Cursor, or any MCP-compatible client to create jobs, check status, and manage your balance — all through tool calls.

Endpoint

POST https://editclips.online/mcp

Uses Streamable HTTP transport (stateless). Authentication is the same Bearer API key used by the REST API (an X-API-Key header also works). Also listed on Smithery and in the official MCP registry as online.editclips/mcp.

Quick setup

Add EditClips to your MCP client config (e.g. Claude Desktop claude_desktop_config.json, Cursor, or .mcp.json):

{
  "mcpServers": {
    "editclips": {
      "type": "http",
      "url": "https://editclips.online/mcp",
      "headers": {
        "Authorization": "Bearer ec_live_YOUR_KEY"
      }
    }
  }
}

API keys need a paid plan (Lite or higher). Create one from your Developer dashboard under API Keys.

Available tools

The MCP server exposes 5 tools:

Tool Description
list_tools List all 27 video/audio processing tools with their options
create_job Create a processing job from URL inputs
get_job Check job status and get the download URL when complete
cancel_job Cancel a queued or processing job (a cancelled job costs nothing)
get_balance Check your current credit balance

create_job parameters

Parameter Type Description
tool string Tool slug from list_tools (e.g. "compress-video")
inputs string[] Public URLs to input files
options object Tool-specific options (optional)
webhook string HTTPS URL for completion notification (optional, Pro and Business plans)
durationMs number Input duration in ms, for credit estimation (optional)
width number Input width in px, for credit estimation (optional)
height number Input height in px, for credit estimation (optional)

Plans and credits

MCP follows the same rules as the REST API and the site: non-AI results are included in your plan, and AI results cost credits, charged once when the result is ready. create_job refuses an AI job your balance can't cover — pass durationMs, width and height so the estimate matches the result. If a finished result costs more than your balance, get_job returns an error saying what's needed instead of a download URL; top up and call it again. See Billing & Credits.

Example: manual requests

You can test the MCP endpoint directly with curl. First, initialize:

curl -X POST https://editclips.online/mcp \
  -H "Authorization: Bearer ec_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-03-26",
      "capabilities": {},
      "clientInfo": {"name": "my-app", "version": "1.0.0"}
    },
    "id": 1
  }'

Then discover available processing tools:

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "list_tools",
    "arguments": {}
  },
  "id": 2
}

Create a job:

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "create_job",
    "arguments": {
      "tool": "compress-video",
      "inputs": ["https://example.com/video.mp4"],
      "durationMs": 30000,
      "width": 1280,
      "height": 720
    }
  },
  "id": 3
}

Check job status:

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "get_job",
    "arguments": {
      "id": "JOB_ID_FROM_CREATE"
    }
  },
  "id": 4
}

Response format

Responses use Server-Sent Events (SSE) format:

event: message
data: {"result":{"content":[{"type":"text","text":"..."}]},"jsonrpc":"2.0","id":1}

Tool results are returned as JSON text in the content[0].text field. Parse this string to get the structured data.

Error handling

Tool errors return isError: true in the result with a descriptive message:

{"result":{"content":[{"type":"text","text":"Unknown tool 'foo'. Use list_tools to see available tools."}],"isError":true}}

Authentication errors return HTTP 401 before reaching the MCP layer, and going over the rate limit returns HTTP 429.

Notes

  • The server is stateless — each request creates a fresh session. No session management needed.
  • MCP and the REST API share the same API keys, plan and credit balance.
  • Rate limits apply per API key and are shared with the REST API: 100 requests a minute for a key made on Lite, 200 on Pro, 600 on Business.
  • File upload (presigned URLs) is only available via the REST API. MCP supports URL inputs only.