CutConvert
Convert subtitles, transcripts, broadcast captions (SCC/MCC/STL), EDLs, and Premiere files.
Should I use this
Quality & Safety
Findings (2)
- HIGH
- MEDIUMin edit_export
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"converter": {
"url": "https://cutconvert.com/api/mcp"
}
}
}Remote endpoints
https://cutconvert.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟢list_converters
List every conversion CutConvert supports (source format, output format, and the target id to pass to convert_file).
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢convert_file(filename, content, content_base64, caption_language, frame_rate, ...)
Convert a subtitle, transcript, caption, EDL, FCPXML, or Premiere .prtranscript file. Pass text file contents in `content`; pass binary files (.prtranscript) as base64 in `content_base64`. The filename extension drives format detection. Use `target` from list_converters to pick the output, or leave it as "auto" to get the default output for the detected format. Returns the converted file content (text formats inline; DOCX/ZIP as base64).
Input Schema
{
"type": "object",
"properties": {
"filename": {
"type": "string",
"description": "Original file name including extension, e.g. \"episode1.srt\" — drives format detection."
},
"content": {
"type": "string",
"description": "The file content for text formats (SRT, VTT, TXT, EDL, JSON, FCPXML, …)."
},
"content_base64": {
"type": "string",
"description": "Base64-encoded bytes for binary formats (.prtranscript)."
},
"caption_language": {
"type": "string",
"description": "BCP 47 caption language for ITT/TTML, e.g. en-US or ja. Defaults to the source language or undetermined."
},
"frame_rate": {
"type": "string",
"enum": [
"auto",
"23.976",
"24",
"25",
"29.97",
"30",
"50",
"59.94",
"60"
],
"description": "Frame rate for frame-based outputs such as ITT. Defaults to auto."
},
"target": {
"type": "string",
"enum": [
"auto",
"rppXml",
"rppDrp",
"rppFcpxml",
"rppCapcut",
"rppAaf",
"prprojAaf",
"fcpxmlAaf",
"prprojRpp",
"sesxRpp",
"avbCsv",
"avbXml",
"avbFcpxml",
"avbDrp",
"avbAaf",
"avbRpp",
"avbShotlist",
"avbEdl",
"srtJson",
"srtAvidTxt",
"txtSrt",
"edlCsv",
"txtJson",
"wordJson",
"srtSbv",
"srtAss",
"srtVtt",
"prtranscriptSrt",
"prtranscriptVtt",
"vttSrt",
"srtText",
"vttText",
"prprojXml",
"prprojDrp",
"aafXml",
"aafDrp",
"fcpxmlXml",
"fcpxmlDrp",
"fcpxmlEdl",
"fcpxmlShotlist",
"drpXml",
"prprojCsv",
"prprojEdl",
"prprojFcpxml",
"drpFcpxml",
"aafFcpxml",
"drpCsv",
"drpEdl",
"aafCsv",
"aafEdl",
"prtranscriptDocx",
"prtranscriptCsv",
"capcutSrt",
"capcutXml",
"capcutDrp",
"capcutFcpxml",
"capcutAaf",
"imovieCapcut",
"imovieXml",
"imovieDrp",
"imovieFcpxml",
"prprojCapcut",
"drpCapcut",
"fcpxmlCapcut",
"aafCapcut",
"jsonVtt",
"jsonDocx",
"jsonText",
"sccCsv",
"mccCsv",
"stlCsv",
"fcpxmlDocx",
"fcpxmlCsv",
"prtranscriptText",
"srtItt",
"srtTtml",
"sbvSrt",
"srtDocx",
"vttDocx",
"assSrt",
"jsonJson",
"jsonSrt",
"srtCsv",
"csvSrt",
"srtFcpxml",
"fcpxmlSrt",
"srtScc",
"sccSrt",
"srtMcc",
"mccSrt",
"srtStl",
"stlSrt",
"aafRpp",
"fcpxmlRpp",
"drpRpp",
"drpAaf",
"avbCapcut",
"capcutRpp",
"sesxXml",
"sesxDrp",
"sesxFcpxml",
"sesxCapcut",
"sesxAaf"
],
"description": "Conversion target id from list_converters, or \"auto\" for the default output."
}
},
"required": [
"filename"
],
"additionalProperties": false
}🟢inspect_file(filename, content, content_base64)
Detect the format of a subtitle/transcript/EDL/FCPXML file and report what CutConvert would produce from it, without performing the conversion or using quota.
Input Schema
{
"type": "object",
"properties": {
"filename": {
"type": "string",
"description": "Original file name including extension."
},
"content": {
"type": "string",
"description": "File content (text formats)."
},
"content_base64": {
"type": "string",
"description": "Base64 bytes (binary formats like .prtranscript)."
}
},
"required": [
"filename"
],
"additionalProperties": false
}🟢timecode_calculate(timecode, rate, to_rate, mode)
Parse an SMPTE timecode at a frame rate (including 29.97/59.94 drop-frame) and report its frame count and real elapsed seconds; optionally re-express it at another rate.
Input Schema
{
"type": "object",
"properties": {
"timecode": {
"type": "string",
"description": "Timecode like \"01:00:02:12\" (use \";\" before frames for drop-frame)."
},
"rate": {
"type": "string",
"enum": [
"23.976",
"24",
"25",
"29.97df",
"29.97",
"30",
"50",
"59.94df",
"59.94",
"60"
],
"description": "Frame rate the timecode is expressed in."
},
"to_rate": {
"type": "string",
"enum": [
"23.976",
"24",
"25",
"29.97df",
"29.97",
"30",
"50",
"59.94df",
"59.94",
"60"
],
"description": "Optional target frame rate to convert to."
},
"mode": {
"type": "string",
"enum": [
"time",
"frames"
],
"description": "When converting rates: \"time\" keeps the same real-world moment (conform, default); \"frames\" keeps the frame count (reinterpret)."
}
},
"required": [
"timecode",
"rate"
],
"additionalProperties": false
}🟡edit_export(edit, targets)
Turn an edit into projects that open in CapCut, Premiere Pro, DaVinci Resolve and Final Cut Pro, with captions and titles as each editor's own editable text. Pass a CutConvert Edit JSON document in `edit` and 1 to 4 editors in `targets`. Returns a zip as an embedded resource (application/zip): a folder for each editor and report.json, plus a short text with the warnings and the exports left. The tool sends no media. Each project points to the files at their `path` in the document; a file without a path opens offline, ready to relink. Each call is one export of the Edit API's allowance: 3 a month per network without a key, or an API key's 10 free a month and its packs when the MCP client sends "Authorization: Bearer cck_…". Edit JSON: times are seconds, positions are fractions of the frame, and unknown fields are errors. Every field: https://cutconvert.com/developers/edit-json (JSON Schema: https://cutconvert.com/developers/edit-json/schema.json). A small document: {"cutconvert":"edit/1","name":"My edit","timeline":{"fps":25,"width":1920,"height":1080},"media":[{"id":"a","name":"a.mp4","path":"/Users/sam/Movies/a.mp4","duration":30,"fps":25,"width":1920,"height":1080,"audio":{"streams":[2],"sampleRate":48000}}],"video":[{"clips":[{"media":"a","start":0,"in":2,"out":12}]}],"captions":{"items":[{"start":0.5,"end":3,"text":"Hello"}]}}
Input Schema
{
"type": "object",
"properties": {
"edit": {
"anyOf": [
{
"type": "object"
},
{
"type": "string"
}
],
"description": "The CutConvert Edit JSON document (version 1), as an object or as a string holding it. At most 8 MB."
},
"targets": {
"type": "array",
"items": {
"type": "string",
"enum": [
"capcut",
"premiere",
"resolve",
"finalcut"
]
},
"minItems": 1,
"maxItems": 4,
"uniqueItems": true,
"description": "The editors to export for, each once: capcut (a CapCut desktop project folder), premiere (Premiere Pro XML), resolve (a DaVinci Resolve .drp project), finalcut (Final Cut Pro FCPXML)."
}
},
"required": [
"edit",
"targets"
],
"additionalProperties": false
}Community
Evidence