# 3.1 MCP 服务器管理 ## 什么是 MCP MCP (Model Context Protocol) 是一种协议,允许 AI 工具访问外部数据源和工具。通过 MCP 服务器,你可以让 AI: - 访问文件系统 - 执行网络请求 - 查询数据库 - 调用外部 API ## 打开 MCP 面板 点击顶部导航栏的 **MCP** 按钮。 ## 面板概览 ![image-20260108005723522](../../assets/image-20260108005723522.png) ## 添加 MCP 服务器 ### 使用预设模板 1. 点击右上角 **+** 按钮 2. 在「预设」下拉框中选择模板 3. 根据需要修改配置 4. 点击「保存」 ![image-20260108005739731](../../assets/image-20260108005739731.png) ### 常用预设 | 预设 | 包名 | 功能说明 | |------|------|----------| | fetch | mcp-server-fetch | HTTP 请求工具,让 AI 能够获取网页内容 | | time | @modelcontextprotocol/server-time | 时间工具,提供当前时间信息 | | memory | @modelcontextprotocol/server-memory | 记忆工具,让 AI 能够存储和检索信息 | | sequential-thinking | @modelcontextprotocol/server-sequential-thinking | 思维链工具,增强 AI 推理能力 | | context7 | @upstash/context7-mcp | 文档搜索工具,查询技术文档 | ### 自定义配置 选择「自定义」后,需要填写: | 字段 | 必填 | 说明 | |------|------|------| | 服务器 ID | 是 | 唯一标识符 | | 名称 | 否 | 显示名称 | | 描述 | 否 | 功能说明 | | 传输类型 | 是 | stdio / http / sse | | 命令 | 是* | stdio 类型必填 | | 参数 | 否 | 命令行参数 | | URL | 是* | http/sse 类型必填 | | Headers | 否 | http/sse 类型的请求头 | | 环境变量 | 否 | 传递给服务器的环境变量 | ## 传输类型 ### stdio(标准输入输出) 最常用的类型,通过启动本地进程通信。 ```json { "command": "uvx", "args": ["mcp-server-fetch"], "env": {} } ``` **要求**: - 需要安装对应的命令(如 `uvx`、`npx`) - 服务器程序需要在 PATH 中 ### http 通过 HTTP 协议与远程服务器通信。 ```json { "url": "http://localhost:8080/mcp" } ``` ### sse(Server-Sent Events) 通过 SSE 协议与服务器通信,支持实时推送。 ```json { "url": "http://localhost:8080/sse" } ``` ## 应用绑定 每个 MCP 服务器可以独立控制启用的应用。 ### 开关说明 | 开关 | 作用 | 配置文件路径 | |------|------|--------------| | Claude | 同步到 Claude Code | `~/.claude.json` 的 `mcpServers` | | Codex | 同步到 Codex | `~/.codex/config.toml` 的 `[mcp_servers]` | | Gemini | 同步到 Gemini CLI | `~/.gemini/settings.json` 的 `mcpServers` | | OpenCode | 同步到 OpenCode | `~/.opencode/config.json` 的 `mcpServers` | > ⚠️ **注意**:OpenClaw 暂不支持 MCP 服务器管理。MCP 功能目前仅支持 Claude、Codex、Gemini 和 OpenCode 四个应用。 ### 开关实现机制 当开启某个应用的开关时,CC Switch 会: 1. **更新数据库**:将服务器的 `apps.claude/codex/gemini/opencode` 状态设为 `true` 2. **同步到 Live 配置**:将服务器配置写入对应应用的配置文件 3. **即时生效**:下次启动 CLI 工具时自动加载新的 MCP 服务器 当关闭某个应用的开关时,CC Switch 会: 1. **更新数据库**:将对应应用状态设为 `false` 2. **从 Live 配置移除**:从应用配置文件中删除该服务器 3. **即时生效**:下次启动 CLI 工具时不再加载该 MCP 服务器 ### 同步条件 MCP 服务器同步仅在对应应用已安装时执行: - **Claude**:需存在 `~/.claude/` 目录或 `~/.claude.json` 文件 - **Codex**:需存在 `~/.codex/` 目录 - **Gemini**:需存在 `~/.gemini/` 目录 - **OpenCode**:需存在 `~/.opencode/` 目录 > 💡 **提示**:如果某个 CLI 工具未安装,开启对应开关不会报错,但配置不会写入。 关闭开关后,配置会从文件中移除。 ## 编辑服务器 1. 点击服务器行右侧的「编辑」按钮 2. 修改配置 3. 点击「保存」 修改会立即同步到已启用的应用配置文件。 ## 删除服务器 1. 点击服务器行右侧的「删除」按钮 2. 确认删除 删除后,配置会从所有应用的配置文件中移除。 ## 导入现有配置 如果你已经在 CLI 工具中配置了 MCP 服务器,可以导入到 CC Switch: 1. 点击「导入」按钮 2. 选择要导入的应用(Claude/Codex/Gemini/OpenCode) 3. CC Switch 会读取现有配置并导入 ## 配置文件格式 ### Claude (`~/.claude.json`) ```json { "mcpServers": { "mcp-fetch": { "command": "uvx", "args": ["mcp-server-fetch"] } } } ``` ### Codex (`~/.codex/config.toml`) ```toml [mcp_servers.mcp-fetch] command = "uvx" args = ["mcp-server-fetch"] ``` ### Gemini (`~/.gemini/settings.json`) ```json { "mcpServers": { "mcp-fetch": { "command": "uvx", "args": ["mcp-server-fetch"] } } } ``` ## 常见问题 ### 服务器启动失败 检查: - 命令是否正确安装(如 `uvx`) - 命令是否在 PATH 中 - 参数是否正确 ### 配置不生效 确保: - 对应应用的开关已开启 - 重启了 CLI 工具