作用域管理

MCP 三级作用域的合并与覆盖机制,让多项目环境下的 MCP 配置互不干扰。

综合8 分钟

一、为什么需要了解作用域合并

claude mcp add 添加 MCP Server 时,命令的 --scope 参数有 localprojectuser 三个值。在添加 MCP Server 中操作过这个参数后,一个疑问很快出现:如果同一个 MCP Server 名称同时存在于多个作用域,最终生效的是哪份配置?

这个问题在单项目场景下不明显。一旦进入多项目环境——GitHub MCP 每个项目都要用、Sentry 只有后端项目需要、同事用 Linear 而你用 Jira——不理解合并规则会导致两类问题:

  • 配置了 Server 却不生效——因为更高优先级的作用域中存在同名配置将其覆盖
  • 以为修改了配置,实际修改的是被覆盖的低优先级版本

二、作用域合并的工作方式

三个作用域的存储位置

MCP Server 配置存储在三个独立位置,每个位置对应不同的生效范围:

作用域存储位置--scope 参数值生效范围
Local~/.claude.json(按项目路径隔离)local(默认值)仅当前用户 + 仅当前项目
Project项目根目录 .mcp.jsonproject所有用户 + 仅当前项目
User~/.claude.json(全局段)user仅当前用户 + 所有项目

Local 和 User 都写入 ~/.claude.json,但 Claude Code 内部按项目路径将它们隔离为独立的配置段。Project 写入项目根目录的 .mcp.json,可提交到版本控制供团队共享。

三个作用域的命名在历史版本中发生过变更。旧文档中的 project 对应当前的 local,旧文档中的 global 对应当前的 user。当前版本新增了 project 作用域(通过 .mcp.json 共享)。

合并规则

付费内容

继续阅读完整课程

购买后即可解锁全部 16 个功能模块、实战场景与深度配置。

¥199¥399
  • 30 分钟完成第一个真实任务
  • 实战场景 + 深度配置
  • 长期访问,持续更新
MCP 完全指南7/11