agentsync
Sync MCP server configs and rules across AI coding agents.
The Problem
You use multiple AI coding agents — Claude Code, Cursor, Codex, Gemini. Each stores MCP server configs in its own format (JSON, TOML) and its own location. Keeping them in sync manually is tedious and error-prone.
The Solution
agentsync takes a single source of truth (your Claude Code config) and syncs it to all your agents with one command.
┌──────────────┐
│ Claude Code │ Source of Truth
│ .claude.json│ ─── MCP Servers
│ .mcp.json │ ─── Rules (CLAUDE.md)
│ CLAUDE.md │
└──────┬───────┘
│ agentsync sync
├──────────────────┐─────────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Cursor │ │ Codex │ │ Antigravity │
│ mcp.json │ │ config.toml │ │mcp_config.json│
│ project.mdc │ │ AGENTS.md │ │ │
└──────────────┘ └──────────────┘ └──────────────┘
Installation
pip install agentsync-cli # pip
pipx install agentsync-cli # pipx (recommended for CLI tools)
uvx agentsync-cli # uv (run without installing)
Quick Start
agentsync init # Create agentsync.yaml config
agentsync sync # Sync to all agents
agentsync validate # Verify everything is correct
Features
- MCP server sync — JSON ↔ TOML automatic conversion
- Rules sync — Markdown → filtered Markdown / MDC with frontmatter
- Case-insensitive deduplication — handles
Notionvsnotionfrom different sources - Dry-run mode — preview changes before writing
- Backups — automatic backups before every write
- Validation — structural checks, consistency, duplicate detection
- Extensible — adapter-based architecture for adding new agents
Supported Agents
| Agent | MCP Format | Rules Format | Status |
|---|---|---|---|
| Claude Code | JSON | Markdown | Source |
| Cursor | JSON | MDC | Target |
| Codex | TOML | Markdown | Target |
| Antigravity (Gemini) | JSON | — | Target |
Configuration
Create agentsync.yaml in your project root:
version: 1
source:
type: claude
global_config: ~/.claude.json
project_mcp: .mcp.json
rules_file: CLAUDE.md
targets:
cursor:
type: cursor
mcp_path: ~/.cursor/mcp.json
rules_path: .cursor/rules/project.mdc
exclude_servers: []
codex:
type: codex
config_path: ~/.codex/config.toml
rules_path: AGENTS.md
exclude_servers: [codex]
antigravity:
type: antigravity
mcp_path: ~/.gemini/antigravity/mcp_config.json
protocols: [stdio]
rules:
exclude_sections:
- "MCP Servers"
- "Context Management & Agents"
CLI Reference
Global Options
| Option | Description |
|---|---|
--config, -c PATH |
Path to agentsync.yaml (default: auto-discover) |
--quiet, -q |
Minimal output |
--version |
Show version and exit |
--help |
Show help and exit |
Commands
# Sync — push source configs to targets
agentsync sync # Full sync (MCP + rules)
agentsync sync --dry-run # Preview changes without writing
agentsync sync --mcp-only # Only MCP server configs
agentsync sync --rules-only # Only rules files
agentsync sync -t cursor # Sync specific target only
agentsync sync --no-backup # Skip creating backup files
# Validate — check target configs match source
agentsync validate # Full validation
agentsync validate -v # Verbose (show passed checks too)
agentsync validate -t codex # Validate specific target only
# Init — create config
agentsync init # Create agentsync.yaml
agentsync init --force # Overwrite existing config
# Status — show sync state
agentsync status # Source info, target health, drift
Exit Codes
| Code | Meaning |
|---|---|
0 |
Success |
1 |
Runtime error (sync failed, validation failed) |
2 |
Configuration error (missing config, bad YAML, unknown adapter) |
How It Works
agentsync sync
│
├─ Load config (agentsync.yaml)
├─ Read source (Claude Code)
│ ├─ ~/.claude.json → global MCP servers
│ ├─ .mcp.json → project MCP servers
│ └─ CLAUDE.md → rules sections
│
├─ Deduplicate (case-insensitive)
├─ Filter (exclude_servers, exclude_sections, protocols)
│
└─ Generate + Write per target
├─ Cursor: mcp.json + project.mdc (MDC frontmatter)
├─ Codex: config.toml (marker-based) + AGENTS.md
└─ Antigravity: mcp_config.json (stdio-only)
Adding an Adapter
agentsync is designed for extension. To add support for a new AI agent:
- Create
src/agentsync/adapters/youragent.py— implementTargetAdapter - Register it in
cli.py(create_targets) - Add the type to
KNOWN_TARGET_TYPESinconfig.py - Write tests in
tests/test_adapter_youragent.py - Update this README
See CONTRIBUTING.md for detailed guidelines and the full adapter interface.
Roadmap
| Version | Focus |
|---|---|
| v0.1 | Core sync: Claude → Cursor, Codex, Antigravity |
| v0.2 | Plugin system for custom adapters |
| v0.3 | Watch mode (auto-sync on file change) |
| v0.4 | Windsurf, Zed, Cline adapters (community) |
| v1.0 | Stable API, full coverage |
Have an idea? Open a discussion or request an adapter.
Contributing
Contributions welcome! See CONTRIBUTING.md for guidelines.
Please review our Code of Conduct before contributing.
Changelog
See CHANGELOG.md for release history.
License
Release files for agentsync-cli 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agentsync_cli-0.1.0.tar.gz | 40.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentsync_cli-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 69.2 kB
Release files / agentsync_cli-0.1.0.tar.gz
| Download URL | agentsync_cli-0.1.0.tar.gz |
|---|---|
| Size | 40.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
df207892df7ffd6f32e3805e75a66ee21d3f540aa0883b38ef93e5abf8364ec3
|
|
BLAKE2b-256 checksum How to use checksums |
7f82195210f5d009c252d9ad24d2dde617cbc4b778ba5d0c026861b754768ad2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 20, 2026.
Transparency logRelease files / agentsync_cli-0.1.0-py3-none-any.whl
| Download URL | agentsync_cli-0.1.0-py3-none-any.whl |
|---|---|
| Size | 28.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
04e699f915a40b20cd3a6921f86b36853a92e238fe7918b7e02351cbd4c6674c
|
|
BLAKE2b-256 checksum How to use checksums |
2f8ab78ac0511c10c56755e4990876513ae4c19955f3198310b43fe67deb4818
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 20, 2026.
Transparency log