
1. 先把场景摆出来为什么 MCP 和 Skill 总被混着用MCP 和 Skill 这两个词只要你在搭 AI 工具链几乎绕不开。MCP 全称 Model Context Protocol是让 Agent 调用外部工具的一套标准接口Skill 更像是给 Agent 塞进去的一本操作手册本质是知识注入。一个往外接能力一个往内塞思路。听起来泾渭分明但真到项目里很多人会把「我要让 Agent 会查数据库」和「我要让 Agent 知道怎么分析数据」当成同一件事结果配置写了一大堆跑起来要么工具没挂上要么技能没触发。这篇不空谈概念直接给一套可复制的配置骨架。核心思路是用 TaoToken 做统一的 Key 和 API 通道让 Cline、CC Switch 这类工具都走同一个入口然后分别验证一次 MCP 调用和一次 Skill 触发确认两者互不干扰。适合正在搭 AI 工具链、手里已经有几个 MCP Server 和几个 SKILL.md 的开发者。下面所有配置你都可以直接抄改掉路径和 Key 就能跑。2. TaoToken 前置统一 Key 与 API 通道在讲 MCP 和 Skill 的配置之前得先把通道统一了。不然你会在 Cline 里配一个 Key在 CC Switch 里又配一个MCP Server 那边还要再填一次改起来到处找。TaoToken 的作用就是把这些入口收敛成一个一个 Key一个 API 地址所有工具都指向它。官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 注意 API 这个地址不带 UTM 参数配置里填的就是它。你需要先去控制台拿一个 Key地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite Key 的管理页面在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。拿到之后先别急着往各个工具里塞我们按下面的骨架来。这里有个容易踩的坑很多人把 API 地址写成带一堆参数的完整 URL结果工具解析出错。记住配置里只填https://taotoken.net/api这个干净地址参数是给浏览器用的不是给配置文件用的。3. 可复制配置settings.json 与 config.toml 骨架3.1 Cline 的 settings.json 骨架Cline 走的是 VS Code 扩展那套配置核心是把模型通道指向 TaoToken。下面是一个可以直接改的骨架重点看baseUrl和apiKey两处{ cline.apiProvider: openai, cline.openAiBaseUrl: https://taotoken.net/api, cline.openAiApiKey: sk-你的TaoTokenKey, cline.openAiModelId: claude-sonnet-4-20250514, cline.mcpServers: { docmind-kb: { command: npx, args: [-y, docmind/mcp-server-kb], env: { KB_ENDPOINT: http://127.0.0.1:8080 } } } }这里cline.mcpServers就是 MCP 的挂载点。注意 MCP Server 的启动方式和模型通道是两回事模型通道走 TaoTokenMCP Server 走它自己的 stdio 或 SSE。两者在配置里是并列的不要混在一起写。3.2 CC Switch 的 config.toml 骨架CC Switch 用的是 TOML结构更清晰。下面这份骨架把模型通道和 MCP 服务分开列[model] provider openai-compatible base_url https://taotoken.net/api api_key sk-你的TaoTokenKey model claude-sonnet-4-20250514 [mcp.servers.docmind-kb] transport stdio command npx args [-y, docmind/mcp-server-kb] [mcp.servers.weather] transport sse url http://127.0.0.1:9090/sse [skills] base_dir ./configs/skills selection_mode selected selected [rag-optimizer, doc-review][skills]这一段就是 Skill 的挂载点。base_dir指向你放 SKILL.md 的目录selection_mode支持all、selected、none三种。selected模式下只有列出来的技能会被加载这样能避免启动时把所有技能都读一遍拖慢速度。3.3 一个 SKILL.md 的最小结构Skill 的载体就是文件夹里的 SKILL.md头部用 YAML front matter 声明元信息正文写流程。最小可用版本长这样--- name: rag-optimizer description: RAG 系统优化顾问从分块、召回、重排、提示词四个层面诊断问题。 --- # RAG 优化顾问 当用户询问检索效果差、问答质量低时按以下顺序排查 1. 分块策略chunk 大小是否匹配文档结构重叠是否合理 2. 检索召回TopK 和相似度阈值是否偏保守 3. 重排序是否配置了 Rerank 模型 4. 提示词工程上下文注入格式是否清晰 输出时按「问题定位 - 建议调整 - 预期收益」三段式组织。这个文件不需要任何代码Agent 启动时读进去推理时就会按这个框架走。这就是 Skill 和 MCP 最直观的区别MCP 要写 ServerSkill 只要写 Markdown。4. 验证请求跑通一次 MCP 调用与一次 Skill 触发配置写完不算完得验证两者真的互不干扰。分两步走。4.1 验证 MCP 调用在 Cline 里发一条明确需要外部工具的请求比如「帮我查一下知识库里关于 MCP 协议的文档」。如果 MCP Server 挂载成功你会在工具调用日志里看到类似mcp_docmind-kb_search的调用记录。返回结果里应该带上从知识库检索到的内容。如果没触发先看 MCP Server 进程有没有起来。stdio 模式下Cline 会自己拉起子进程你可以在输出面板里找MCP server docmind-kb started这类日志。SSE 模式下先用 curl 探一下端口curl -N http://127.0.0.1:9090/sse能持续收到事件流就说明 Server 活着问题在配置的 URL 或 transport 类型上。4.2 验证 Skill 触发Skill 的验证更隐蔽因为它不产生工具调用日志而是改变 Agent 的输出结构。发一条「帮我评审这篇文档」如果doc-review技能加载成功Agent 的输出会明显按技能里定义的维度来组织比如分成结构完整性、内容准确性、语言表达、格式规范四块。你可以做个对照实验先把selection_mode改成none再发同样的请求输出会变得松散、没有固定框架改回selected并带上doc-review输出立刻结构化。这个对比最能说明 Skill 到底在干什么。4.3 确认互不干扰最后一步发一条同时需要工具和知识的请求「帮我评审这篇文档并检索相关参考资料」。理想情况下Agent 会先用doc-review技能确定评审框架再调mcp_docmind-kb_search去检索最后按框架组织输出。如果这两件事都发生了说明 MCP 和 Skill 在你的配置里各走各的通道没有互相覆盖。5. 本篇常见错排查MCP Server 起不来报 command not found。多半是npx路径问题。在配置里把command写成绝对路径比如/usr/local/bin/npx或者先用which npx确认一下。Skill 不触发Agent 完全无视 SKILL.md。先检查base_dir是不是相对路径且相对于工具的工作目录。CC Switch 里相对路径是相对于配置文件所在目录不是相对于你当前终端。改成绝对路径最稳。模型通道报 401。检查api_key有没有带sk-前缀以及base_url是不是写成了https://taotoken.net/api而不是带/v1的变体。有些工具会自动补/v1有些不会以工具文档为准。MCP 和 Skill 同时配置后工具调用变慢。大概率是 Skill 的selection_mode设成了all启动时扫描了整个技能目录。改成selected只加载需要的几个启动速度会明显改善。改了配置不生效。Cline 和 CC Switch 都需要重启窗口或重新加载配置。改完settings.json后按CmdShiftP执行Reload Window改完config.toml后重启 CC Switch 进程。6. 通道与入口按你的场景选如果你现在卡在接入或排障阶段建议先把 Key 和 API 通道理顺去 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 拿 Key再对照 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里的接入说明逐项核对配置。如果你只是想先验证模型通不通不想折腾本地工具链可以直接用模型对话页面发一条请求试试https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite 。如果你是要长期跑编码任务或者搭 Agent那重点应该放在 Coding Plan 上把通道固定下来再往上叠 MCP 和 Skillhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。回到最开始那个问题MCP 和 Skill 分不分得清不取决于你背了多少定义而取决于你的配置里有没有把它们放在正确的位置。模型通道归模型通道MCP 归 MCPSkill 归 Skill三层各管各的跑一次验证请求谁在干活一目了然。