本章总览
MCP (Model Context Protocol) 让 Claude Code 连接外部工具服务器。本章从协议角度解释:stdio/SSE 传输、工具发现、auth 状态机,以及为何 MCP 是生态扩展的关键。
总览图
渲染图表中…
学完本章你应该能
- 说出 MCP 解决的痛点
- 理解连接→发现→call 三阶段
- 知道 MCP 工具如何并入 getAllTools()
核心概念(先读懂这些)
MCP 是 USB 口
内置工具是主板自带接口;MCP 让你插第三方「外设」——数据库、浏览器、Jira 等,无需改 Claude Code 源码。
传输方式选型
stdio 适合本地子进程;SSE/HTTP 适合远程服务。auth 失败时 UI 有专门 MCP 配置屏引导用户。
建议学习步骤
- 读 MCP 流程图
- 配置一个简单 MCP server 试验
- 对照 MCPTool 实现
MCP 连接状态机
渲染图表中…
MCP 传输层对比
渲染图表中…
MCP 架构(文字版)
Claude Code ←→ MCP Client (services/mcp/client.ts)
┌───────────┼───────────┐
▼ ▼ ▼
stdio 进程 SSE 连接 HTTP 端点
外部工具服务器 (Git/DB/Browser/...)
核心文件
| 文件 | 职责 |
|---|---|
| services/mcp/client.ts (3349行) | MCP 连接池、工具发现、资源预取 |
| services/mcp/auth.ts | OAuth/API Key 认证 |
| tools/MCPTool/ | MCP 工具桥接 |
MCP 工具映射
原理
MCP server 的 tool 被映射为 Claude API 的 tool schema。命名规则 mcp__{serverName}__{toolName}。
配置来源
1. ~/.claude.json → mcpServers
2. .mcp.json (项目级)
3. plugin 内置 MCP 配置
4. /mcp 斜杠命令动态添加
本章小结与延伸
MCP = 标准化外部能力。学懂 MCP 就懂 Claude Code 生态扩展模型。 继续学习: