Skip to content

MCP 系统

MCP(Model Context Protocol)是 Codex 的工具扩展协议,允许 AI 模型通过标准化接口与外部工具和服务交互。

什么是 MCP

MCP 是一种开放协议,定义了 AI 模型与外部工具之间的通信标准。通过 MCP,Codex 可以:

  • 搜索互联网信息
  • 操作文件系统
  • 查询文档数据库
  • 管理 GitHub 仓库
  • 执行自定义工具

核心概念

MCP 类似于 AI 应用的"USB 接口"——它提供了一种标准化的方式让 AI 模型连接和使用各种外部工具。

MCP 服务器类型

stdio 类型

通过本地命令启动,使用标准输入/输出通信:

toml
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp@latest"]

适用场景:

  • 本地文件操作
  • 本地工具集成
  • 需要访问本地资源的工具

HTTP 类型

通过 HTTP 端点连接远程服务器:

toml
[mcp_servers.github]
url = "https://api.githubcopilot.com/mcp/"
startup_timeout_sec = 60
bearer_token_env_var = "GITHUB_PAT_TOKEN"

适用场景:

  • 远程 API 服务
  • 云端工具集成
  • 需要网络访问的工具

配置结构

基本配置

toml
[mcp_servers.<server_name>]
# stdio 类型
command = "可执行文件"
args = ["参数1", "参数2"]
startup_timeout_sec = 60

# 或 HTTP 类型
url = "https://api.example.com/mcp/"
bearer_token_env_var = "ENV_VAR_NAME"

环境变量

toml
[mcp_servers.<server_name>.env]
API_KEY = "your-api-key"
API_HOST = "https://api.example.com"

工具审批

toml
[mcp_servers.<server_name>.tools.<tool_name>]
approval_mode = "approve"   # 自动批准
# approval_mode = "deny"   # 自动拒绝
# 不设置 = 每次询问

已安装的 MCP 服务器

完整列表

服务器名称类型命令/URL说明
MiniMaxstdiouvx minimax-coding-plan-mcpMiniMax 编码计划
context7stdionpx @upstash/context7-mcpContext7 文档查询
sequential-thinkingstdionpx @modelcontextprotocol/server-sequential-thinking顺序思考工具
memorystdionpx @modelcontextprotocol/server-memory记忆图谱管理
filesystemstdionpx @modelcontextprotocol/server-filesystem文件系统操作
timestdiouvx mcp-server-time时区转换
fetchstdiouvx mcp-server-fetch网页内容获取
githubHTTPhttps://api.githubcopilot.com/mcp/GitHub API 集成

各服务器工具详情

MiniMax

工具审批模式说明
web_searchapprove网络搜索
understand_image默认图像理解
web_search (MiniMax)默认MiniMax 搜索

filesystem

工具审批模式说明
read_text_file默认读取文件
write_fileapprove写入文件
edit_fileapprove编辑文件
create_directoryapprove创建目录
list_directory默认列出目录
search_files默认搜索文件
get_file_info默认获取文件信息
move_file默认移动文件
read_multiple_files默认读取多个文件
read_media_file默认读取媒体文件
list_allowed_directories默认列出允许的目录
list_directory_with_sizes默认列出目录及大小
directory_tree默认目录树视图

memory

工具说明
create_entities创建知识图谱实体
delete_entities删除实体
create_relations创建实体关系
delete_relations删除关系
add_observations添加观察
delete_observations删除观察
read_graph读取完整图谱
search_nodes搜索节点
open_nodes打开特定节点

github

工具说明
create_pull_request创建 PR
get_file_contents获取文件内容
list_commits列出提交
search_code搜索代码
merge_pull_request合并 PR
create_branch创建分支
以及更多...

context7

工具说明
resolve-library-id解析库 ID
query-docs查询文档

time

工具说明
get_current_time获取当前时间
convert_time时区转换

fetch

工具说明
fetch获取网页内容

sequential-thinking

工具说明
sequentialthinking顺序思考分析

工具审批模式

审批级别

模式说明适用场景
approve自动批准,无需确认低风险操作(读取、搜索)
deny自动拒绝执行危险操作(删除、修改生产数据)
未设置每次执行前询问用户中等风险操作

配置示例

toml
# 自动批准网络搜索
[mcp_servers.MiniMax.tools.web_search]
approval_mode = "approve"

# 自动批准文件写入
[mcp_servers.filesystem.tools.write_file]
approval_mode = "approve"

[mcp_servers.filesystem.tools.edit_file]
approval_mode = "approve"

[mcp_servers.filesystem.tools.create_directory]
approval_mode = "approve"

审批建议

操作类型建议模式原因
文件读取approve无副作用
文件写入approve/deny根据项目信任级别
文件删除不设置(询问)不可逆操作
网络搜索approve无副作用
API 调用不设置(询问)可能有副作用
命令执行不设置(询问)风险较高

添加新的 MCP 服务器

通过配置文件

~/.codex/config.toml 中添加:

toml
[mcp_servers.my-custom-server]
command = "npx"
args = ["-y", "my-mcp-server"]
startup_timeout_sec = 30

[mcp_servers.my-custom-server.env]
MY_API_KEY = "your-key"

通过 CLI

bash
codex mcp add my-custom-server --command npx --args "-y" "my-mcp-server"

验证配置

bash
# 列出所有 MCP 服务器
codex mcp list

# 测试连接
codex mcp test <server-name>

故障排除

服务器无法启动

  1. 检查命令是否正确安装:

    bash
    which npx
    which uvx
  2. 检查超时设置:

    toml
    startup_timeout_sec = 120  # 增加超时时间
  3. 检查环境变量:

    bash
    echo $GITHUB_PAT_TOKEN

工具不可用

  1. 确认服务器已启动
  2. 检查工具名称拼写
  3. 查看日志:~/.codex/logs_2.sqlite

权限被拒绝

  1. 检查工具审批模式配置
  2. 确认项目信任级别
  3. 检查文件系统权限

下一步

基于 Codex CLI v0.142.5