将Claude Agent Skills带入任何兼容MCP的代理
这是一个通用的MCP服务器,使任何支持MCP的代理应用程序能够使用Anthropic官方的Claude Agent Skills,并采用渐进式披露——减少上下文开销同时最大化能力。
包名:agentskill-mcp | PyPI:agentskill-mcp
English | 简体中文
Claude Agent Skills设计精妙但仅限于Claude生态系统。此项目打破了这一限制:
传统的MCP工具在开始之前会一次性加载所有文档,消耗大量令牌。对于15个以上的工具,您的代理在进行实际工作之前就已经处于上下文饥饿状态。
技能通过渐进式披露解决了这个问题:代理最初看到的是轻量级技能列表,只有在需要时才会加载完整细节。这个项目将同样的效率带给了每个MCP兼容的代理。
pip install agentskill-mcp 或 uvx agentskill-mcp.claude/skills/、.skill/或自定义目录.claude/skills/(ClaudeCode格式)和.skill/(此项目的自定义格式)⚠️ 早期开发 —— 此项目尚处于早期阶段。目前仅在Windows上进行了测试。
已测试平台:
下一步计划:
理论上:任何实现了模型上下文协议的代理都应该可以工作,但我们正在进行积极测试以确认。
⚠️ 当前推荐用法:通过--skills-dir参数指定技能目录
添加到您的MCP客户端配置文件中。在代理的文档中找到配置位置:
.kilocode/mcp.json.cursor/mcp.json推荐配置(Windows):
{
"mcpServers": {
"skills": {
"command": "uvx",
"args": [
"agentskill-mcp",
"--skills-dir",
"C:\\Users\\YourName\\path\\to\\skills"
]
}
}
}
对于macOS/Linux:
{
"mcpServers": {
"skills": {
"command": "uvx",
"args": [
"agentskill-mcp",
"--skills-dir",
"/Users/YourName/path/to/skills"
]
}
}
}
使用pip安装的版本:
将"command": "uvx"替换为"command": "agentskill-mcp",并从args中移除:
{
"mcpServers": {
"skills": {
"command": "agentskill-mcp",
"args": [
"--skills-dir",
"C:\\Users\\YourName\\path\\to\\skills"
]
}
}
}
💡 提示:
--skills-dir中以避免歧义examples/目录进行测试,然后再创建自定义技能创建一个技能目录,并添加技能包:
格式1:ClaudeCode格式(推荐给ClaudeCode用户)
# 在当前项目中创建(推荐)
在项目根目录下创建 .claude/skills/
# 或者全局创建
mkdir -p ~/.claude/skills # Linux/Mac
mkdir C:\Users\YourName\.claude\skills # Windows
格式2:此项目的自定义格式(与其他代理兼容)
# 在当前项目中创建
在项目根目录下创建 .skill/
# 或者全局创建
mkdir ~/.skill # Linux/Mac
mkdir C:\Users\YourName\.skill # Windows
然后将您的技能包放置在技能目录中。./examples目录包含几个官方Anthropic技能包,足以用于测试。
# 示例迁移技能(ClaudeCode格式)
复制 examples/canvas-design -> .claude/skills/
复制 examples/brand-guidelines -> .claude/skills/
# 或者(此项目的自定义格式)
复制 examples/canvas-design -> .skill/
复制 examples/brand-guidelines -> .skill/
最终结构应如下所示:
.claude/skills/canvas-design/.skill/canvas-design/重启您的代理应用程序并进行测试:
使用Anthropic品牌风格创建一个1920x1080的促销海报。
主题:“AI属于未来?AI只是一个手段,而不是目的。”
会发生什么:
load_skill工具描述中看到可用技能canvas-design,brand-guidelines)load_skill获取完整技能详情注意:代理可能会根据任务解释只调用一个技能。这是正常的——AI代理在工具选择上有一些固有的随机性。
技能遵循官方Claude技能格式:
---
name: skill-name # 必需:匹配文件夹名称
description: | # 必需:详细的代理匹配描述
这个技能做什么以及何时使用它。
包括代理应该匹配的关键字。
license: MIT # 可选:许可证信息
---
在前言之后提供详细的Markdown指导:
技能可以包括模板、字体、脚本等辅助资源:
# ClaudeCode格式
.claude/skills/
├── algorithmic-art/
│ ├── SKILL.md
│ └── templates/
│ ├── viewer.html
│ └── generator.js
# 或旧格式
.skill/
├── algorithmic-art/
│ ├── SKILL.md
│ └── templates/
│ ├── viewer.html
│ └── generator.js
在技能中引用资源:
使用Read工具读取`templates/viewer.html`
挑战:如何在MCP框架内实现渐进式披露?
官方Claude实现(根据行为推测):
<available_skills>列表load_skill命令触发完整内容加载我们的MCP实现:
单一MCP工具:load_skill
description中工具描述结构:
Tool(
name="load_skill",
description="""在主对话中执行一个技能
<skills_instructions>
当用户请求您执行任务时,请检查以下可用技能是否可以帮助...
</skills_instructions>
<available_skills>
<skill>
<name>code-reviewer</name>
<description>全面的代码审查框架...</description>
</skill>
<skill>
<name>calculator</name>
<description>数学计算...</description>
</skill>
</available_skills>
""",
inputSchema={
"type": "object",
"properties": {
"skill": {"type": "string"}
}
}
)
<available_skills>中的技能匹配load_skill(skill="code-reviewer").skill/code-reviewer/SKILL.md版本0.1.3专注于最可靠的使用模式:
--skills-dir参数指定技能目录set_skills_directory工具(当前生产环境中禁用)这种方法确保了在我们继续测试和改进更高级功能的同时,跨不同代理实现的最大兼容性。
服务器自动查找技能,优先级如下:
--skills-dir /path/to/skills ⭐ 推荐MCP_SKILLS_DIR=/path/to/skills.claude/skills/或.skill/(检测.git、.claude/、package.json等)~/.skill注意:当两者都存在时,项目级发现优先考虑.claude/skills/(ClaudeCode格式)而非.skill/(此项目的自定义格式)。
当前推荐:始终使用--skills-dir参数以获得最佳兼容性。
{
"mcpServers": {
"skills": {
"command": "uvx",
"args": [
"agentskill-mcp",
"--skills-dir",
"C:\\userfolder\\DevFolder\\my-skills"
]
}
}
}
{
"mcpServers": {
"skills": {
"command": "uvx",
"args": [
"agentskill-mcp",
"--skills-dir",
"C:\\path\\to\\Open-ClaudeSkill\\examples"
]
}
}
}
load_skill通过名称加载并激活一个技能。
参数:
skill(字符串):要加载的技能名称示例:
load_skill(skill="code-reviewer")
MCP_SKILLS_DIR:覆盖默认技能目录agentskill-mcp --skills-dir /custom/path --log-level DEBUG
设置调试日志级别:
agentskill-mcp --log-level DEBUG
级别:DEBUG,INFO,WARNING,ERROR
查看examples/目录中的样本技能:
方法1:使用pip(推荐)
pip install agentskill-mcp
方法2:使用uvx(无需安装即可试用)
# 直接运行而不安装
uvx agentskill-m- cp --help
方法3:使用uv
uv pip install agentskill-mcp
验证安装:
agentskill-mcp --help
# 预期输出:
# usage: agentskill-mcp [-h] [--skills-dir SKILLS_DIR]
# [--log-level {DEBUG,INFO,WARNING,ERROR}]
#
# AgentSkill MCP - MCP Server for Claude Skills with progressive disclosure
开发用途(如果您想修改代码):
git clone https://github.com/QianjieTech/Open-ClaudeSkill.git
cd Open-ClaudeSkill
pip install -e .
# 安装开发依赖
uv pip install -e .
# 运行服务器
uv run agentskill-mcp
# 使用调试日志运行
uv run agentskill-mcp --log-level DEBUG
技能通过一个单一的load_skill工具暴露,该工具在其描述中列出所有可用技能。这最大限度地减少了初始令牌使用,同时提供了完整的发现。
通过watchdog检测文件更改并触发技能重新加载。更改将在下一个代理请求时立即生效。
注意:热重载功能已在代码库中实现,但在实践中尚未验证其在所有MCP兼容代理上的可靠性。
欢迎贡献!请参阅CONTRIBUTING.md了解指南。
Apache License 2.0 - 详情见LICENSE
此项目基于以下开源项目构建:
QQ群:1065081197
由Open-ClaudeSkill社区制作 ❤️