chore: adiciona .gitignore e commit.command
This commit is contained in:
Executable
+95
@@ -0,0 +1,95 @@
|
||||
# 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](https://modelcontextprotocol.io/) 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
|
||||
├── fcp-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):**
|
||||
|
||||
```json
|
||||
{
|
||||
"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:
|
||||
|
||||
1. **Pick a domain** — one data format, one API, one workflow
|
||||
2. **Define tools** — each tool is a function with typed inputs and text outputs
|
||||
3. **Use the MCP SDK** — `pip install mcp`, subclass `Server`, register handlers
|
||||
4. **Test locally** — `uv run server.py` starts the server, Claude Desktop connects
|
||||
|
||||
See [server.py](../server.py) in this repo for a production example of the dispatch-dict pattern with 47 tools.
|
||||
|
||||
---
|
||||
|
||||
*Last updated: 2026-02-25*
|
||||
Reference in New Issue
Block a user