🔌 MCPX
一个配置来管理它们。 只需配置一次MCP服务器,即可自动部署到每个AI CLI。
](https://nodejs.org/)  
______________________________________________________________________
😩 问题
每个AI CLI工具都使用 不同的文件格式 用于配置MCP(模型上下文协议)服务器:
| AI CLI | 配置文件 | 格式 |
|---|---|---|
| 克劳德代码 | .mcp.json | JSON |
| Gemini CLI | .gemini/settings.json | JSON |
是CLI。 ~/.kimi/mcp.json | JSON | |
| OpenAI Codex | .codex/config.toml | 汤姆 |
| OpenCode | opencode.json | JSON |
| GitHub Copilot命令行界面 | .copilot/mcp-config.json | JSON |
| VS代码 | .vscode/mcp.json | JSON |
| IntelliJ IDEA | .idea/mcp.json | JSON |
如果你使用多个人工智能工具(你可能确实这样做了),你需要 手动维护8个不同的配置文件 具有不同的结构、字段名和怪癖。对于 每一个项目.
______________________________________________________________________
✨ 解决方案
MCPX 维护单个规范配置文件(.mcpx.json)每个项目和 自动生成 您使用的每个AI CLI提供程序的正确配置文件。
.mcpx.json ──────► .mcp.json (Claude Code)
│ ──────► .gemini/settings.json (Gemini CLI)
│ ──────► ~/.kimi/mcp.json (Kimi CLI)
│ ──────► .codex/config.toml (OpenAI Codex)
│ ──────► opencode.json (OpenCode)
│ ──────► .copilot/mcp-config.json (Copilot CLI)
│ ──────► .vscode/mcp.json (VS Code)
└───── ──────► .idea/mcp.json (IntelliJ IDEA)______________________________________________________________________
🚀 快速开始
📦 安装
npm install -g mcpx-cli⚡ 首次设置
导航到项目目录并运行:
mcpx交互式向导将指导您完成以下操作:
- 🔍 检测 --自动检测项目中现有的MCP配置
- 📥 导入 --提供从检测到的配置中导入服务器
- ➕ 添加服务器 --配置新MCP服务器的交互式向导
- 🎯 选择提供商 --选择要为哪些AI CLI生成配置
- ⚙️ 生成 --创建
.mcpx.json以及所有提供程序配置文件
______________________________________________________________________
📋 命令
| 命令 | 描述 |
|---|---|
mcpx 或 mcpx init | 🧙 交互式设置向导 |
mcpx add [name] | ➕ 添加新的MCP服务器 |
mcpx remove [name] | ➖ 删除MCP服务器 |
mcpx list | 📄 列出已配置的MCP服务器 |
mcpx sync | 🔄 重新生成所有提供程序配置文件 |
mcpx import [provider] | 📥 从现有提供程序导入配置 |
mcpx status | 📊 显示所有提供程序的同步状态 |
🏳️ 全球旗帜
| 标志 | 描述 |
|---|---|
| `--dir, -d | |
| ` | 📁 项目目录(默认为当前目录) |
--verbose | 🔊 显示详细日志 |
--version, -V | 🏷️ 显示版本 |
--help, -h | ❓ 显示帮助 |
______________________________________________________________________
📐 规范格式
MCPX使用单个 .mcpx.json 文件作为真相的来源:
{
"version": 1,
"providers": ["claude-code", "gemini-cli", "openai-codex", "copilot-cli"],
"servers": {
"jira": {
"description": "Jira Atlassian",
"transport": "stdio",
"command": "uvx",
"args": ["mcp-atlassian"],
"env": {
"JIRA_URL": "https://myorg.atlassian.net",
"JIRA_USERNAME": "user@example.com",
"JIRA_API_TOKEN": "your-token"
}
},
"github": {
"description": "GitHub MCP Server",
"transport": "stdio",
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-github-server"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx"
}
}
}
}📝 服务器字段
| 字段 | 类型 | 必填 | 描述 | |
|---|---|---|---|---|
transport | "stdio" | "http" | ✅ 是 | 传输协议 |
command | string | stdio | 可执行命令 | |
args | string[] | -- | 命令参数 | |
env | Record | -- | 环境变量 | |
cwd | string | -- | 工作目录 | |
url | string | http | 服务器URL | |
headers | Record | -- | HTTP标头 | |
description | string | -- | 人类可读的描述 | |
enabled | boolean | -- | 启用/禁用(默认值: true) |
______________________________________________________________________
🤖 支持的提供商
📁 项目范围内的供应商
这些提供程序生成配置文件 在项目目录中每个项目都有自己的独立配置。
🟣 克劳德代码
| 方面 | 细节 |
|---|---|
| 文件 | .mcp.json |
| 格式 | JSON |
| 根密钥 | mcpServers |
需要 type | 是的 "stdio" |
🔵 Gemini CLI
| 方面 | 细节 |
|---|---|
| 文件 | .gemini/settings.json |
| 格式 | JSON |
| 根密钥 | mcpServers |
需要 type | 没有 |
🟢 OpenAI Codex
| 方面 | 细节 |
|---|---|
| 文件 | .codex/config.toml |
| 格式 | 汤姆 |
| 根密钥 | mcp_servers |
| 智能合并 | 是--保留现有的Codex设置(model, approval_mode等等) |
🟠 OpenCode
| 方面 | 细节 |
|---|---|
| 文件 | opencode.json |
| 格式 | JSON |
| 根密钥 | mcp |
| 怪癖 | command 是一个数组(命令+参数合并),使用 environment 而不是 env, type: "local" |
⚫ GitHub Copilot命令行界面
| 方面 | 细节 |
|---|---|
| 文件 | .copilot/mcp-config.json |
| 格式 | JSON |
| 根密钥 | mcpServers |
| 怪癖 | 需要 tools: ["*"] 字段,需要用于项目级配置的shell别名 |
📌 注: Copilot CLI本身不会自动发现项目级MCP配置。MCPX自动配置shell别名(copilot='copilot --additional-mcp-config @.copilot/mcp-config.json')在你的.zshrc,.bashrc,或config.fish因此,当您运行时,项目配置会自动加载copilot.
🔷 VS Code
| 方面 | 细节 |
|---|---|
| 文件 | .vscode/mcp.json |
| 格式 | JSON |
| 根密钥 | servers |
| 怪癖 | type 必填字段("stdio" 或 "sse"),HTTP映射为 "sse" |
🟧 智能J IDEA
| 方面 | 细节 |
|---|---|
| 文件 | .idea/mcp.json |
| 格式 | JSON |
| 根密钥 | mcpServers |
| 怪癖 | 没有 type 字段,从中推断 command vs url |
🌍 全球供应商
这些提供商使用 单个全局配置文件 在所有项目中共享。跑步 mcpx sync 用当前项目的服务器覆盖全局文件。
🔴 化学CLI
| 方面 | 细节 |
|---|---|
| 文件 | ~/.kimi/mcp.json |
| 格式 | JSON |
| 根密钥 | mcpServers |
| 范围 | 全局--影响所有项目 |
______________________________________________________________________
🔄 同步和提供程序管理
🔁 同步中
修改后 .mcpx.json (手动或通过命令),重新生成所有提供程序配置:
mcpx sync🔀 更换供应商
使用交互式向导添加或删除提供程序:
mcpx init
# Select "Alterar providers"当提供者 移除,MCPX 删除 相应的配置文件。对于全局提供商,旧项目级文件也会被清理。
📥 从现有配置导入
您的人工智能工具中已经配置了MCP服务器吗?导入它们:
mcpx importMCPX检测现有的项目级配置(.mcp.json, .gemini/settings.json等),并允许您选择要导入的服务器 .mcpx.json.
______________________________________________________________________
🏗️ 建筑
src/
├── cli.ts # Commander setup & routing
├── types/
│ ├── canonical.ts # McpConfigFile, McpServerConfig (Zod schemas)
│ ├── providers.ts # Provider interface
│ └── common.ts # CommandContext, SyncResult
├── commands/
│ ├── init.ts # Interactive wizard
│ ├── add.ts / remove.ts # Server management
│ ├── list.ts / status.ts # Display info
│ ├── sync.ts # Regenerate configs
│ └── import.ts # Import from providers
├── providers/
│ ├── base.ts # Provider interface
│ ├── registry.ts # Provider registry (factory)
│ ├── claude-code.ts # .mcp.json
│ ├── gemini-cli.ts # .gemini/settings.json
│ ├── kimi-cli.ts # ~/.kimi/mcp.json
│ ├── openai-codex.ts # .codex/config.toml
│ ├── opencode.ts # opencode.json
│ ├── copilot-cli.ts # .copilot/mcp-config.json
│ ├── vscode.ts # .vscode/mcp.json
│ └── intellij.ts # .idea/mcp.json
├── core/
│ ├── config-store.ts # .mcpx.json read/write
│ ├── detector.ts # Detect existing configs
│ └── merger.ts # Smart sync with merge support
├── wizard/
│ ├── main-wizard.ts # Main interactive flow
│ ├── server-wizard.ts # Server creation wizard
│ ├── provider-wizard.ts # Provider selection
│ └── step-runner.ts # Step navigation (back support)
└── utils/
├── fs.ts # File system helpers
├── logger.ts # Logger with colors
└── validation.ts # Zod validation______________________________________________________________________
🧪 测试
# Run all tests
npm test
# Run once (CI)
npm run test:run
# Type checking
npm run typecheck______________________________________________________________________
🛠️ 技术栈
| 类别 | 图书馆 |
|---|---|
| 💻 语言 | TypeScript 5.x(ESM) |
| 📦 构建 | tsup(esbuild) |
| ⌨️ CLI框架 | 指挥官 |
| 💬 交互式提示 | @clack/提示 |
| 🎨 颜色 | picocolors |
| 📄 汤姆 | |
| ✅ 验证 | zod |
| 🧪 测试 | vitest |
| 🟢 最小节点 | >=20 |
______________________________________________________________________
📄 许可证
麻省理工学院
______________________________________________________________________
🇧🇷 Leia em Português (pt-BR)
