freshcrate
Skin:/
Home > MCP Servers > agents

agents

One .agents source of truth to sync MCP servers, skills, and instructions across Codex, Claude Code, Gemini CLI, Cursor, Copilot, and Antigravity.

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

One .agents source of truth to sync MCP servers, skills, and instructions across Codex, Claude Code, Gemini CLI, Cursor, Copilot, and Antigravity.

README

agents

One config to rule them all.
Practical standard layer for multi-LLM development.

npm versiondownloadsnode versionlicense Quick Start ยท Integrations ยท Commands ยท FAQ

agents start


The Problem

Every AI coding tool wants its own config format:

Codex Claude Gemini Cursor Copilot Antigravity Windsurf OpenCode Junie
Config .codex/config.toml CLI commands .gemini/settings.json .cursor/mcp.json .vscode/mcp.json Global mcp.json Global mcp_config.json opencode.json .junie/mcp/mcp.json
Instructions AGENTS.md CLAUDE.md AGENTS.md .cursorrules โ€” AGENTS.md AGENTS.md AGENTS.md AGENTS.md
Format TOML JSON (via CLI) JSON JSON JSON JSON JSON JSON JSON

Result: Duplicated configs, team drift, painful onboarding.

agents gives you one source of truth in .agents/ and syncs MCP servers, skills, and instructions to every tool automatically. For Claude Code, it keeps AGENTS.md canonical and generates a minimal root CLAUDE.md wrapper (@AGENTS.md) when the Claude integration is enabled.


Quick Start

# 1. Install
npm install -g @agents-dev/cli

# 2. Interactive setup โ€” picks integrations, adds MCP servers, syncs everything
agents start

# 3. Re-sync whenever config changes
agents sync

That's it. Your .agents/agents.json is now the single source of truth.


Using agents in this repository

This repository uses @agents-dev/cli to keep MCP servers, skills, and instructions aligned across supported AI tools.

Quick commands

agents status
agents mcp add <url-or-name>
agents mcp test --runtime
agents sync
agents sync --check

One MCP setup for all tools

Add a server once in .agents/agents.json, then run agents sync to materialize it for enabled integrations.

References


Supported Integrations

Integration MCP Servers Skills Instructions How it syncs
Codex โœ… โœ… โœ… Writes .codex/config.toml
Claude Code โœ… โœ… โœ… Calls claude mcp add/remove CLI + manages root CLAUDE.md wrapper
Gemini CLI โœ… โœ… โœ… Writes .gemini/settings.json
Cursor โœ… โœ… โœ… Writes .cursor/mcp.json + CLI enable
Copilot โœ… โœ… โœ… Writes .vscode/mcp.json
Antigravity โœ… โœ… โœ… Writes to global user profile mcp.json
Windsurf โœ… โœ… โœ… Writes to global user profile ~/.codeium/windsurf/mcp_config.json + workspace .windsurf/skills
OpenCode โœ… โœ… โœ… Writes project opencode.json (mcp block)
Junie โœ… โœ… โœ… Writes .junie/mcp/mcp.json + skills bridge .junie/skills

Project Layout

