Skip to content

feature: sync MCP server configs too #4

Description

@resuaico

Same problem as instructions files, one layer down. A project that ships an MCP server tells people to configure it in:

  • .mcp.json (Claude Code, project scope)
  • .cursor/mcp.json
  • .vscode/mcp.json
  • ~/.codex/config.toml (TOML, different shape)
  • Windsurf, Cline, and others, each with their own nesting

These are copy-pasted between docs and configs and drift exactly the way the markdown does — except drift here means the server silently does not start.

Sketch

A servers: block in .agentsync.yml as the source, and a target-like renderer per client format. The shape is close enough to targets/ to reuse the plan/apply/conflict machinery in sync.py — including the property that matters most: a config file agentsync did not write is never overwritten. .vscode/mcp.json and .cursor/mcp.json frequently hold hand-written entries for unrelated servers, so merging into an existing file has to preserve everything it did not author.

That merge behaviour is the design question worth settling in this thread before anyone writes code. Please comment before starting — this one is bigger than a first issue.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions