犀牛鸟 2026 研究笔记 estelledc.github.io

MCP 集成对比:Claude Code vs Codex CLI

Model Context Protocol 是 AI Agent 的”USB 接口标准”。两大 Coding Agent 对 MCP 的实现路径截然不同——Claude Code 走全功能深度集成,Codex 走精简实用双角色路线。

MCP 协议现状(2025-11-25 规范)

维度 详情
规范版本 2025-11-25(最新)
治理 Linux Foundation · Agentic AI Foundation
核心传输 stdio(本地)+ Streamable HTTP(远程,取代旧 HTTP+SSE)
认证 OAuth 2.0/2.1 + Bearer Token + URL mode elicitation
最新特性 Async Tasks、增量 scope 同意、Extensions 框架、Tool 图标

传输类型对照

传输 场景 特点
stdio 本地进程通信 JSON-RPC over stdin/stdout,零网络开销
Streamable HTTP 远程服务器(推荐) HTTP POST + 可选 SSE 流式返回,支持断线恢复
HTTP+SSE(废弃) 远程(旧) 单向推送,已被 Streamable HTTP 取代
WebSocket 全双工低延迟 非规范标准,部分客户端支持

Claude Code 的 MCP 实现

架构定位

MCP 是 Claude Code 的核心扩展机制。Plugin、Skill、外部 Agent 连接都基于 MCP 协议。源码中 services/mcp/ 目录包含 23 个文件,实现了协议的所有主要特性。

传输支持(7 种)

传输 状态 说明
stdio 默认 本地 MCP 服务器标准方式
Streamable HTTP 支持 远程服务器推荐传输
SSE 兼容 旧版远程服务器兼容
WebSocket 支持 全双工场景(如 Neovim 集成)
自动重连 内置 连接断开后自动恢复
Channel 内置 Push messages 主动推送
Auth Stub 内置 Headless/SDK 模式认证隔离

配置层级(三层优先级)

优先级:Local > Project > User

Local:   ~/.claude.json(项目路径下)    → 仅个人
Project: .mcp.json(仓库根目录)         → 团队共享,可 git 提交
User:    ~/.claude.json(全局)           → 个人所有项目

.mcp.json 支持环境变量展开:${VAR}${VAR:-default},避免密钥入库。

OAuth 认证流

用户触发 → Claude Code 启动本地 HTTP Server
         → 打开浏览器跳转 OAuth Provider
         → 用户授权 → 回调到本地 Server
         → 获取 token → 存储并注入后续请求

可配置选项:

Elicitation 机制

MCP 服务器可在工具执行过程中向用户请求结构化输入:

MCP Server → 发送 JSON Schema 定义的表单
Claude Code → 渲染表单给用户
User → 填写并提交
Claude Code → 将结果返回 MCP Server

支持两种模式:

Tool Search(延迟加载)

当连接的 MCP 服务器暴露大量工具时(>50),不把所有工具塞进 system prompt:

  1. 维护工具元数据索引
  2. LLM 按需描述需要的能力
  3. 匹配并加载相关工具到当前上下文

作为 MCP 服务器

claude mcp serve

暴露 Claude Code 完整能力给其他 MCP 客户端,用于:

其他特性


Codex CLI 的 MCP 实现

架构定位

MCP 是 Codex 的工具扩展通道之一(与内置工具、shell 命令并列)。实现在 codex-rs/mcp-server/ crate 中,走精简实用路线。

传输支持(2 种)

传输 状态 说明
stdio 默认 本地 MCP 服务器
Streamable HTTP 支持 远程服务器,Bearer Token 或 OAuth

配置方式

CLI 命令添加

codex mcp add <server-name> -- <command> [args...]

TOML 配置文件

# ~/.codex/config.toml(全局)或 .codex/config.toml(项目级)

[mcp_servers.filesystem]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/path"]
env = { SOME_KEY = "value" }
cwd = "/working/dir"
startup_timeout_sec = 30

[mcp_servers.my-remote-mcp]
url = "https://mcp.example.com/server"
bearer_token_env_var = "MY_TOKEN_ENV"

工具过滤

[mcp_servers.my-server]
command = "my-mcp-server"
enabled_tools = ["tool1", "tool2"]
disabled_tools = ["dangerous-tool"]
required = true  # 启动失败时终止 Codex

配置层级:2 层(全局 + 项目),App/IDE/CLI 共享同一份 config.toml

作为 MCP 服务器

codex --mcp-server

暴露 2 个工具

工具 功能
codex() 创建新 Codex 会话(接受 Config 结构参数)
codex-reply() 通过 thread_id + prompt 继续已有会话

传输方式:stdio JSON-RPC(作为子进程被启动)。

与 Agents SDK 集成

OpenAI Agents SDK
    │
    ├── 通过 stdio 启动 Codex CLI 子进程
    ├── Codex 作为 MCP Server 保持活跃
    ├── Orchestrator Agent 通过 codex() 派发任务
    ├── 通过 codex-reply() 继续对话
    └── 支持 tracing / handoffs / guardrails

典型场景:一个 orchestrator agent 调度多个 Codex 实例,各自在独立 worktree 中工作。

外部客户端兼容

任何 MCP 客户端都可连接 Codex MCP Server:


关键差异矩阵

维度 Claude Code Codex CLI
设计哲学 全功能 MCP 客户端,协议所有特性深度集成 精简实用,聚焦 stdio + HTTP 两种核心传输
传输数量 7 种 2 种
配置格式 JSON TOML
配置层级 3 层 2 层
Server 暴露 完整能力暴露 仅 2 个工具(codex / codex-reply)
OAuth 完整浏览器流 + 多种覆盖 Bearer Token + 基础 OAuth
Elicitation 完整实现 未文档化
Tool Search 延迟加载(大量工具时按需搜索) 手动过滤(白名单/黑名单)
动态更新 服务器运行时通知新工具 未文档化
Push 消息 Channel 机制支持 未文档化
实现语言 TypeScript (services/mcp/, 23 文件) Rust (codex-rs/mcp-server/ crate)
互操作 可将 Codex 作为 MCP Server 接入 可将 Claude Code 作为 MCP Server 接入

互操作场景

Claude Code 调用 Codex

// .mcp.json
{
  "mcpServers": {
    "codex": {
      "command": "codex",
      "args": ["--mcp-server"]
    }
  }
}

Claude Code 可通过 codex() 工具将子任务委派给 Codex 在沙箱中执行。

Codex 调用 Claude Code

# .codex/config.toml
[mcp_servers.claude]
command = "claude"
args = ["mcp", "serve"]

Codex 可通过 Claude Code MCP Server 获取深度推理能力。

多 Agent 混合编排

Agents SDK (Orchestrator)
    ├── Codex Instance 1 (MCP Server) → 前端开发
    ├── Codex Instance 2 (MCP Server) → 后端开发
    └── Claude Code (MCP Server)      → 代码审查 + 安全审计

演进趋势

Claude Code 方向:持续深化 MCP 集成,让 MCP 成为一切扩展的统一协议层。Plugin Marketplace 本质上是 MCP 服务器的发现和安装机制。

Codex 方向:保持精简 MCP 实现,把复杂编排逻辑外推到 Agents SDK。Codex 自身定位为多 Agent 网络中的一个高质量执行节点。

共同趋势:两者都支持作为 MCP Server 被对方调用,互操作正在成为现实。2025-11-25 规范的 Async Tasks 特性将进一步推动跨 Agent 协作。


交叉引用