【免费下载链接】leaked-claude-code
[ LEAKED | LEAK ] Claude Code source code. full claude code opensource. | claw code |
leaked-claude-code 是 Claude Code CLI 的开源源码镜像项目,内置完整的 MCP(Model Context Protocol,模型上下文协议)客户端能力,让你只需一条命令就能接入外部工具服务器,还能通过 skills、plugins、agents 三层机制扩展自定义技能。本文面向新手,手把手讲清 MCP 在该项目中是怎么工作的,并附上从"添加服务器"到"排错诊断"的完整开发者步骤。
1. 3分钟搞懂:MCP 是什么,为什么 Claude Code 需要它
可以把 AI 助手想象成一个"大脑很聪明但手无寸铁"的工程师:
- 没有 MCP:它只会读代码、写代码,无法直接查数据库、调 API、操作浏览器;
- 有了 MCP:它可以通过标准协议连接外部"工具服务器"(MCP Server),每个服务器暴露一组工具(tools),助手按需调用。
MCP 就像 AI 世界的"USB 接口"——任何符合规范的服务器即插即用。在 leaked-claude-code 中,MCP 客户端核心位于services/mcp/目录(负责服务器管理、连接、认证),调用入口是tools/MCPTool/(调用外部 MCP 服务器的工具),项目架构说明见 README.md。
💡 新手提示:你不需要读懂全部 51 万行源码,只需要掌握
claude mcp这一组命令,就能完成 90% 的接入工作。
2. 动手实战:接入你的第一个 MCP 服务器
2.1 一条命令添加 stdio 服务器
stdio 型服务器通过本地命令启动,是最常见的类型(例如文件系统、Git 服务器)。打开终端执行:
claude mcp add <服务器名> -- <启动命令> [参数...]例如添加一个基于npx的示例服务器:
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/dir2.2 添加 SSE / HTTP 远程服务器
服务器跑在远程时,使用 URL 型配置:
claude mcp add --transport sse <服务器名> -- <服务器URL>HTTP 型服务器同理,传输层实现可参考 cli/transports/SSETransport.ts。需要鉴权的服务器,项目会自动走 OAuth 流程,client_secret通过系统安全存储保存(相关逻辑见 cli/handlers/mcp.tsx 中saveMcpClientSecret的调用)。
2.3 三种作用域:选错位置会导致"配置了但没生效"
这是新手最容易踩的坑。源码中mcp add/mcp remove都支持-s参数指定作用域(cli/handlers/mcp.tsx 中ensureConfigScope的校验逻辑):
| 作用域 | 参数值 | 写入位置 | 适用场景 |
|---|---|---|---|
| local | -s local | 当前项目配置 | 只在自己这个项目生效(默认) |
| project | -s project | 项目根目录.mcp.json | 提交进仓库,团队共享 |
| user | -s user | 全局配置 | 自己所有项目通用 |
⚠️ 注意:当同名服务器存在于多个作用域时,删除命令会拒绝执行并提示你明确指定:
claude mcp remove "<服务器名>" -s local3. 验证与诊断:5个必会的检查命令
添加完成后,按下面的顺序逐一验证(命令实现均见 cli/handlers/mcp.tsx):
- 列出全部服务器并做健康检查:
claude mcp list它会并发连接所有服务器(checkMcpServerHealth),输出✓ Connected、! Needs authentication或✗ Failed to connect三种状态之一。
- 查看单个服务器详情:
claude mcp get <服务器名>显示作用域、类型(stdio/sse/http)、命令/URL、环境变量、OAuth 配置等完整信息。
- 重置项目级审批:项目级(
.mcp.json)服务器首次启动会要求你逐一批准,如果配置混乱可用:
claude mcp reset-project-choices(对应mcpResetChoicesHandler,会清空批准/拒绝记录。)
- 把自己变成服务器:leaked-claude-code 还能把 Claude Code 自身暴露为 MCP 服务器,供其他 AI 应用调用:
claude mcp serve入口是entrypoints/mcp.js的startMCPServer。
4. 进阶玩法:从 MCP 到自定义技能的三条扩展路径
README 中明确提到,该项目支持"通过 MCP servers、custom agents、custom skills 扩展而无需改动源码"。三条路径按推荐程度排序:
路径一:插件(plugins)——最推荐的打包方式
插件可以把MCP 服务器 + 技能 + 命令打包成一个可安装单元。看 cli/handlers/plugins.ts 可以发现:claude plugin list输出的 JSON 中每个插件都带有mcpServers字段——插件加载时会自动注册它携带的 MCP 服务器(loadPluginMcpServers实现)。
典型工作流:
claude plugin marketplace add <来源> # 添加插件市场 claude plugin list --available # 查看可安装插件 claude plugin install <插件名> # 安装 claude plugin validate <清单路径> # 校验插件内容(skills/agents/commands)路径二:Skills——可复用的提示词模板
skills/目录存放"技能",本质是带触发条件的提示词模板(例如/commit、/review-pr这类斜杠技能)。如果你只想沉淀"某类任务的固定做法"而无需外部工具,写 skill 比接 MCP 更轻。
路径三:自定义 Agents——让子代理绑定 MCP 服务器
子代理(sub-agent)由tools/AgentTool/驱动,可以指定独立模型和记忆。用 cli/handlers/agents.ts 的claude agents命令可查看所有已配置代理及其来源分组,方便确认你定义的 agent 是否被项目级配置覆盖(shadowed)。
5. 故障排查清单:连不上服务器先查这5点
| 症状 | 可能原因 | 排查手段 |
|---|---|---|
✗ Connection error | stdio 命令写错或依赖未安装 | 先手动跑一遍claude mcp get输出的 Command |
! Needs authentication | OAuth 未完成 | 重新执行 add 流程,确认client_id/callback_port配置 |
| 服务器存在但不生效 | 作用域冲突 | claude mcp list核对 scope,用-s显式指定 |
| 项目级服务器一直被拦截 | .mcp.json审批记录 | claude mcp reset-project-choices后重启 |
| 命令行为异常想深挖 | — | 直接读 cli/handlers/mcp.tsx 对应 handler |
6. 核心文件速查表
想进一步阅读源码,从这几个入口开始:
- cli/handlers/mcp.tsx — 全部
claude mcp *子命令的处理逻辑(add/list/get/remove/serve/reset) - cli/handlers/plugins.ts — 插件安装、marketplace 管理与 MCP 插件集成
- cli/handlers/agents.ts — 自定义代理列表与来源分组
- cli/transports/ — SSE / WebSocket 等传输层实现
- README.md — 完整架构总览(
services/mcp/、tools/MCPTool/、skills/目录说明)
7. 写在最后
leaked-claude-code 的价值在于:你既可以用claude mcp add一行命令快速接入外部工具服务器,也能顺着上面的源码路径逐层深入,学习一个工业级 AI CLI 是如何管理多作用域配置、OAuth 认证和健康检查的。建议新手按"路径二(skills)→ 路径一(plugins)→ 自定义 MCP 服务器"的顺序渐进练习,一周内即可搭出属于自己的 AI 工具体系。
【免费下载链接】leaked-claude-code
[ LEAKED | LEAK ] Claude Code source code. full claude code opensource. | claw code |
相关推荐
如何给PiClaw接入外部工具:MCP服务器与pi-mcp-adapter实战教程
如何给PiClaw接入外部工具:MCP服务器与pi mcp adapter实战教程 PiClaw 是一个带彩色 Web 外套的 pi coding agent,
learn-claude-code s14:MCP 工具发现与动态工具池——把外部服务接入 Agent Loop
learn claude code s14:MCP 工具发现与动态工具池——把外部服务接入 Agent Loop 本篇基于 learn claude code
示例工程教程人工智能AI Agent代码智能体Claude Code的MCP协议实现拆解:claude-code-source-code如何让AI Agent接入外部工具
Claude Code的MCP协议实现拆解:claude code source code如何让AI Agent接入外部工具 Claude Code 是 Ant
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考