用途
Agent Skill Loader 是一个 Model Context Protocol(MCP)服务器,充当静态 Claude Code Skills 库与动态 AI 智能体(如 Claude Desktop、Cursor 或任何 MCP 客户端)之间的桥梁。它让智能体能够按需发现、读取和安装技能,而无需手动复制文件。
主要能力
- MCP Prompts:技能在客户端中显示为斜杠命令,注入时无需工具调用。
- 实时更新:通过文件监听器,在技能新增或移除时触发 listChanged 通知。
- 发现:list_skills——扫描配置的技能目录,可选用搜索过滤。
- 动态学习:read_skill——获取 SKILL.md 内容。
- 持久化:install_skill——将技能永久复制到你的项目中。
- 配置:manage_search_paths——在运行时添加/移除技能目录。
- 故障排除:debug_info——诊断配置和路径问题。
使用方式
安装
- 选项 A:从 npm 安装(推荐)。
- 选项 B:从源码构建。
安装后在 .mcp.json 中注册。
配置
服务器会自动检测其工作区,并从以下来源汇总技能路径:
- 默认:%USERPROFILE%.claude\plugins\cache(标准位置)
- 动态配置:skill-paths.json(位于项目根目录)
环境变量也受支持。
动态路径管理
无需手动编辑配置文件,可在运行时使用工具管理路径:
- 添加:manage_search_paths(operation="add", path="F:\My\Deep\Skills")
- 移除:manage_search_paths(operation="remove", path="...")
- 列出:manage_search_paths(operation="list"),会创建/更新 skill-paths.json。
MCP Prompts(斜杠命令)
如果客户端支持 MCP Prompts(Claude Desktop、Cursor 等),技能会自动显示为斜杠命令。从斜杠命令菜单中选择一个技能即可直接注入其内容,无需工具调用。
工具
智能体可访问五个工具:
- list_skills(query?):返回可用技能的 JSON 列表。可选 query 按名称/描述子字符串过滤(不区分大小写)。
- read_skill(skill_name):返回技能的 Markdown 指令。
- install_skill(skill_name, target_path?):将技能文件夹复制到 .agent/skills/<name>。出于安全考虑,target_path 必须位于当前工作区内。
- manage_search_paths(operation, path?):添加、移除或列出技能搜索路径。
- debug_info():返回诊断信息(路径、状态、警告)。
示例智能体提示
「我需要编写一个 DAX 度量值,但不确定最佳实践。」智能体会自动调用 list_skills,找到 writing-dax-measures,调用 read_skill,并基于专家知识作答;用户也可以直接以斜杠命令调用该技能。
适用场景
- 希望让 Claude Desktop、Cursor 等 MCP 客户端按需加载 Claude Code Skills。
- 需要在多个项目间动态管理技能搜索路径。
- 希望技能新增后无需重启客户端即可实时生效。
- 需要将技能持久化安装到项目内供智能体使用。
限制
- 需要支持 MCP 的客户端才能使用 Prompts 或 Tools。
- install_skill 的 target_path 必须位于当前工作区内,否则会被拒绝。
- 具体安装命令、环境变量名称与 npm 包名等细节在提供的资料中未完整给出,暂未提供。
- 平台兼容性、收费、价格等信息资料中未说明,暂未提供。
故障排除
如果技能未被发现,可使用 debug_info() 查看:
- search_paths:正在扫描哪些目录
- path_status:每个路径是否存在且可读
- warnings:扫描期间遇到的任何错误(权限拒绝、空文件等)
项目结构
- src/index.ts:主服务器逻辑(工具 + 提示 + 监听器)。
- src/utils.ts:技能扫描、描述提取、提示辅助、防抖。
- build/:编译后的 JavaScript 输出。
- package.json:依赖(@modelcontextprotocol/sdk、chokidar、zod)。
要添加新技能,请将包含 SKILL.md 文件的文件夹放入任一被监听的目录。服务器会自动拾取并发送 listChanged 通知,无需重启。