🎬 HoRain云小助手个人主页

 🔥 个人专栏: 《Linux 系列教程》《c语言教程

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

什么是 MCP?

MCP 基础配置

Codex 配置菜单

配置文件位置

stdio 类型服务器

配置 stdio MCP 服务器

HTTP 类型服务器

配置 HTTP MCP 服务器

MCP 工具配置

限制可用工具

工具白名单/黑名单

超时配置

配置超时

MCP 认证配置

OAuth 配置

配置 OAuth

HTTP 头配置

配置 HTTP 头

OAuth 回调配置

配置 OAuth 回调

MCP 工具权限

配置工具权限

常用 MCP 服务器

文件系统服务器

文件系统 MCP

GitHub 服务器

GitHub MCP

PostgreSQL 服务器

PostgreSQL MCP

常用 MCP 服务器

故障排除

服务器启动失败

工具调用超时

认证问题

常见问题

Q: MCP 服务器无法启动?

Q: 工具权限在哪里配置?

Q: 如何禁用某个 MCP 服务器?

Q: 支持多少个 MCP 服务器?


img

MCP(Model Context Protocol,模型上下文协议)允许 Codex 与外部工具和服务集成。

本节详细介绍如何配置和使用 MCP 服务器。


什么是 MCP?

MCP 是一个开放协议,允许 AI 模型与外部工具和服务进行标准化交互。通过 MCP 服务器,你可以扩展 Codex 的能力:

  • 连接文件系统
  • 访问数据库
  • 集成项目管理工具
  • 调用外部 API
MCP 基于开放的  Model Context Protocol 构建,支持跨不同工具的标准化集成。

MCP 基础配置

Codex 配置菜单

通过设置菜单可以管理或添加 MCP 服务:

连接至自定义 MCP:

配置文件位置

MCP 服务器在 ~/.codex/config.toml 的 mcp_servers 部分配置。

stdio 类型服务器

配置 stdio MCP 服务器

[mcp_servers.filesystem]
# 服务器启动命令
command = "npx"

# 传递给命令的参数
args = ["-y", "@modelcontextprotocol/server-filesystem", "./docs"]

# 服务器工作目录
cwd = "/path/to/workdir"

# 传递环境变量
env = {
    NODE_ENV = "production"
}

HTTP 类型服务器

配置 HTTP MCP 服务器

[mcp_servers.docs]
# MCP HTTP 服务器端点
url = "https://docs.example.com/mcp"

# 包含的 HTTP 头
http_headers = {
    Authorization = "Bearer token"
}


MCP 工具配置

限制可用工具

你可以限制 MCP 服务器暴露的工具:

工具白名单/黑名单

[mcp_servers.filesystem]
# 允许的工具列表
enabled_tools = ["read_file", "write_file", "list_directory"]

# 拒绝的工具列表(在 enabled_tools 之后应用)
disabled_tools = ["delete_file"]

使用工具限制可以提高安全性,只暴露你需要的工具。

超时配置

配置超时

[mcp_servers.slow_server]
command = "python"
args = ["-m", "slow_server"]

# 启动超时(秒,默认 10)
startup_timeout_sec = 30

# 每个工具调用超时(秒,默认 60)
tool_timeout_sec = 120


MCP 认证配置

OAuth 配置

配置 OAuth

[mcp_servers.protected]
url = "https://api.example.com/mcp"

# 请求的 OAuth 范围
scopes = ["read", "write"]

# OAuth 资源参数
oauth_resource = "codex-integration"

# Bearer token 环境变量
bearer_token_env_var = "EXAMPLE_API_TOKEN"

HTTP 头配置

配置 HTTP 头

[mcp_servers.api]
url = "https://api.example.com/mcp"

# 从环境变量填充 HTTP 头
env_http_headers = {
    X_API_KEY = "MY_API_KEY"
}

# 静态 HTTP 头
http_headers = {
    X_Custom_Header = "value"
}


OAuth 回调配置

配置 OAuth 回调

# 固定回调端口
mcp_oauth_callback_port = 8080

# 自定义回调 URL
mcp_oauth_callback_url = "https://my-devbox.example.com/callback"

# 凭证存储位置
mcp_oauth_credentials_store = "keyring"  # file | keyring | auto


MCP 工具权限

你可以为每个 MCP 服务器的工具单独设置权限:

配置工具权限

[mcp_servers.docs.tools.search]
# 权限模式:ask | approve | deny
approval_mode = "approve"

权限模式 说明
ask 每次执行前询问(默认)
approve 自动批准
deny 自动拒绝
配置工具权限时要小心,确保只授予你信任的工具自动批准权限。

常用 MCP 服务器

文件系统服务器

文件系统 MCP

[mcp_servers.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "./docs"]

GitHub 服务器

GitHub MCP

[mcp_servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
env = {
    GITHUB_PERSONAL_ACCESS_TOKEN = "your-token-here"
}

PostgreSQL 服务器

PostgreSQL MCP

[mcp_servers.postgres]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost/db"]


常用 MCP 服务器

你可以通过 npm 安装更多 MCP 服务器:

# 搜索 MCP 服务器
npm search @modelcontextprotocol/server

# 安装 MCP 服务器
npm install -g @modelcontextprotocol/server-filesystem
OpenAI 官方提供了多种 MCP 服务器,查看  GitHub 仓库 获取完整列表。

故障排除

服务器启动失败

检查以下内容:

  • 命令和参数是否正确
  • 是否已安装必要的依赖
  • 环境变量是否设置正确

工具调用超时

增加超时时间:

tool_timeout_sec = 120

认证问题

确保 OAuth 回调端口未被占用,凭证存储配置正确。

使用  codex --verbose 可以查看详细的 MCP 调试信息。

常见问题

Q: MCP 服务器无法启动?

检查命令是否正确安装,尝试手动运行命令确认没有错误。

Q: 工具权限在哪里配置?

在配置文件的 mcp_servers.<id>.tools.<tool> 部分配置。

Q: 如何禁用某个 MCP 服务器?

在配置中添加 enabled = false 或直接删除配置。

Q: 支持多少个 MCP 服务器?

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

更多推荐