your-project/
โ”œโ”€โ”€ AGENTS.md                        โ† Canonical instructions for all tools
โ”œโ”€โ”€ CLAUDE.md                        โ† Generated Claude wrapper (`@AGENTS.md`)
โ”œโ”€โ”€ .agents/
โ”‚   โ”œโ”€โ”€ agents.json                  โ† MCP servers & config (commit this)
โ”‚   โ”œโ”€โ”€ local.json                   โ† Secrets & overrides (gitignored)
โ”‚   โ”œโ”€โ”€ skills/                      โ† Reusable workflow definitions
โ”‚   โ”‚   โ””โ”€โ”€ my-skill/SKILL.md
โ”‚   โ””โ”€โ”€ generated/                   โ† Auto-generated artifacts (gitignored)
โ”‚       โ”œโ”€โ”€ codex.config.toml
โ”‚       โ”œโ”€โ”€ gemini.settings.json
โ”‚       โ”œโ”€โ”€ cursor.mcp.json
โ”‚       โ”œโ”€โ”€ windsurf.mcp.json
โ”‚       โ”œโ”€โ”€ opencode.json
โ”‚       โ””โ”€โ”€ ...
โ”‚
โ”‚  โ”Œโ”€โ”€โ”€ Generated by `agents sync` โ”€โ”€โ”€โ”
โ”œโ”€โ”€ .codex/config.toml                โ”‚  Materialized tool configs
โ”œโ”€โ”€ .gemini/settings.json             โ”‚  (gitignored in source-only mode)
โ”œโ”€โ”€ .cursor/mcp.json                  โ”‚
โ”œโ”€โ”€ .vscode/mcp.json                  โ”‚
โ”œโ”€โ”€ opencode.json                     โ”‚
โ”œโ”€โ”€ .claude/skills/ โ†’ .agents/skills  โ”‚  Claude workspace bridges
โ”œโ”€โ”€ .cursor/skills/ โ†’ .agents/skills  โ”‚
โ”œโ”€โ”€ .gemini/skills/ โ†’ .agents/skills  โ”‚
โ””โ”€โ”€ .windsurf/skills/ โ†’ .agents/skillsโ”‚

Git strategy: By default only .agents/agents.json, .agents/skills/, and AGENTS.md are committed. Generated CLAUDE.md and tool-specific outputs are gitignored in source-only mode and regenerated with agents sync.


Command Overview

Setup & Sync

Command Description
agents start Interactive setup wizard โ€” integrations, MCP servers, skills, first sync
agents start --inject-docs Also upsert an agents guide block in README.md (+ CONTRIBUTING.md if present)
agents start --reinit Reinitialize existing .agents/agents.json with fresh wizard/default choices
agents init Scaffold .agents/ directory without guided setup
agents sync Regenerate and materialize all tool configs
agents sync --check Strict read-only drift check โ€” exits 2 if config is out of sync
agents watch Auto-sync on .agents/ file changes (--once exits non-zero on sync failure)

Diagnostics

Command Description
agents status Show integrations, MCP servers, file states, and live probes
agents status --fast Skip external CLI probes for quicker output
agents doctor Validate configs, check for issues, suggest fixes
agents doctor --fix Auto-fix what can be fixed
agents update Check for newer CLI version on npm

MCP Server Management

Command Description
agents mcp add <name> Add a server interactively
agents mcp add <url> Import a server from URL (mcpservers.org, GitHub, etc.)
agents mcp import --file config.json Bulk import from JSON/JSONC file
agents mcp list List all configured servers
agents mcp remove <name> Remove a server (--no-sync skips auto-sync for add/import/remove)
agents mcp test Validate server definitions
agents mcp test --runtime Live connectivity check via tool CLIs

Integrations

Command Description
agents connect --llm cursor,claude Add integrations to the currently enabled set
agents disconnect --llm codex Disable integrations
agents reset Remove generated files, keep .agents/
agents reset --hard Full cleanup โ€” removes all agents-managed setup

