mmcp
v0.6.2
Published
[](https://www.npmjs.com/package/mmcp) [](https://github.com/koki-develop/mmcp/ac
Readme
mmcp
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.jsonWindows: %APPDATA%\Claude\claude_desktop_config.jsonLinux: ~/.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 mmcpGetting 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@latestAdds 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@latest2. 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-cliList registered agents:
$ mmcp agents list [--config <path>]
claude-code
claude-desktop
codex-cli
cursor
gemini-cli
github-copilot-cli3. 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"]
+ }
}
}