Generate videos, images, music, and 3D assets, clip long videos into shorts, and post directly to social media platforms via chat.
Also known as getcutpro/mcp, mcp, @cutpro/mcp
- Stars
- 4
- Tools
- 108
- Downloads, 30 days
- 1,922
- Latest version
- 3.0.3
- Last commit
- Nov 6, 2026
- License
- MIT
What is CutPro MCP?
CutPro generates videos, images, music, and 3D assets, clip long videos into shorts, and post directly to social media platforms via chat. It exposes 108 tools, such as generate_video, product_ad, make_music.
Summary generated from the project's README
About CutPro MCP server
Content creators and social media managers can generate high-quality multimedia assets directly through their chat interface. This server provides access to advanced AI models like Veo, Kling, Suno, and GPT Image to produce videos, music, 3D assets, and talking avatars. It also enables users to transform long-form videos or live streams into captioned short-form clips for social media distribution.
Users can connect via web clients like Claude.ai or ChatGPT by adding a custom connector, which requires no API key. For local development environments such as Claude Code, Cursor, or VS Code, the server is installed via npx and requires a CUTPRO_API_KEY. The system includes a safety feature where every paid request displays the credit cost and waits for user confirmation before proceeding.
Beyond generation, the server manages the entire publishing workflow. It allows for direct posting to platforms including TikTok, Instagram, YouTube, and LinkedIn using their official APIs. It also includes transcription tools to convert audio into SRT, VTT, text, or JSON formats.
What you can do with it
- 1Generate social media advertisementsCreate a vertical video advertisement for a product using specific AI video models.
- 2Repurpose long-form contentTurn a lengthy podcast recording into several short, captioned videos.
- 3Animate static portraitsMake a person in a photograph speak a specific script using a natural voice.
- 4Automate social media publishingSchedule and post generated content across multiple social media accounts.
Written from the project's README. Every use case is checked against a quote from it.
How to install CutPro MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall CutPro MCP in Claude Code
$ claude mcp add --env 'CUTPRO_API_KEY=<YOUR_CUTPRO_API_KEY>' mcp -- npx -y @cutpro/mcpInstall CutPro MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@cutpro/mcp"
],
"env": {
"CUTPRO_API_KEY": "<YOUR_CUTPRO_API_KEY>"
}
}
}
}Install CutPro MCP in VS Code
.vscode/mcp.json
{
"servers": {
"mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cutpro/mcp"
],
"env": {
"CUTPRO_API_KEY": "<YOUR_CUTPRO_API_KEY>"
}
}
}
}Install CutPro MCP in VS Code CLI
$ code --add-mcp '{"name":"mcp","type":"stdio","command":"npx","args":["-y","@cutpro/mcp"],"env":{"CUTPRO_API_KEY":"<YOUR_CUTPRO_API_KEY>"}}'Install CutPro MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@cutpro/mcp"
],
"env": {
"CUTPRO_API_KEY": "<YOUR_CUTPRO_API_KEY>"
}
}
}
}Install CutPro MCP in Codex
$ codex mcp add mcp --env 'CUTPRO_API_KEY=<YOUR_CUTPRO_API_KEY>' -- npx -y @cutpro/mcpInstall CutPro MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.mcp] command = "npx" args = ["-y", "@cutpro/mcp"] [mcp_servers.mcp.env] CUTPRO_API_KEY = "<YOUR_CUTPRO_API_KEY>"
Install CutPro MCP in Gemini CLI
$ gemini mcp add -s user -e 'CUTPRO_API_KEY=<YOUR_CUTPRO_API_KEY>' mcp npx -- -y @cutpro/mcpInstall CutPro MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@cutpro/mcp"
],
"env": {
"CUTPRO_API_KEY": "<YOUR_CUTPRO_API_KEY>"
}
}
}
}CutPro MCP tools 108
Detected from the READMEgenerate_videoproduct_admake_musicvoiceovertalking_avataredit_imagemake_3dcreate_personaclip_and_scheduletranscribeget_workspaceget_balance
| generate_video | — | |
| product_ad | — | |
| make_music | — | |
| voiceover | — | |
| talking_avatar | — | |
| edit_image | — | |
| make_3d | — | |
| create_persona | — | |
| clip_and_schedule | — | |
| transcribe | — | |
| get_workspace | — | |
| get_balance | — |
Show all 108 toolsShow fewer tools
get_balance_historylist_credit_offerscreate_video_uploadcomplete_video_multipart_uploadabort_video_multipart_uploadcomplete_video_uploadlist_videosdelete_videocreate_submissionanalyze_videolist_submissionsget_submissiondelete_submissionretry_submissionapply_templatelist_clipsdelete_clipdownload_clip_subtitlesrender_cliplist_monitorscreate_monitorget_monitorupdate_monitordelete_monitorstart_monitorstop_monitorlist_broadcastslist_broadcast_clipsapply_broadcast_templaterender_broadcast_cliplist_templatesget_render_limitscreate_renderlist_renderscreate_bulk_downloadget_bulk_downloadget_renderdelete_renderdownload_renderlist_connectionsget_connection_linkget_connectioncreate_postlist_postsget_postcancel_postupdate_postpublish_postretry_post_itemdelete_post_itemcreate_transcription_uploadcreate_transcriptionlist_transcriptionsget_transcriptiondelete_transcriptionget_transcription_cuesdownload_transcriptionget_persona_cataloglist_persona_presetscreate_persona_from_presetfavorite_persona_presetlist_personasupload_persona_facequote_persona_swapcreate_persona_source_uploadcomplete_persona_source_uploadget_personadelete_personaregenerate_personarestore_persona_versionrate_persona_versionrate_persona_videosave_personacreate_persona_videolist_persona_videosget_persona_videoread_persona_shot_productupload_persona_shot_photocreate_persona_shotlist_persona_shotsget_persona_shotlist_modelslist_featured_modelsget_generation_webhook_secretupload_generation_imageupload_generation_mediaquote_generationcreate_generationlist_generationsget_generationdelete_generationopen_generation_editimprove_generation_promptrate_generationrequest_generation_refunddownload_generation
| get_balance_history | — | |
| list_credit_offers | — | |
| create_video_upload | — | |
| complete_video_multipart_upload | — | |
| abort_video_multipart_upload | — | |
| complete_video_upload | — | |
| list_videos | — | |
| delete_video | — | |
| create_submission | — | |
| analyze_video | — | |
| list_submissions | — | |
| get_submission | — | |
| delete_submission | — | |
| retry_submission | — | |
| apply_template | — | |
| list_clips | — | |
| delete_clip | — | |
| download_clip_subtitles | — | |
| render_clip | — | |
| list_monitors | — | |
| create_monitor | — | |
| get_monitor | — | |
| update_monitor | — | |
| delete_monitor | — | |
| start_monitor | — | |
| stop_monitor | — | |
| list_broadcasts | — | |
| list_broadcast_clips | — | |
| apply_broadcast_template | — | |
| render_broadcast_clip | — | |
| list_templates | — | |
| get_render_limits | — | |
| create_render | — | |
| list_renders | — | |
| create_bulk_download | — | |
| get_bulk_download | — | |
| get_render | — | |
| delete_render | — | |
| download_render | — | |
| list_connections | — | |
| get_connection_link | — | |
| get_connection | — | |
| create_post | — | |
| list_posts | — | |
| get_post | — | |
| cancel_post | — | |
| update_post | — | |
| publish_post | — | |
| retry_post_item | — | |
| delete_post_item | — | |
| create_transcription_upload | — | |
| create_transcription | — | |
| list_transcriptions | — | |
| get_transcription | — | |
| delete_transcription | — | |
| get_transcription_cues | — | |
| download_transcription | — | |
| get_persona_catalog | — | |
| list_persona_presets | — | |
| create_persona_from_preset | — | |
| favorite_persona_preset | — | |
| list_personas | — | |
| upload_persona_face | — | |
| quote_persona_swap | — | |
| create_persona_source_upload | — | |
| complete_persona_source_upload | — | |
| get_persona | — | |
| delete_persona | — | |
| regenerate_persona | — | |
| restore_persona_version | — | |
| rate_persona_version | — | |
| rate_persona_video | — | |
| save_persona | — | |
| create_persona_video | — | |
| list_persona_videos | — | |
| get_persona_video | — | |
| read_persona_shot_product | — | |
| upload_persona_shot_photo | — | |
| create_persona_shot | — | |
| list_persona_shots | — | |
| get_persona_shot | — | |
| list_models | — | |
| list_featured_models | — | |
| get_generation_webhook_secret | — | |
| upload_generation_image | — | |
| upload_generation_media | — | |
| quote_generation | — | |
| create_generation | — | |
| list_generations | — | |
| get_generation | — | |
| delete_generation | — | |
| open_generation_edit | — | |
| improve_generation_prompt | — | |
| rate_generation | — | |
| request_generation_refund | — | |
| download_generation | — |
Configuration
CUTPRO_API_KEYRequiredSecretYour CutPro API key. Generate one at https://cut.pro/studio/me/api-keys.
CUTPRO_WORKSPACE_IDOnly needed for multi-workspace keys.
MCP_TRANSPORT
| Name | Description | |
|---|---|---|
| CUTPRO_API_KEY | Your CutPro API key. Generate one at https://cut.pro/studio/me/api-keys. | RequiredSecret |
| CUTPRO_WORKSPACE_ID | Only needed for multi-workspace keys. | |
| MCP_TRANSPORT | — |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSPass
- Destructive tools are labelledNot checked
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubCutPro MCP
Make videos, images, music and voices with the best AI models, clip long videos into shorts and post them everywhere. All from your chat.
Quick start · Examples · Tools · Docs
What it does
- 🎬 Generate videos, images, music, voices, talking avatars and 3D with Veo, Kling, Seedance, Nano Banana, GPT Image, Suno and more
- ✂️ Clip long videos and live streams into captioned shorts
- 📲 Post to TikTok, Instagram, YouTube, Facebook, Threads, LinkedIn, Pinterest and Bluesky, through each official API
- 🧑 Create AI characters that look the same in every photo and video
- 📝 Transcribe any audio or video into SRT, VTT, text or JSON
Every paid call shows the exact price first and waits for your yes.
Quick start
ChatGPT, Claude.ai and other web clients: add a custom connector with this URL and sign in. No API key needed.
https://mcp.cut.pro
Claude Code:
claude mcp add cutpro --env CUTPRO_API_KEY=<your-api-key> -- npx -y @cutpro/mcp@latest
Get a key at cut.pro/studio/me/api-keys. One click for other clients, then add the key to the server's env:
Most clients take this JSON (Claude Desktop: Settings, Developer, Edit Config):
{
"mcpServers": {
"cutpro": {
"command": "npx",
"args": ["-y", "@cutpro/mcp@latest"],
"env": { "CUTPRO_API_KEY": "<your-api-key>" }
}
}
}
Gemini CLI:
gemini mcp add cutpro npx -y @cutpro/mcp@latest -e CUTPRO_API_KEY=<your-api-key>
Codex, in ~/.codex/config.toml:
[mcp_servers.cutpro]
command = "npx"
args = ["-y", "@cutpro/mcp@latest"]
env = { "CUTPRO_API_KEY" = "<your-api-key>" }
Claude Code plugin, with a skill that teaches the CutPro workflows:
claude plugin marketplace add getcutpro/mcp
claude plugin install cutpro@cutpro
Try asking
Make a 9:16 ad of my sneakers with Veo and schedule it on TikTok for Friday 6 pm
Clip yesterday's podcast into 5 shorts with captions
Make this photo of me say the script below in Spanish
Any language works. Prefer code? examples/ has the same flows as plain Node.js scripts.
Tools
One tool per CutPro API endpoint, built from the live spec: a new endpoint becomes a tool within ten minutes, with no release. Clients with MCP Apps show results in an inline player.
99 tools and 10 prompts, generated from the live API spec and the server.
Prompts
Ready-made requests your client offers as shortcuts (the / menu in Claude).
| Prompt | What it does |
|---|---|
generate_video |
Turn an idea into a video with Veo, Kling, Seedance, Wan or any other model. |
product_ad |
An ad image of your product, animated into a vertical video ready to post. |
make_music |
A song with lyrics, or an instrumental for a video, with Suno, Eleven Music, MiniMax and more. |
voiceover |
A natural voice reading your script, in any language, ready to put in a video. |
talking_avatar |
A person in a photo speaking your script with a natural voice, in any language. |
edit_image |
Upscale, remove the background, erase objects or change anything in a photo. |
make_3d |
A 3D model (GLB) from a photo or a description, for games, AR or product pages. |
create_persona |
A realistic person that stays the same in every photo and video. |
clip_and_schedule |
The best moments of a long video, rendered and scheduled one per day. |
transcribe |
Timed captions of a video or audio, plus a short summary. |
Account: workspace
| Tool | What it does | Notes |
|---|---|---|
get_workspace |
Get current workspace |
Account: credits
| Tool | What it does | Notes |
|---|---|---|
get_balance |
Get balance | |
get_balance_history |
Get credit history | |
list_credit_offers |
List plans and credit packs |
Clipping: source videos
| Tool | What it does | Notes |
|---|---|---|
create_video_upload |
Start an upload | local server only |
complete_video_multipart_upload |
Finalize a multipart upload | local server only |
abort_video_multipart_upload |
Discard a multipart upload | local server only |
complete_video_upload |
Complete an upload | local server only |
list_videos |
List videos | |
delete_video |
Delete a video |
Clipping: clip a video
| Tool | What it does | Notes |
|---|---|---|
create_submission |
Submit a video for clipping | |
analyze_video |
Analyze a video | |
list_submissions |
List submissions | |
get_submission |
Get submission | |
delete_submission |
Delete submission | |
retry_submission |
Retry a failed submission |
Clipping: clips
| Tool | What it does | Notes |
|---|---|---|
apply_template |
Apply template to clips | |
list_clips |
List generated clips | opens the CutPro player |
delete_clip |
Delete a clip | |
download_clip_subtitles |
Download a clip's captions | |
render_clip |
Render a clip | opens the CutPro player |
Live clipping: monitored channels
| Tool | What it does | Notes |
|---|---|---|
list_monitors |
List monitored channels | |
create_monitor |
Monitor a channel | |
get_monitor |
Get a monitored channel | |
update_monitor |
Update a monitor | |
delete_monitor |
Stop watching a channel | |
start_monitor |
Start monitoring | |
stop_monitor |
Stop monitoring | |
list_broadcasts |
List broadcasts of a live monitor | |
list_broadcast_clips |
List clips of a broadcast | |
apply_broadcast_template |
Apply template to broadcast clips | |
render_broadcast_clip |
Render a broadcast clip |
Editing: templates
| Tool | What it does | Notes |
|---|---|---|
list_templates |
List templates |
Editing: export to MP4
| Tool | What it does | Notes |
|---|---|---|
get_render_limits |
Get render quota | |
create_render |
Render an edit | |
list_renders |
List renders | |
create_bulk_download |
Start a bulk download | |
get_bulk_download |
Get bulk download status | |
get_render |
Get render status | opens the CutPro player |
delete_render |
Cancel or delete a render | |
download_render |
Get render download URL | opens the CutPro player |
Posting: connected accounts
| Tool | What it does | Notes |
|---|---|---|
list_connections |
List connections | |
get_connection_link |
Get the link to connect an account | |
get_connection |
Get a connection |
Posting: social media posts
| Tool | What it does | Notes |
|---|---|---|
create_post |
Create a post | |
list_posts |
List posts | |
get_post |
Get a post | |
cancel_post |
Cancel a post | |
update_post |
Update a post | |
publish_post |
Trigger publish | |
retry_post_item |
Retry a failed item | |
delete_post_item |
Delete a post item |
Transcription
| Tool | What it does | Notes |
|---|---|---|
create_transcription_upload |
Start an upload | local server only |
create_transcription |
Transcribe a media file | |
list_transcriptions |
List transcriptions | |
get_transcription |
Get transcription status | |
delete_transcription |
Delete a transcription | |
get_transcription_cues |
Get the transcript as JSON | |
download_transcription |
Download the transcript as a subtitle file |
AI characters
| Tool | What it does | Notes |
|---|---|---|
get_persona_catalog |
Get traits, prices and limits | |
list_persona_presets |
List ready-made characters | |
create_persona_from_preset |
Create a persona from a ready-made character | opens the CutPro player |
favorite_persona_preset |
Star a ready-made character | |
list_personas |
List personas | opens the CutPro player |
create_persona |
Create a persona | opens the CutPro player |
upload_persona_face |
Upload a reference photo | local server only |
quote_persona_swap |
Price a swap video | |
create_persona_source_upload |
Upload a source video | local server only |
complete_persona_source_upload |
Complete a source video upload | local server only |
get_persona |
Get a persona | opens the CutPro player |
delete_persona |
Delete a persona | |
regenerate_persona |
Regenerate or edit the persona photo | opens the CutPro player |
restore_persona_version |
Restore a persona version | |
rate_persona_version |
Rate a persona photo | |
rate_persona_video |
Rate a persona video | |
save_persona |
Save or rename a persona | |
create_persona_video |
Create a persona video | spends credits, asks first, opens the CutPro player |
list_persona_videos |
List a persona's videos | opens the CutPro player |
get_persona_video |
Get a persona video | opens the CutPro player |
read_persona_shot_product |
Read a product from its page link | |
upload_persona_shot_photo |
Upload a product photo | local server only |
create_persona_shot |
Create a persona photo | spends credits, asks first |
list_persona_shots |
List a persona's photos | |
get_persona_shot |
Get a persona photo |
Generate with AI: models
| Tool | What it does | Notes |
|---|---|---|
list_models |
List every AI model | |
list_featured_models |
List the models worth starting with |
Generate with AI: images, videos, sound and 3D
| Tool | What it does | Notes |
|---|---|---|
get_generation_webhook_secret |
Get the secret that signs generation webhooks | |
upload_generation_image |
Upload a reference image | local server only |
upload_generation_media |
Upload an image, video or sound to generate from | local server only |
quote_generation |
Price a generation without generating | |
create_generation |
Generate an image, a video, a sound or a 3D model | spends credits, asks first, opens the CutPro player |
list_generations |
List generations | opens the CutPro player |
get_generation |
Get a generation | opens the CutPro player |
delete_generation |
Delete a generation | |
open_generation_edit |
Open a generated or persona video to edit or post | |
improve_generation_prompt |
Rewrite a short request in more detail | |
rate_generation |
Rate a generation | |
request_generation_refund |
Ask for the credits of a generation back | |
download_generation |
Get the download link of a generation |
| Variable | Description |
|---|---|
CUTPRO_API_KEY |
Your CutPro API key. Required for the local (stdio) server. |
CUTPRO_WORKSPACE_ID |
Selects the workspace for multi-workspace keys. |
CUTPRO_API_URL |
Override the API base URL. Defaults to https://api.cut.pro/api/v1. |
CUTPRO_MCP_AUTO_UPDATE |
0 keeps the installed version instead of switching to the newest release. |
The local server checks npm on start and hands the session to a newer release, even from a stale npx cache. The hosted one is always current.
To host the remote yourself (Streamable HTTP with OAuth 2.1, DCR and CIMD):
| Variable | Description |
|---|---|
MCP_TRANSPORT=http / PORT |
Serve Streamable HTTP at the root instead of stdio. |
MCP_OAUTH=1 |
Enable OAuth (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 |
Keep OAuth state in Redis so it survives restarts. Without it, state lives in memory. |
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 npx -y @cutpro/mcp@latest
Docs · Changelog · Contributing · Security · MIT License
CutPro MCP questions
How do I add CutPro MCP to Claude Code?
Run claude mcp add --env 'CUTPRO_API_KEY=<YOUR_CUTPRO_API_KEY>' mcp -- npx -y @cutpro/mcp in your terminal. Add --scope user to make it available in every project.
How do I add CutPro MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does CutPro MCP provide?
It exposes 108 tools, including generate_video, product_ad, make_music, voiceover, talking_avatar.
Does the server charge for every request?
Every paid call displays the exact price first and waits for your confirmation before proceeding.
What AI models are supported for video generation?
The server supports various models including Veo, Kling, Seedance, Nano Banana, and more.