AI clips from long videos: analyze, clip, render and publish via the CutPro API.
One address for any MCP client. You sign in once, after adding it.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Odel could not list its tools without signing in.
A Model Context Protocol (MCP) server that turns long videos into viral clips with AI. It exposes the full CutPro API as tools, so an LLM can run the whole flow: analyze a video, clip the best moments, render the final MP4, and publish to TikTok, Instagram and YouTube.
Most clients use the same JSON. Add your API key under env:
{
"mcpServers": {
"cutpro": {
"command": "npx",
"args": ["-y", "@cutpro/mcp@latest"],
"env": { "CUTPRO_API_KEY": "<your-api-key>" }
}
}
}
After installing via a button, add your CUTPRO_API_KEY to the server's env.
claude mcp add cutpro --env CUTPRO_API_KEY=<your-api-key> -- npx -y @cutpro/mcp@latest
Add to claude_desktop_config.json (Settings, Developer, Edit Config):
{
"mcpServers": {
"cutpro": {
"command": "npx",
"args": ["-y", "@cutpro/mcp@latest"],
"env": { "CUTPRO_API_KEY": "<your-api-key>" }
}
}
}
Add the standard config above to the client's MCP settings (mcp.json / mcpServers).
Open the MCP Servers panel, choose Configure, and add the standard config above.
gemini mcp add cutpro npx -y @cutpro/mcp@latest -e CUTPRO_API_KEY=<your-api-key>
Add to ~/.codex/config.toml:
[mcp_servers.cutpro]
command = "npx"
args = ["-y", "@cutpro/mcp@latest"]
env = { "CUTPRO_API_KEY" = "<your-api-key>" }
Use the hosted server. Add a custom connector pointing to:
https://mcp.cut.pro
You sign in to cut.pro, pick the workspace and approve the connection, so no API key and no local setup are needed. Any CutPro plan can connect; jobs use the workspace's credits. Disconnect at any time in Settings, under Connected apps.
The plugin bundles the hosted server with a skill that teaches Claude the CutPro workflows:
claude plugin marketplace add getcutpro/mcp
claude plugin install cutpro@cutpro
The server is configured with environment variables.
| Variable | Description | Required |
|---|---|---|
CUTPRO_API_KEY | Your CutPro API key. | Yes (stdio) |
CUTPRO_WORKSPACE_ID | Selects the workspace for multi-workspace keys. | No |
CUTPRO_API_URL | Override the API base URL. Defaults to https://api.cut.pro/api/v1. | No |
| Variable | Description |
|---|---|
MCP_TRANSPORT=http / PORT | Serve Streamable HTTP at the root instead of stdio. |
MCP_OAUTH=1 | Enable the full OAuth 2.1 layer (discovery, DCR, PKCE) for browser clients. |
MCP_PUBLIC_URL | Public endpoint, e.g. https://mcp.cut.pro. Its origin becomes the OAuth issuer. |
MCP_REDIS_URL | Back OAuth state with Redis so it survives restarts and scales across instances. |
CUTPRO_APP_URL | Where the consent screen lives. Defaults to https://cut.pro. |
OPENAI_APPS_CHALLENGE | Domain verification token from the OpenAI plugin portal, served at /.well-known/openai-apps-challenge. |
MCP_TRANSPORT=http PORT=8787 MCP_OAUTH=1 \
MCP_PUBLIC_URL=https://mcp.cut.pro MCP_REDIS_URL=redis://127.0.0.1:6379 \
npx -y @cutpro/mcp@latest
In OAuth mode the user signs in on cut.pro and approves the app there; cut.pro creates a key for that app and workspace, and the access token maps server side to it. Clients can register dynamically (DCR) or present a Client ID Metadata Document (CIMD). Without MCP_REDIS_URL, an in-memory store is used (single instance, state lost on restart).
The tools are built from the API's own OpenAPI spec (/api/v1/openapi.json), so they always match the API reference: one tool per endpoint, named after its operationId in snake case (analyzeVideo is analyze_video, createSubmission is create_submission), with the endpoint's own parameters, descriptions and responses. A new endpoint becomes a tool within ten minutes of reaching the API, with no new release of this package.
The usual flow: analyze_video, create_submission, get_submission until it completes, list_clips, render_clip, get_render and download_render.
Annotations come from the spec too: GET is read-only, PUT, PATCH and DELETE are destructive, and a route declares more in its x-mcp extension (spending credits, publishing to a social network, reaching an arbitrary public URL). Routes that need a file uploaded from disk are listed only by the local (stdio) server, since a chat client cannot send bytes.
io.github.getcutpro/cutproMIT