Short answer: put your MCP servers in one canonical catalog, then sync that catalog into each coding agent’s native config. Brigade does this with brigade mcp sync: one .brigade/mcp.json, projected into Claude Code, Codex, Cursor, VS Code, OpenCode, and Antigravity, with a dry-run diff before anything is written.
The problem
MCP is the common protocol. The config files are not common.
Claude Code reads .mcp.json. Codex reads TOML under .codex/config.toml. Cursor and VS Code use JSON, but not the same shape. OpenCode has its own format. Antigravity can be user-scoped. If you add the GitHub MCP server in one agent and forget the others, your tools drift immediately.
That drift is hard to spot because nothing dramatic happens. One agent has the server. Another silently does not.
The Brigade path
brigade mcp init
brigade mcp add --name github --command npx \
--args "-y @modelcontextprotocol/server-github" \
--env GITHUB_TOKEN=ref:GITHUB_TOKEN
brigade mcp sync # preview across configured agents
brigade mcp sync --write # apply after review
brigade mcp sync is dry-run first. It shows the target agent, server key, current state, and planned action. You review the plan, then run with --write only when the diff is what you expect.
What gets synced
| Coding agent | Native config target |
|---|---|
| Claude Code | .mcp.json |
| Codex CLI | .codex/config.toml |
| Cursor | .cursor/mcp.json |
| VS Code | .vscode/mcp.json |
| OpenCode | opencode.json |
| Antigravity | ~/.gemini/config/mcp_config.json with --user-scope |
Brigade merges by server key. Servers you added by hand are preserved. A server that changed outside Brigade is treated as a conflict unless you pass --force. Secrets stay as environment references, not literal values.
When this is enough
Use Brigade for MCP sync when you run two or more coding agents and want the same tool servers available everywhere. Use a smaller copy script if you only need a quick one-time copy and do not care about review, ownership, or receipts.
If you specifically searched for Claude Code plus Codex, read the narrower page: share MCP servers across Claude Code and Codex.
Questions
Can I sync MCP servers across coding agents without moving my whole dotfile setup? Yes. Brigade’s MCP catalog is local to the repo or workspace you target. You do not need to replace chezmoi, Stow, or your normal shell config.
Does Brigade start MCP servers? No. It writes config files when you run the command. Your agent tools start their own servers the way they normally do.
Does it work for remote MCP servers? Yes, within the supported adapter shapes. Remote transports and auth headers are stored as config references, with secrets kept out of the catalog.
Full behavior is in the MCP sync docs.