MCP 集成
Model Context Protocol 客户端与服务器管理
MCP (Model Context Protocol) 是 Claude Code 连接外部工具和资源的标准协议。它支持多种 MCP 服务器类型,实现了工具发现、资源访问和权限管理。
核心要点
设计亮点
保镖式白名单——整个插件要么进要么不进
MCP 的权限控制在插件(通道)级别而非工具级别。一个 MCP 服务器要么被完全信任,要么完全不被信任。这比逐工具审核安全得多:如果只控制工具,恶意插件可以随时注册新工具绕过限制。控制整个通道,就堵死了这条路。
白名单在云端可热更新
MCP 通道白名单存储在 GrowthBook(云端功能开关服务)中。发现某个 MCP 插件有漏洞?运维在后台把它移出白名单,全球所有 Claude Code 用户立即生效——不需要发布新版本,不需要用户手动更新。这种'远程断路器'设计在安全事件响应中至关重要。
7 种配置作用域像俄罗斯套娃
MCP 配置有 7 层作用域,从个人到企业。企业管理员可以在最外层强制要求使用特定的安全 MCP 服务器,团队可以在中层添加团队专用工具,个人可以在最内层自定义。冲突时,更具体(更内层)的配置优先。这让大组织既能统一管控,又给个人留有灵活空间。
模块架构图
services/mcp/client.ts500 LOCMCP 客户端接口
services/mcp/config.ts600 LOCMCP 配置解析和管理
services/mcp/MCPConnectionManager.tsx800 LOC连接状态管理
services/mcp/types.ts300 LOCMCP 类型定义
services/mcp/channelAllowlist.ts200 LOC通道白名单
services/mcp/channelPermissions.ts300 LOC通道权限
tools/MCPTool/MCPTool.ts500 LOCMCP 工具执行
utils/mcpWebSocketTransport.ts400 LOCWebSocket 传输
关键代码
深入解析
MCP 让 Claude Code 能够无限扩展工具能力,连接到任何实现了 MCP 协议的服务器。它是 Claude Code 与外部世界对接的标准化桥梁。
内置服务器包括 Chrome 集成和 Computer Use(计算机控制),无需额外配置即可使用。
通道白名单采用'保镖式'设计——不是在工具级别做权限控制,而是在整个插件(通道)级别。一个插件要么被完全信任并放行,要么完全被阻止。这比逐工具审核更安全,因为恶意插件无法通过添加新工具来绕过限制。
白名单数据存储在 GrowthBook(功能开关服务)中,可以在云端热更新。发现某个 MCP 插件有安全漏洞?不需要发版——在 GrowthBook 里把它移出白名单,所有用户立即生效。
MCP 配置支持 7 种作用域层级:个人全局 → 个人项目 → 团队全局 → 团队项目 → 企业全局 → 企业项目 → 运行时参数。像俄罗斯套娃一样,内层优先级高于外层。
MCP 输出会被缓存到 mcpOutputStorage,相同的工具调用不会重复执行,提高效率并降低外部 API 调用成本。
WebSocket 传输层支持长连接和双向通信——MCP 服务器可以主动推送状态变更,而不只是被动响应请求。
动态工具注册意味着连接一个新的 MCP 服务器后,它的工具自动出现在 AI 可用工具列表中,无需重启或手动配置。