☰
ClaudeCode基础介绍:从MCP到SubAgent的TaoToken统一接入实践
2026/10/18 0:16:46 网站建设 项目流程

1. 初识 ClaudeCode:MCP、Agent Skill 与 SubAgent 到底怎么配合

如果你刚开始接触 ClaudeCode,大概率会被三个词绕晕:MCP、Agent Skill、SubAgent。它们听起来都像“让 AI 干活”的东西,但定位完全不同。我用一个类比帮你理清:把 ClaudeCode 想象成一家公司,大模型是坐在工位上的员工,MCP 是公司对外采购的标准化接口(比如快递柜、打印机驱动),Agent Skill 是员工手边的操作手册(遇到某类任务就翻哪一页),SubAgent 则是临时拉来的外包小组(独立干活、干完汇报,不占用主员工的记忆)。

先说 MCP。它的全称是 Model Context Protocol,本质是一套让模型调用外部工具的协议。你可以把它理解成“AI 世界的 USB-C 接口”——不管对面是数据库、文件系统还是某个 SaaS 服务,只要按 MCP 规范封装,ClaudeCode 就能用统一方式调用。MCP 本身不跟模型对话,它只负责列出自己有哪些 tool、每个 tool 需要什么参数,具体调哪个、怎么传参,由大模型决定。所以 MCP 是“能力供给方”,不是“决策方”。

再说 Agent Skill。它是给智能体用的“标准作业程序”。一个 Skill 就是一个文件夹,里面放一个SKILL.md,用 YAML frontmatter 写明名字和描述,正文写清楚“遇到什么任务、按什么步骤做、输出什么格式”。ClaudeCode 采用渐进式披露:平时只加载 Skill 的名字和描述,真正命中任务时才把完整内容读进上下文。这样既省 token,又让行为更可控。比如你写一个“金融 Web 测试用例生成”的 Skill,以后只要需求文档一丢,模型就知道按功能、安全、性能三个维度出表格。

最后是 SubAgent。它和 Skill 最大的区别在于上下文是否独立。Skill 共享主对话的上下文,适合“跟当前任务强相关、但不需要独占记忆”的活;SubAgent 有自己独立的上下文窗口,适合“关联小、但上下文消耗大”的任务,比如让一个只读审查者专门扫一遍代码库,扫完只把结论带回主对话,中间过程不污染主线程。在 ClaudeCode 里运行/agent就能创建,选 User-level 会存到~/.claude/agents/,所有项目都能用。

这三者的关系可以这样记:MCP 解决“能调用什么”,Skill 解决“按什么规范做”,SubAgent 解决“谁来独立做”。实际项目里它们经常组合出现——主 Agent 读 Skill 决定流程,通过 MCP 调外部工具,再把重活派给 SubAgent。理解了这个分层,后面配置就不会乱。

2. TaoToken 前置准备:统一 Key 与 API 通道怎么拿

在动手配 ClaudeCode 之前,得先解决“模型从哪来”的问题。ClaudeCode 默认走 Anthropic 官方通道,但很多开发者希望用统一入口管理多个模型、统一计费和 Key。TaoToken 就是干这个的:它提供一个兼容 Anthropic 协议的 API 通道,你拿一个 Key,就能在 ClaudeCode 里指向它,后续换模型只改一个 Model ID。

第一步,打开官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 注册并登录。登录后进控制台,找到 API Keys 页面。这里建议新建一个专用 Key,命名成claude-code-dev之类,方便以后按项目区分和吊销。创建时把 Key 复制下来,它通常只显示一次,丢了只能重建。

第二步,确认你要用的模型 ID。TaoToken 的模型对话页面能看到当前可用的模型列表,Coding Plan 页面则适合长期编码场景。对 ClaudeCode 来说,你需要的是一个支持 Anthropic 消息格式的模型 ID,比如常见的claude-sonnet-4-5这类命名。记下这个 ID,后面写进配置文件。

第三步,确认 Base URL。TaoToken 的 API 入口是https://taotoken.net/api,注意这个地址不带任何查询参数。ClaudeCode 需要的ANTHROPIC_BASE_URL就填它。如果你用的是某些需要完整路径的客户端,可能还要拼/v1,但 ClaudeCode 的 settings.json 里通常填根地址即可,具体以接入文档为准。

这里有个容易踩的坑:很多人把官网地址和 API 地址搞混。官网是带 UTM 的推广链接,API 是纯接口地址,配置里必须用后者。另外,Key 不要硬编码进会提交到 Git 的文件,建议放settings.local.json或环境变量。

准备阶段还要确认一件事:你的 ClaudeCode 版本。终端执行claude --version,如果低于当前稳定版,先claude update。因为 MCP 和 SubAgent 的部分配置项在旧版本里字段名不一样,用新版本能少很多麻烦。做完这三步,你手里应该有三样东西:一个 API Key、一个 Base URL、一个 Model ID。这就是后面配置的全部输入。

3. 可复制配置:settings.json 与 MCP 接入片段

