Skip to content

🛠️ Manage your MCP (Model Context Protocol) server definitions in one place and apply them to supported agents.

License

Notifications You must be signed in to change notification settings

koki-develop/mmcp

Repository files navigation

mmcp

NPM Version GitHub Actions Workflow Status GitHub License

Manage your MCP (Model Context Protocol) server definitions in one place and apply them to supported agents.

Supported Agents

Agent id Config Path
Claude Code claude-code ~/.claude.json
Claude Desktop claude-desktop macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
Codex CLI codex-cli ~/.codex/config.toml
Cursor cursor ~/.cursor/mcp.json
Gemini CLI gemini-cli ~/.gemini/settings.json
GitHub Copilot CLI github-copilot-cli ~/.copilot/mcp-config.json

More agents may be added in the future.

Installation

npm install -g mmcp

Getting Started

1. Add an MCP server to mmcp config

$ mmcp add [--env KEY=VALUE ...] [--config <path>] [--force] -- <name> <command> [args...]

# e.g.
$ mmcp add -- context7 npx -y @upstash/context7-mcp@latest
$ mmcp add -- everything npx -y @modelcontextprotocol/server-everything@latest

Adds the MCP server definition into ~/.mmcp.json.

You can check configured servers anytime:

$ mmcp list [--config <path>]
context7: npx -y @upstash/context7-mcp@latest
everything: npx -y @modelcontextprotocol/server-everything@latest

2. Choose target agents

Set which agents to apply to (e.g. claude-code).

$ mmcp agents add [--config <path>] <name...>

# e.g.
$ mmcp agents add claude-code
$ mmcp agents add claude-desktop
$ mmcp agents add codex-cli
$ mmcp agents add cursor
$ mmcp agents add gemini-cli
$ mmcp agents add github-copilot-cli

List registered agents:

$ mmcp agents list [--config <path>]
claude-code
claude-desktop
codex-cli
cursor
gemini-cli
github-copilot-cli

3. Apply your mmcp config to the agents

$ mmcp apply [--mode merge|replace]

See Apply modes for what each mode does.

That’s it. Your MCP servers from ~/.mmcp.json will be written into the agent’s config (e.g. ~/.claude.json for Claude Code).

Configuration

mmcp stores configuration as JSON. Default location is ~/.mmcp.json.

Example:

{
  "mode": "merge",
  "agents": [
    "claude-code",
    "claude-desktop",
    "codex-cli",
    "cursor",
    "gemini-cli",
    "github-copilot-cli"
  ],
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": [
        "-y",
        "@upstash/context7-mcp@latest"
      ],
      "env": {}
    },
    "everything": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-everything@latest"
      ],
      "env": {}
    }
  }
}

Apply modes

mode controls how agent configs are updated when you run mmcp apply.

merge (default)

Existing agent entries stay unless mmcp overrides the same name.

Existing agent config

{
  "mcpServers": {
    "other": {
      "command": "custom"
    }
  }
}

mmcp.json

{
  "mode": "merge",
  "agents": [...],
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp@latest"]
    }
  }
}

After applying

 {
   "mcpServers": {
     "other": {
       "command": "custom"
     },
+    "context7": {
+      "command": "npx",
+      "args": ["-y", "@upstash/context7-mcp@latest"]
+    }
   }
 }

replace

All agent-side entries are removed and re-created from mmcp.

Existing agent config

{
  "mcpServers": {
    "other": {
      "command": "custom"
    }
  }
}

mmcp.json

{
  "mode": "replace",
  "agents": [...],
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp@latest"]
    }
  }
}

After applying

 {
   "mcpServers": {
-    "other": {
-      "command": "custom"
-    }
+    "context7": {
+      "command": "npx",
+      "args": ["-y", "@upstash/context7-mcp@latest"]
+    }
   }
 }

License

MIT

About

🛠️ Manage your MCP (Model Context Protocol) server definitions in one place and apply them to supported agents.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5