MCP Ecosystem & Companion Tools
How FCPXML MCP fits into the broader Model Context Protocol ecosystem, and which companion servers pair well with video editing workflows.
What Is MCP?
The Model Context Protocol is an open standard that lets AI models (like Claude) call tools exposed by local servers. Each MCP server is a specialist — it owns one domain and exposes tools for that domain. Claude Desktop (or any MCP client) can connect to multiple servers simultaneously, composing their capabilities in a single conversation.
Claude Desktop
├── fcpxml-mcp-server → Final Cut Pro timeline operations
├── gitnexus → Codebase knowledge graph + architecture analysis
├── filesystem → General file read/write
└── your-custom-server → Whatever you build
This is the key insight: MCP servers compose. You don't need one server that does everything. You need focused servers that each do one thing well, and an AI client that orchestrates them.
Companion: GitNexus
What it does: GitNexus indexes a codebase into a knowledge graph — files, functions, classes, imports, dependencies — and exposes that graph via CLI, MCP tools, and a browser-based Web UI. It enables deep architectural understanding without manually tracing call chains.
Why it's relevant (relevance: 85%):
| Capability | How It Helps FCPXML MCP Development |
|---|---|
| Knowledge graph indexing | Maps all 47 tool handlers, their dependencies on parser/writer/models, and cross-module call chains — useful for onboarding contributors |
| Architecture visualization | Web UI renders the server.py → fcpxml/*.py dispatch tree visually, showing which handlers touch which modules |
| Impact analysis | Before changing TimeValue arithmetic in models.py, query the graph to see every downstream consumer — prevents regressions |
| MCP tool exposure | Runs as a sibling MCP server alongside FCPXML MCP — Claude can query the codebase graph and manipulate timelines in the same session |
| CLI for CI | Index the repo in CI, query for orphan functions or circular imports as part of the lint pipeline |
Example workflow — using both servers together:
User: "I want to add a new export format. Show me how the existing
export pipeline works, then generate a template FCPXML."
Claude:
1. [GitNexus] Query knowledge graph for export.py call chain
2. [GitNexus] Show all functions that call writer.write_fcpxml()
3. [FCPXML MCP] Generate a sample timeline via auto_rough_cut
4. [FCPXML MCP] Export it via export_resolve_xml to see the pattern
→ Claude synthesizes the architecture + a working example
Setup (alongside FCPXML MCP):
{
"mcpServers": {
"fcpxml": {
"command": "uv",
"args": ["--directory", "/path/to/fcp-mcp-server", "run", "server.py"],
"env": { "FCP_PROJECTS_DIR": "/Users/you/Movies" }
},
"gitnexus": {
"command": "gitnexus",
"args": ["mcp", "--repo", "/path/to/fcp-mcp-server"]
}
}
}
Other Useful Companion Servers
| Server | Domain | Pairing Use Case |
|---|---|---|
| filesystem | File read/write | Read raw FCPXML files, write export outputs |
| memory | Persistent context | Remember project preferences across sessions |
| fetch | HTTP requests | Pull beat analysis JSON from remote APIs |
| sqlite | Database queries | Track edit history, QC results over time |
Building Your Own MCP Server
If GitNexus and FCPXML MCP inspire you to build a domain-specific server, the pattern is straightforward:
- Pick a domain — one data format, one API, one workflow
- Define tools — each tool is a function with typed inputs and text outputs
- Use the MCP SDK —
pip install mcp, subclassServer, register handlers - Test locally —
uv run server.pystarts the server, Claude Desktop connects
See server.py in this repo for a production example of the dispatch-dict pattern with 47 tools.
Last updated: 2026-02-25