save_project
Save the active Adobe Premiere Pro project using MCP Adobe Premiere Pro’s automation bridge, enabling efficient workflow integration with AI agents.
Instructions
Saves the currently active Adobe Premiere Pro project.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/index.ts:777-791 (handler)Primary handler for the 'save_project' MCP tool. Calls the bridge's saveProject method and formats the response with success/error status.private async saveProject(): Promise<any> { try { await this.bridge.saveProject(); return { success: true, message: 'Project saved successfully', timestamp: new Date().toISOString() }; } catch (error) { return { success: false, error: `Failed to save project: ${error instanceof Error ? error.message : String(error)}` }; } }
- src/tools/index.ts:72-76 (schema)Tool schema definition in getAvailableTools(). Defines 'save_project' with no input parameters (empty object schema).{ name: 'save_project', description: 'Saves the currently active Adobe Premiere Pro project.', inputSchema: z.object({}) },
- src/index.ts:74-81 (registration)MCP server registration for listing tools, which exposes 'save_project' via PremiereProTools.getAvailableTools().this.server.setRequestHandler(ListToolsRequestSchema, async () => { const tools = this.tools.getAvailableTools().map((tool) => ({ name: tool.name, description: tool.description, inputSchema: zodToJsonSchema(tool.inputSchema, { $refStrategy: 'none' }) })); return { tools }; });
- src/index.ts:83-106 (handler)MCP server handler for tool calls (CallToolRequestSchema), dispatches to tools.executeTool which handles 'save_project' case.// Execute tool calls this.server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: args } = request.params; try { const result = await this.tools.executeTool(name, args || {}); return { content: [ { type: 'text' as const, text: JSON.stringify(result, null, 2) } ] }; } catch (error) { const errorMessage = error instanceof Error ? error.message : 'Unknown error'; this.logger.error(`Tool execution failed: ${errorMessage}`); throw new McpError( ErrorCode.InternalError, `Failed to execute tool '${name}': ${errorMessage}` ); } });
- src/bridge/index.ts:219-227 (helper)Supporting bridge method that executes ExtendScript 'app.project.save()' via file-based communication to Premiere Pro.async saveProject(): Promise<void> { const script = ` // Save current project app.project.save(); JSON.stringify({ success: true }); `; await this.executeScript(script); }