现在进入实操。ClaudeCode 的配置分两层:用户级在~/.claude/settings.json,项目级在项目目录的.claude/settings.json。我建议把模型通道放用户级,把项目相关的 MCP 放项目级,这样换项目不用重配 Key。

先配模型通道。Windows 下用记事本打开%USERPROFILE%\.claude\settings.json,macOS/Linux 用nano ~/.claude/settings.json。如果文件不存在就新建。写入以下内容,把YOUR_API_KEY和模型 ID 换成你自己的:

{ "env": { "ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY", "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_MODEL": "claude-sonnet-4-5" } }

注意ANTHROPIC_AUTH_TOKEN和ANTHROPIC_BASE_URL的优先级高于其他配置来源,所以只要这里写对了,ClaudeCode 启动时就会走 TaoToken 通道。如果你同时装了 cc-switch 这类切换工具,确保它没有覆盖这两个变量。

接下来配 MCP。MCP 的配置可以写在用户级~/.claude.json,也可以写在项目级.mcp.json。项目级的好处是团队共享,坏处是可能泄露内部地址。下面是一个项目级.mcp.json示例,接一个本地文件系统 MCP:

{ "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/your/project"], "env": {} } } }

如果你要接的是 HTTP 类型的 MCP,比如某个远程服务,可以用命令行添加:

claude mcp add --transport http my-service https://example.com/mcp

添加完执行/mcp就能看到已安装的 MCP 列表和它们暴露的 tool。这里的关键是:MCP 配置里的command和args必须能在你的终端里直接跑通,否则 ClaudeCode 启动时会静默失败。建议先在终端手动执行一遍npx -y @modelcontextprotocol/server-filesystem /path/to/project,确认能起来再写进配置。

最后是 SubAgent 的配置。SubAgent 不用手写 JSON,直接在 ClaudeCode 里运行/agent,选 Create new agent,再选 User-level,然后按提示描述它的职责、勾选工具、选模型和颜色。保存后它会写到~/.claude/agents/下,立刻可用,不用重启。如果你要版本化管理,也可以手动创建这个目录下的 md 文件,格式和 Skill 类似,带 frontmatter。

三件套齐了:Base URL 是https://taotoken.net/api,Key 是你创建的claude-code-dev,Model ID 是claude-sonnet-4-5。这三个值在后续排障时会反复用到,建议先记在便签上。

4. 验证请求:确认 MCP 与 SubAgent 真的生效

配置写完不代表生效,必须逐步验证。第一步,验证模型通道。在终端进入任意项目目录,执行claude启动。如果配置正确,你会直接进入交互界面,不会弹出登录提示。如果弹出 OAuth 登录,说明ANTHROPIC_AUTH_TOKEN没被读到,检查 settings.json 的路径和 JSON 格式(尾逗号是常见错误)。

进入后先问一个简单问题,比如“用一句话说明你当前使用的模型”。如果模型能正常回复,说明 Base URL 和 Key 都通了。此时可以执行/status查看当前会话的模型和通道信息,确认 Model ID 和你配置的一致。

第二步,验证 MCP。执行/mcp,你应该能看到刚才配置的filesystem服务,状态是 connected,下面列出它提供的 tool,比如read_file、write_file、list_directory。如果状态是 failed,先看错误信息,常见的是command not found或路径不存在。这时回到终端手动跑一遍那个 command,把报错解决掉。

验证 MCP 真正可用,可以让 ClaudeCode 做一个实际动作:“列出当前项目根目录下的所有文件”。如果它调用了 filesystem MCP 并返回了文件列表,说明 MCP 链路完整。注意观察它是否在回复里标注了工具调用,有些版本会显示Using tool: list_directory。

第三步,验证 SubAgent。运行/agent,确认你创建的 subagent 出现在列表里。然后回到主对话,用自然语言触发它,比如“让 code-reviewer 这个 subagent 检查一下当前目录的代码风格”。如果配置正确,你会看到主对话派发任务,subagent 在独立上下文里执行,最后把结论带回。UI 上通常会用你选的颜色标识哪个 subagent 在跑。

第四步,验证 Skill。如果你创建了 Skill,执行/skills能看到列表。然后输入/skill-name直接调用,或者给一个能命中 description 的任务,观察模型是否自动加载。一个实用的验证方法是:在 Skill 里写一条特殊规则,比如“输出必须以‘SKILL-OK’开头”,然后触发它,看输出是否符合。

四步都通过,说明你的 ClaudeCode 已经完整跑在 TaoToken 通道上,MCP 和 SubAgent 都正常。这时候再去做实际开发,心里就有底了。

5. 常见报错排查:401、local proxy failed 与 reading choices

即使按步骤来,也难免遇到报错。下面是我实际踩过的几个坑,对照着排查能省不少时间。

