{"record":{"id":"5ff2f20d3a9a4a86","repo":"remotion-dev/remotion","slug":"composition-compositionname-not-found","errorCode":null,"errorMessage":"Composition ${compositionName} not found.","messagePattern":"Composition (.+?) not found\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/studio/src/components/WebMcp.tsx","lineNumber":906,"sourceCode":"\t\t\t\t\t\t\tcompositionName: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tdescription: 'The name of the composition to open.',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\trequired: ['compositionName'],\n\t\t\t\t\t\tadditionalProperties: false,\n\t\t\t\t\t},\n\t\t\t\t\tannotations: {readOnlyHint: false},\n\t\t\t\t\texecute: ({compositionName}) => {\n\t\t\t\t\t\tif (typeof compositionName !== 'string') {\n\t\t\t\t\t\t\tthrow new Error('compositionName must be a string.');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst composition = compositionsRef.current.find(\n\t\t\t\t\t\t\t(candidate) => candidate.id === compositionName,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (!composition) {\n\t\t\t\t\t\t\tthrow new Error(`Composition ${compositionName} not found.`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tselectComposition(composition, true);\n\t\t\t\t\t\treturn Promise.resolve({\n\t\t\t\t\t\t\tcurrentContent: {\n\t\t\t\t\t\t\t\ttype: 'composition',\n\t\t\t\t\t\t\t\tcompositionId: composition.id,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{signal: controller.signal},\n\t\t\t),\n\t\t\tmodelContext.registerTool(\n\t\t\t\t{\n\t\t\t\t\tname: 'get_sequences',\n\t\t\t\t\ttitle: 'Get Studio sequences',\n\t\t\t\t\tdescription:","sourceCodeStart":888,"sourceCodeEnd":924,"githubUrl":"https://github.com/remotion-dev/remotion/blob/b2f4e34732f3c6c222ea029413e22dc402218cd7/packages/studio/src/components/WebMcp.tsx#L888-L924","documentation":"The Web MCP selectSequence tool validates sequenceId at runtime: it must be a non-empty string. Numbers, null, or '' throw this error.","triggerScenarios":"Calling the selectSequence MCP tool with sequenceId: '' or a non-string value.","commonSituations":"LLM MCP clients passing an empty id or a numeric id from timeline metadata.","solutions":["Pass a non-empty string sequenceId matching a <Sequence id> in the current composition","Give your <Sequence> components explicit ids so they can be addressed"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if (typeof sequenceId !== 'string' || sequenceId.length === 0) { /* reject */ }","typeGuard":"const isNonEmptyString = (v: unknown): v is string => typeof v === 'string' && v.length > 0;","tryCatchPattern":null,"preventionTips":["Give <Sequence> components explicit ids","Validate MCP args against the tool schema"],"tags":["studio","mcp","sequence","validation"],"backgroundTag":"mcp-invalid-argument","analyzedSha":"b2f4e34732f3c6c222ea029413e22dc402218cd7","analyzedAt":"2026-08-28T15:39:09.316Z","contentChangedAt":"2026-08-28T15:39:09.316Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}