深色模式
MCP 是什么?Codex、Claude Code 与 Gemini CLI 的安装配置教程(2026)
MCP(Model Context Protocol)是一套让 AI 客户端调用外部工具和数据源的协议。它解决的是“模型如何发现并调用工具”的连接问题,不会自动替你解决账号、API 额度、文件权限或数据安全。Codex、Claude Code、Gemini CLI 的配置入口和字段可能不同,因此应先理解 Server 的命令、参数和权限,再按客户端当前文档接入。
MCP 生态更新很快。发布前请打开各客户端当前文档,核对命令、配置文件路径和安全提示。示例只使用本地测试目录,不要直接把生产凭据或整个硬盘暴露给 Server。
MCP 的三个角色
| 角色 | 作用 | 例子 |
|---|---|---|
| Host/客户端 | 展示对话并决定是否允许工具调用 | Codex、Claude Code、Gemini CLI |
| MCP Server | 把文件、数据库或 API 包装成可调用工具 | 文件系统、Git、内部检索服务 |
| 模型 | 根据上下文选择是否调用工具 | GPT、Claude、Gemini 等 |
MCP Server 不是模型,也不是 API Key。一个 Server 可以连接多个模型,但每个模型的工具调用能力、上下文和权限仍由客户端与提供商决定。
先用本地测试目录
新建一个只放测试文件的目录,例如 mcp-demo,里面不要放 .env、SSH Key、客户资料或生产源码。然后准备一个最小 Server 配置。常见 stdio 形式如下:
json
{
"mcpServers": {
"demo-files": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"C:/path/to/mcp-demo"
]
}
}
}包名、配置文件位置和允许的参数要以 Server 仓库及客户端当前文档为准。不要把网上复制的 Server 配置直接指向 C:\、用户目录或生产挂载盘。
Claude Code 的配置思路
Claude Code 的版本通常提供命令行添加 MCP Server 的方式,也可能支持项目级配置文件。先查看当前版本帮助:
bash
claude mcp --help如果当前版本支持 add,按帮助中的参数添加本地 stdio Server;添加后先查看列表,再让客户端执行只读任务。项目级配置适合团队复现,全局配置适合个人工具,但全局工具更容易被不相关项目调用。
Codex 的配置思路
Codex 的 MCP 入口、配置文件和权限提示以当前版本说明为准。先在 Codex 的设置或 CLI 帮助中确认:
- 是否支持 stdio、HTTP 或远程 Server;
- 配置是用户级还是项目级;
- 是否需要在首次调用时确认工具;
- 环境变量如何传给 Server;
- Server 的读写范围如何限制。
不要把 Claude Code 的 JSON 文件原样复制到 Codex。即使字段名称相似,认证、启动方式和权限确认也可能不同。
Gemini CLI 的配置思路
Gemini CLI 的 MCP 支持和命令名会随版本更新。先打开官方仓库的 README 和本地帮助,确认当前版本是否支持 MCP、配置文件路径以及 stdio/HTTP 的写法:
bash
gemini --help测试时只接入一个只读 Server。让 CLI 先列出可用工具和目录,再执行一条明确的查询。若终端要求设置 API Key,参考 Gemini CLI 安装与配置教程,不要把 MCP 的环境变量和 Gemini API Key 混写到公开文件中。
MCP 安全边界
接入前至少确认:
- Server 来自可审查的仓库或内部来源;
command和args不会执行隐藏下载、删除或上传;- 允许路径是最小测试目录;
- API Token 使用独立、可撤销的低权限凭据;
- 工具调用需要人工确认时,保留确认步骤;
- 日志不记录 Key、个人资料和完整文件内容;
- 第三方远程 Server 的数据去向、留存和费用已经核对。
MCP 工具一旦获得写入权限,模型可能在你的确认下修改文件或发起外部请求。把“能调用”与“允许调用”分开,先只读,再单项开放写入。
常见错误
| 错误 | 常见原因 | 排查方法 |
|---|---|---|
| Server 启动即退出 | Node/Python 版本、包名或参数错误 | 直接在终端运行 command,查看 stderr |
| 找不到工具 | 配置未加载或客户端版本不支持 | 检查项目/用户配置路径和帮助输出 |
| 401/403 | Server 的 Token、项目或账号权限 | 单独核对 Server 文档和项目权限 |
| 连接超时 | HTTP 地址、代理或进程阻塞 | 先用本地 stdio,再测试远程连接 |
| 工具能读不能写 | 目录权限或客户端确认 | 检查 OS 权限和工具确认状态 |
| 429 | 外部 API 配额或并发限制 | 降低调用频率,查看对应服务 Usage |
遇到问题时先把模型换成“列出工具”,再调用一个最小参数;不要一开始同时启用十几个 Server。
MCP 适合做什么
- 让 Agent 查询本地项目、Git 变更和文档;
- 把内部知识库封装为带权限的搜索工具;
- 在人工确认后执行测试、生成报告或更新工单;
- 统一多个模型对文件和业务 API 的访问入口。
MCP 不等于自动化平台,也不等于“模型可以访问所有数据”。真正可靠的方案仍要有权限、审计、超时、重试、成本和回滚设计。