详解 Claude Code 源码
赛博浮世绘 · 晓风乾 · 24 站拆解
回首页
详解 Claude Code Agent 与扩展 5.3 · MCP 与 Skills
篇章五 · 5.3

MCP 与 Skills

篇章五最后一站:两个扩展系统一个向外交际(MCP)、一个向内进化(Skills)。Skills 的发现机制特别有意思——它靠「嗅探」你正在编辑的文件路径。

Skills 是嗅探出来的

你读写文件时,Claude Code 沿路径向上搜 .claude/skills/ 目录——编辑到深处,恰好相关的技能自己出现。带 paths 条件的技能默认休眠,路径匹配才激活。

技能嗅探 · 你编辑的路径决定谁醒来 点路径看技能激活
📁 项目根
📁 src
📁 components · skills: react-patterns
📁 styles · skills: css-tokens
📁 docs · skills: doc-style
点上面的文件路径——看哪个技能被唤醒
MCP · 8 种传输
stdio本地进程(最常用)
sse / sse-ideServer-Sent Events
ws / ws-ideWebSocket
httpStreamable HTTP(新标准)
sdkSDK 进程内传输
claudeai-proxyClaude.ai 代理

配置合并优先级:plugin < user < project(approved) < local < enterprise——项目级 MCP 要用户 approved 才生效,防 clone 一个仓库就被塞后门。每个 MCP 工具是 MCPTool 的运行时属性副本,checkPermissions 返回 passthrough(4.1 站的第 3 步)。

Bundled Skills · 三道锁
🔒
O_NOFOLLOW | O_EXCL

解压时拒绝符号链接——防 symlink 攻击把技能写到任意路径。

🔐
0o600 权限

只有所有者可读写——技能文件不成为提权跳板。

🛂
路径校验

解包路径逐段检查——防目录穿越(../../ 逃逸)。

篇章五收束:内置 Agent(5.1)→ Fork/Coordinator(5.2)→ MCP/Skills(5.3)——从六张工牌到无限扩展。篇章六回到「记忆」:System Prompt 的组装公式、四层压缩、三套记忆系统。