get_project_info
Retrieve detailed project data including name, path, settings, and status directly from Adobe Premiere Pro for streamlined project management and workflow automation.
Instructions
Gets comprehensive information about the current project including name, path, settings, and status.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/index.ts:714-740 (handler)The core handler function for the 'get_project_info' tool. It executes an ExtendScript via the PremiereProBridge to retrieve detailed information about the current Adobe Premiere Pro project, including name, path, active sequence, item/sequence counts, modification status, etc.private async getProjectInfo(): Promise<any> { const script = ` try { var project = app.project; JSON.stringify({ success: true, name: project.name, path: project.path, activeSequence: project.activeSequence ? { id: project.activeSequence.sequenceID, name: project.activeSequence.name } : null, itemCount: project.rootItem.children.numItems, sequenceCount: project.sequences.numSequences, isDirty: project.dirty, hasActiveSequence: project.activeSequence !== null }); } catch (e) { JSON.stringify({ success: false, error: e.toString() }); } `; return await this.bridge.executeScript(script); }
- src/tools/index.ts:51-54 (schema)The JSON schema definition and metadata (name, description, inputSchema) for the 'get_project_info' tool, registered in getAvailableTools(). The tool takes no input parameters.name: 'get_project_info', description: 'Gets comprehensive information about the current project including name, path, settings, and status.', inputSchema: z.object({}) },
- src/tools/index.ts:432-433 (registration)Registration/dispatch of the 'get_project_info' tool in the executeTool switch statement, which calls the handler when the tool is invoked via MCP.case 'get_project_info': return await this.getProjectInfo();
- src/index.ts:74-81 (registration)MCP server registration for listing tools, which exposes 'get_project_info' 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:84-106 (registration)MCP server handler for tool execution (CallToolRequestSchema), which routes calls to 'get_project_info' to PremiereProTools.executeTool.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}` ); } });