How It Works

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      agents sync                             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                              โ”‚
โ”‚   .agents/agents.json โ”€โ”€โ”€ merge โ”€โ”€โ†’ Resolved    โ”€โ”€โ†’ Codex   โ”‚
โ”‚         (shared)           โ†‘        Registry          TOML   โ”‚
โ”‚                            โ”‚           โ”‚                     โ”‚
โ”‚   .agents/local.json โ”€โ”€โ”€โ”€โ”€โ”€โ”˜           โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ†’ Claude     โ”‚
โ”‚      (secrets)                         โ”‚          CLI + root โ”‚
โ”‚                                        โ”‚          CLAUDE.md  โ”‚
โ”‚                                        โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ†’ Gemini     โ”‚
โ”‚   ${ENV_VARS} โ”€โ”€โ”€ resolve โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค          JSON       โ”‚
โ”‚   ${PROJECT_ROOT}                      โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ†’ Cursor     โ”‚
โ”‚                                        โ”‚          JSON + CLI โ”‚
โ”‚                                        โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ†’ Copilot    โ”‚
โ”‚                                        โ”‚          VS Code    โ”‚
โ”‚                                        โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ†’ Antigravityโ”‚
โ”‚                                        โ”‚          Global     โ”‚
โ”‚                                        โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ†’ Windsurf   โ”‚
โ”‚                                        โ”‚          Global MCP โ”‚
โ”‚                                        โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ†’ OpenCode   โ”‚
โ”‚                                        โ”‚          opencode.json โ”‚
โ”‚                                        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ†’ Junie      โ”‚
โ”‚                                                   .junie/mcp/ โ”‚
โ”‚                                                              โ”‚
โ”‚   .agents/skills/ โ”€โ”€ symlink โ”€โ”€โ†’ .claude/skills              โ”‚
โ”‚                                  .cursor/skills              โ”‚
โ”‚                                  .gemini/skills              โ”‚
โ”‚                                  .junie/skills               โ”‚
โ”‚                                  .windsurf/skills            โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
  1. Load โ€” reads .agents/agents.json + merges secrets from .agents/local.json
  2. Resolve โ€” expands ${PROJECT_ROOT}, ${ENV_VAR} placeholders, filters by enabled and requiredEnv
  3. Route โ€” sends each server to its target integrations (or all, if no targets specified)
  4. Generate โ€” renders tool-specific config formats (TOML for Codex, JSON for others)
  5. Materialize โ€” writes configs atomically (project-local and global targets), calls CLIs for Claude/Cursor, and manages Claude's root CLAUDE.md wrapper
  6. Bridge skills โ€” creates symlinks from tool directories to .agents/skills/ (including Windsurf workspace bridge)

MCP Server Examples

Add from mcpservers.org

agents mcp add https://mcpservers.org/servers/context7-mcp

Add a stdio server

agents mcp add my-server \
  --command npx \
  --arg @my-org/mcp-server \
  --arg /path/to/project

Add an HTTP server with secrets

agents mcp add company-api \
  --url "https://api.company.com/mcp" \
  --secret-header "Authorization=Bearer {{API_TOKEN}}"

Secrets are automatically detected and split: placeholders go to agents.json (committed), real values to local.json (gitignored).

Target specific tools

# Only for Claude
agents mcp add claude-only-server --url "https://..." --target claude

# Only for Cursor and Copilot
agents mcp add ide-server --command ide-mcp --target cursor --target copilot_vscode

Security

What Where
๐Ÿ”“ Server definitions, team config .agents/agents.json โ€” committed
๐Ÿ”’ API keys, tokens, secrets .agents/local.json โ€” gitignored

How secrets work:

  • When you add a server, agents detects secret-like values (API keys, tokens, JWTs)
  • Secrets are moved to local.json and replaced with ${PLACEHOLDER} in agents.json
  • agents doctor warns if it finds literal secrets in committed config
  • All env keys and header names are validated to prevent injection

Team Workflow

Lead sets up the project:

agents start
agents mcp add https://mcpservers.org/servers/context7-mcp
agents mcp add company-api --url "https://api.company.com/mcp" \
  --secret-header "Authorization=Bearer {{API_TOKEN}}"
git add .agents/agents.json .agents/skills/ AGENTS.md && git commit -m "Add agents config"

New member onboards:

git clone <repo> && cd <repo>
agents start        # Preserves team config and syncs local tool files
# Add your local secrets in .agents/local.json if required by project MCP servers

One command. Same MCP servers, same skills, same instructions. No drift.


FAQ

