开发者必看:三大 CLI 工具 MCP 配置详解

以下是三家 CLI 工具的 MCP 配置核心差异概述,后续章节将详细介绍每个工具的具体配置方式:

  • Gemini CLI :使用 .gemini/settings.json(项目级)和 ~/.gemini/settings.json(用户级),通过 mcpServersmcp 统一管理
  • Codex CLI :使用 .codex/config.toml(项目级,逐层加载)和 ~/.codex/config.toml(用户级)
  • Claude Code :使用 .mcp.json(项目级)和 ~/.claude.json(用户级),支持 local/project/user 三个作用域

Gemini CLI(google/gemini-cli)

配置位置

  • 项目级.gemini/settings.json
  • 用户级~/.gemini/settings.json

常用命令

bash 复制代码
gemini mcp add/list/remove # 默认 project 作用域
gemini mcp add <server> -s/--scope user # 指定 user 作用域

配置结构示例

项目级配置(.gemini/settings.json)

json 复制代码
{
  "mcpServers": {
    "team-server": {
      "type": "http",
      "url": "https://mcp.example.com",
      "headers": {
        "Authorization": "Bearer {{TOKEN}}"
      }
    }
  },
  "mcp": {
    "allow": ["*.example.com"],
    "exclude": ["node_modules/**"]
  }
}

用户级配置(~/.gemini/settings.json)

json 复制代码
{
  "mcpServers": {
    "personal-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["mcp-server", "--port", "3000"]
    }
  }
}

作用域与优先级

  • 通过 settings.jsonmcpServersmcp 统一管理
  • gemini mcp add 支持 -s/--scope 参数,默认值为 project
  • 项目级配置会覆盖用户级同名配置

Codex CLI(openai/codex)

配置位置与加载层级

Codex 使用 config.toml 文件,并按以下顺序层叠加载(优先级从高到低):

  1. 运行时配置 :通过 --config 等参数临时覆盖
  2. 项目层配置 :从当前目录向上查找 .codex/config.toml,越接近当前目录优先级越高
  3. 用户层配置$CODEX_HOME/config.toml(默认 ~/.codex/config.toml

项目根目录识别

Codex 会基于 项目根 来确定搜索边界,默认以 .git 作为项目根标记。可在配置中改写 project_root_markers

toml 复制代码
project_root_markers = [".git", ".codex-root", "package.json"]

常用命令

bash 复制代码
# 主要通过编辑 config.toml 文件
# OAuth 登录命令
codex mcp login <name>

配置结构示例

项目级配置(.codex/config.toml)

toml 复制代码
[mcp_servers.team-shared]
command = "npx"
args = ["-y", "mcp-server", "--env", "production"]

[mcp_servers.http-server]
url = "https://api.example.com/mcp"
bearer_token_env_var = "MCP_TOKEN"

用户级配置(~/.codex/config.toml)

toml 复制代码
[mcp_servers.personal-test]
command = "python"
args = ["-m", "mcp_server", "--debug"]

# 全局 MCP 设置
[mcp]
default_server = "team-shared"

作用域与优先级

  • 配置按层叠顺序加载,越接近当前目录优先级越高
  • 运行时配置 > 项目层配置 > 用户层配置
  • 项目根目录默认以 .git 为界

Claude Code(claude-code)

配置位置

  • 项目级.mcp.json(建议纳入版本控制,团队共享)
  • 用户级~/.claude.json(跨项目共享)

常用命令

bash 复制代码
claude mcp add <server> --scope project # 项目级配置
claude mcp add <server> --scope user    # 用户级配置
claude mcp list --scope all             # 查看所有配置
claude mcp remove <server> --scope local # 移除本地配置

配置结构示例

项目级配置(.mcp.json)

json 复制代码
{
  "servers": {
    "team-mcp": {
      "type": "http",
      "url": "https://mcp.team.example.com",
      "headers": {
        "X-Team": "engineering"
      }
    }
  },
  "default": "team-mcp"
}

用户级配置(~/.claude.json)

json 复制代码
{
  "mcp": {
    "servers": {
      "personal-local": {
        "type": "stdio",
        "command": "npx",
        "args": ["mcp-server", "--port", "4000"]
      }
    },
    "local": {
      "current-project-id": {
        "servers": {
          "local-override": {
            "type": "http",
            "url": "http://localhost:3000"
          }
        }
      }
    }
  }
}

作用域与优先级

  • 优先级顺序:local > project > user
  • local 作用域 :存储在 ~/.claude.json 中,但仅对当前项目生效
  • 项目级配置 :通过 .mcp.json 文件共享,适合团队协作
  • 用户级配置:跨项目共享,适合个人偏好设置

选择建议(按场景)

团队协作场景

  • 优先使用项目级配置:把 MCP 服务器、权限、默认命令固定下来
  • 将配置文件纳入版本控制,确保团队成员使用一致的设置
  • 避免在项目级配置中存储敏感信息,可使用环境变量替代

个人习惯场景

  • 使用用户级配置:承载个人路径、密钥与实验性配置
  • 适合不同项目需要的个性化设置

配置覆盖场景

  • 使用 local 作用域:在不修改团队配置的情况下,针对特定项目进行最小化覆盖
  • 适合临时测试或本地开发需求

参考链接

  • Gemini CLI MCP 文档:https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md
  • Codex 配置文档:https://raw.githubusercontent.com/openai/codex/main/docs/config.md
  • Codex 配置加载逻辑(项目层级):https://raw.githubusercontent.com/openai/codex/main/codex-rs/core/src/config_loader/mod.rs
  • Claude Code MCP 文档:https://code.claude.com/docs/en/mcp
相关推荐
多加点辣也没关系15 小时前
JavaScript|第4章:类型转换
开发语言·javascript
yqcoder15 小时前
httpOnly 是什么,又有什么用?
开发语言·前端·javascript
烬羽15 小时前
还在手动拼路径、写回调地狱?一文吃透 Node.js 的 path 和 fs
javascript·程序员·node.js
mONESY15 小时前
LangChain JS 高性能并行执行解析、工具调用底层封装
javascript
迅速的自行车16 小时前
从一段模板说起
前端·javascript·vue.js
YIAN17 小时前
LangChain JS 工具调用实战:基于 DeepSeek-V4-Flash 实现本地文件读取 AI 代码助手(完整可运行源码)
javascript·langchain·前端框架
尼斯湖皮皮怪17 小时前
iceCoder 记忆系统深度分析
前端·javascript
爸爸61917 小时前
07 ArkTS 基础类型与接口定义:从 TypeScript 到鸿蒙的类型升级
javascript·华为·typescript·harmonyos·鸿蒙系统
默_笙18 小时前
🌏 MCP 是 AI 界的 USB-C:一个协议让所有模型都能用上所有工具
前端·javascript
月光刺眼20 小时前
用LangChain 打造第一个 Agent:LLM 大脑与 Tool 手脚的完整闭环
javascript·人工智能·全栈