401 Unauthorized。这是最常见的,说明 Key 没被正确识别。先检查ANTHROPIC_AUTH_TOKEN的值有没有多余空格或换行,JSON 里字符串不能断行。然后确认你用的是 TaoToken 控制台里新建的 Key,而不是旧 Key 或别的平台的 Key。如果 Key 没问题,检查ANTHROPIC_BASE_URL是不是写成了官网地址,必须是https://taotoken.net/api。还有一种情况:环境变量里存在同名的旧变量,优先级覆盖了 settings.json,用echo $ANTHROPIC_AUTH_TOKEN(macOS/Linux)或echo %ANTHROPIC_AUTH_TOKEN%(Windows)确认一下。

local proxy failed。这个报错通常出现在你本地配了代理工具,但代理没启动或端口不对。ClaudeCode 会读取系统代理设置,如果HTTP_PROXY或HTTPS_PROXY指向一个不存在的端口,就会报这个。解决办法是检查环境变量,把无效的代理配置清掉,或者确保代理服务在运行。注意这里说的是本地开发环境的网络配置问题,不涉及任何跨境访问手段,纯粹是端口和进程是否匹配。

reading choices 相关报错。这类错误一般出现在响应格式不符合预期时,比如返回体里没有choices字段。原因可能是 Base URL 拼错了,把 Anthropic 格式的请求发到了 OpenAI 格式的端点。确认你的 Base URL 是 TaoToken 的 Anthropic 兼容入口,而不是其他协议的地址。另外,如果 Model ID 写错,服务端可能返回一个错误结构,客户端解析时就报 reading choices。回控制台核对模型 ID 的准确拼写。

OAuth 登录反复弹出。说明 ClaudeCode 没读到你的 Token,走了默认登录流程。除了检查 settings.json,还要确认~/.claude.json里没有残留的 OAuth 会话冲突。可以临时把~/.claude.json备份后删掉,让 ClaudeCode 重新生成,再重新写配置。另外,hasCompletedOnboarding设为 true 可以跳过首次引导,但它不替代 Token 配置。

MCP 显示 connected 但调用失败。这通常是 MCP server 本身的问题,不是 ClaudeCode 的问题。在终端手动执行 MCP 的 command,看它是否能正常响应。有些 MCP 需要额外的环境变量,比如 API Key 或数据目录,检查env字段有没有漏。还有一种情况是 MCP server 启动慢,ClaudeCode 超时了,可以适当增加启动等待时间或换用更轻量的实现。

SubAgent 不触发。先确认/agent列表里有它,然后检查你的触发语句是否足够明确。SubAgent 的 description 写得越具体,模型越容易命中。如果还是不触发,可以直接点名:“使用 xxx subagent 来做这件事”。另外,SubAgent 继承的工具集如果和你预期不符,回到/agent编辑,重新勾选工具。

排查的核心思路是:先确认配置层(Key、URL、Model ID),再确认进程层(MCP command 能否手动跑通),最后确认调用层(模型是否按预期选择工具)。一层层往下,基本都能定位。

6. 从验证到日常:把 TaoToken 通道用顺手的几个建议

配置跑通只是开始,日常用起来还有几个细节值得注意。第一,Key 的轮换。TaoToken 控制台可以创建多个 Key,建议按用途分:一个给 ClaudeCode 日常开发,一个给 CI 或脚本,一个给临时测试。这样某个 Key 泄露或额度异常时,吊销不影响其他场景。轮换时只改 settings.json 里的一行,不用动 MCP 和 SubAgent 配置。

第二,模型切换。如果你在 Coding Plan 里买了长期编码套餐,可以把ANTHROPIC_MODEL换成套餐对应的模型 ID。切换前先在模型对话页面确认该模型支持 Anthropic 消息格式。切换后跑一遍第 4 节的验证步骤,确认没有回归。不同模型的上下文窗口和计费方式不同,长任务前先估算 token 消耗。

第三,MCP 的取舍。MCP 不是越多越好,每个 MCP 都会在启动时占用资源,并且它的 tool 列表会进入模型上下文。只装当前项目真正需要的,用完的项目级 MCP 及时从.mcp.json里移除。对于远程 HTTP MCP,注意它的可用性和延迟,必要时配超时。

第四,SubAgent 的边界。SubAgent 适合独立、重上下文的活,比如代码审查、文档生成、批量重构。但它不共享主对话记忆,所以派活时要把必要背景写清楚。另外,SubAgent 的结果要人工确认,尤其是涉及写操作的,别让它直接改生产代码。

第五,Skill 的沉淀。团队里重复出现的流程,比如“新接口接入检查清单”“发布前回归步骤”,都值得写成 Skill。写的时候 description 要包含触发关键词,正文用清晰的步骤和输出格式。Skill 放在项目.claude/skills/下可以随代码库共享,放在~/.claude/skills/下则个人通用。

如果你还没开始,建议按这个顺序走:先拿 Key 配通模型通道,再验证一个 MCP,然后创建一个只读 SubAgent 试跑,最后沉淀第一个 Skill。每一步都跑通再进下一步,比一次性全配完再排障高效得多。需要查具体参数时,接入文档在 https://taotoken.net/api 对应的文档页,模型列表在模型对话页,长期编码套餐在 Coding Plan 页,控制台管 Key,API Keys 页面管凭证。把这几个入口存成书签,日常切换和排障会快很多。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询