Does this replace AGENTS.md?
No. It extends it. AGENTS.md is human-readable guidance for LLMs; agents handles machine-readable config (MCP servers, skills) and keeps everything in sync. When Claude integration is enabled, agents also generates a minimal root CLAUDE.md wrapper that references AGENTS.md.
Can I use this with only one tool?
Yes. You still get cleaner config management, safer git defaults, secret splitting, and easy MCP server management โ€” even for a single tool.
Where should secrets live?
In .agents/local.json (gitignored by default). The CLI automatically splits secrets from public config when you add MCP servers.
What happens during agents sync?
It reads your .agents/ config, merges secrets, resolves placeholders, generates tool-specific files, and writes them atomically. For Claude and Cursor it also calls their CLIs to register servers. The whole process is idempotent and safe to run repeatedly. For Claude it also maintains a root CLAUDE.md wrapper without duplicating the contents of AGENTS.md.
How do I keep configs in sync automatically?
Run agents watch โ€” it polls .agents/ files and auto-syncs on changes. Or run agents sync manually after editing config.
Can I target an MCP server to specific tools only?
Yes. Add "targets": ["claude", "cursor"] to a server definition in agents.json, or use the --target flag with agents mcp add. Servers without targets go to all enabled integrations.

Docs

Resource
๐Ÿ“– Usage Examples โ€” solo dev, teams, monorepos, scripting
๐Ÿ—๏ธ System Architecture โ€” sync internals, file formats, security model
๐Ÿ“‹ Changelog โ€” version history and migration notes

Community

IssuesDiscussionsnpmRelease History

