Skip to main content

agentsync

Sync MCP server configs and rules across AI coding agents.

CI PyPI License: MIT Python 3.9+


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 Notion vs notion from 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:

  1. Create src/agentsync/adapters/youragent.py — implement TargetAdapter
  2. Register it in cli.py (create_targets)
  3. Add the type to KNOWN_TARGET_TYPES in config.py
  4. Write tests in tests/test_adapter_youragent.py
  5. 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

MIT

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)

Source distribution for agentsync-cli 0.1.0
File Size Uploaded
agentsync_cli-0.1.0.tar.gz 40.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentsync-cli 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page