VersionChangesUrgencyDate
v0.8.9 ### Changed - Antigravity sync now targets the current Antigravity CLI workspace MCP file (`.agents/mcp_config.json`) using `serverUrl` for remote MCP servers. - Antigravity integration preflight now checks the `agy` CLI binary instead of the older `antigravity` command name. - Antigravity-enabled projects now rely on native `.agents/skills` discovery instead of creating a `.gemini/skills` bridge when Gemini itself is not enabled. ### Fixed - Antigravity sync preserves unmanaged entries in `High5/30/2026
v0.8.8 ### Added - New integration: **Claude Desktop** (`claude_desktop`) โ€” MCP servers synced to Claude Desktop's global `claude_desktop_config.json`. - New integration: **Copilot CLI** (`copilot_cli`) โ€” MCP servers synced to project `.mcp.json`; `AGENTS.md` and `.agents/skills` are used natively by Copilot CLI. - New generated artifact: `.agents/generated/claude-desktop.mcp.json`. - New generated artifact: `.agents/generated/copilot.cli.mcp.json`. - New `AGENTS_CLAUDE_DESKTOP_CONFIG_PATH` override High5/17/2026
v0.8.7## Added - New integration: **Junie** (JetBrains) โ€” MCP servers synced to `.junie/mcp/mcp.json`, skills bridged to `.junie/skills/`. ## Fixed - Fixed `agents sync` dropping `cwd` from generated MCP configs for all tools (Codex, Gemini, VS Code, Cursor, Copilot, Antigravity, Windsurf, OpenCode, Junie). Closes #11.Medium3/23/2026
v0.8.6 ### Added - New `agents start --reinit` flag for explicit project config reinitialization from the start flow. - New `agents start --inject-docs` flag for non-interactive/CI flows to upsert an agents usage guide block into project docs. - New starter skills in template scaffold: - `docs-research` - `mcp-troubleshooting` - New integration coverage for stability fixes: - repeated `agents start` preserves existing config by default - `agents start --reinit` resets to selected/default setuLow3/8/2026
v0.8.5### Fixed - `agents sync` no longer rewrites `lastSync` after `agents reset` or other output-only regeneration when source inputs did not change. - `agents sync --check` now reports `.agents/agents.json` as changed when source-state fingerprint backfill/update would occur in a real sync.Low3/7/2026
v0.8.4 ### Changed - Project licensing has been switched from MIT to Apache 2.0, and a `NOTICE` file is now included. ### Fixed - Claude integration now manages a root `CLAUDE.md` wrapper that references canonical `AGENTS.md` without duplicating instructions. - `agents sync`, `agents status`, `agents doctor`, and `agents reset` now distinguish between agents-managed `CLAUDE.md` wrappers and custom user-owned `CLAUDE.md` files. - `agents sync` no longer updates `lastSync` on idempotent runs when no Low3/6/2026
v0.8.3 ### Added - New integrations: - **Windsurf** MCP sync to global `~/.codeium/windsurf/mcp_config.json` - **OpenCode** MCP sync to project `opencode.json` - Windsurf skills bridge support via `.windsurf/skills` (linked from `.agents/skills`). - New renderer support for: - Windsurf `mcpServers` payload format - OpenCode top-level `mcp` payload with `local`/`remote` server modes - New tests: - `tests/windsurf-opencode.integration.test.ts` - expanded renderer, MCP routing, target parsinLow2/18/2026
v0.8.2 ### Added - New `agents update` command: - human-readable version check - `--json` machine-readable output - `--check` exit-code mode (`0` up-to-date, `10` outdated, `1` check failure) - New release workflow: `.github/workflows/release.yml` (manual publish + GitHub release notes from changelog). - New test suites: - `tests/update-check.test.ts` - `tests/update.command.test.ts` ### Changed - CLI now performs update availability checks before commands and prints a hint when a newer vLow2/17/2026
v0.8.1## @agents-dev/cli v0.8.1 ### Fixed - `agents start` now preserves an existing root `AGENTS.md` during force scaffold refresh. - `agents init --force` now preserves an existing root `AGENTS.md`. - Added safety handling for non-regular `AGENTS.md` paths (`symlink` / `directory`): scaffold skips overwrite and emits a warning. ### Added - New integration tests for AGENTS.md overwrite protection: - `tests/init.integration.test.ts` - Extended `tests/start-sync.integration.test.ts` ### Notes - Low2/14/2026
v0.8.0## Added - New centralized UI module (`src/core/ui.ts`) with Unicode symbols, colors, and spinners - Spinners for all async commands (doctor, sync, init, reset, mcp add/remove/test) - Layout helpers: `keyValue()`, `list()`, `statusList()`, `section()`, `hint()`, `nextSteps()` - Context-aware output (respects `--json`, `--quiet`, `NO_COLOR`) ## Changed - Migrated `connect` and `disconnect` commands from `prompts` to `@clack/prompts` - Removed `prompts` dependency - Unified output formatting acroLow2/9/2026
v0.7.7`@agents-dev/cli` is now public. Installation: ```bash npm install -g @agents-dev/cli ``` Quick Start: ```bash cd your-project agents start agents sync ``` Key features in this release: - Single source of truth: `.agents/` - MCP Sync for Codex, Claude Code, Gemini CLI, Cursor, Copilot, Antigravity - Full MCP workflow: add/import/test/remove - Deterministic sync + atomic writes + lockfile protection Links: - GitHub: https://github.com/amtiYo/agents - npm: https://www.npmLow2/7/2026

Similar Packages

justoneapi-mcpProduction-ready MCP server exposing JustOneAPI endpoints to AI agents with raw JSON responses.main@2026-06-06
crypto-mcp๐Ÿ“ˆ Fetch real-time cryptocurrency prices with a reliable server that uses Binance and CoinMarketCap for seamless data access and fallback.master@2026-06-06
metorial-platformThe engine powering hundreds of thousands of MCP connections ๐Ÿค– ๐Ÿ”ฅdev@2026-06-06
ms-365-mcp-serverA Model Context Protocol (MCP) server for interacting with Microsoft 365 and Office services through the Graph APIv0.114.4
Create-MCP๐Ÿš€ Generate and extend production-ready Model Context Protocol (MCP) servers with a modern CLI tool that showcases all MCP features in one cohesive example.main@2026-06-06

More in MCP Servers

AstrBotAgentic IM Chatbot infrastructure that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative. โœจ
agentscopeBuild and run agents you can see, understand and trust.
claude-plugins-officialOfficial, Anthropic-managed directory of high quality Claude Code Plugins.
langchain4jLangChain4j is an open-source Java library that simplifies the integration of LLMs into Java applications through a unified API, providing access to popular LLMs and vector databases. It makes impleme