MCP转技能转换器

将任何MCP服务器转换为Claude技能,节省90%的上下文空间。

  • by GBSOSS
  • Python
  • 本地部署
  • 160 星标
  • 更新于
在 GitHub 查看 GBSOSS/-mcp-to-skill-converter

使用说明

mcp到技能转换器

将任何MCP服务器转换为Claude Skill,可节省90%的上下文。

为什么存在

MCP服务器很棒,但在启动时会将所有工具定义加载到上下文中。有了20多种工具,在克劳德做任何工作之前,就已经有3-50k个代币消失了。

此转换器将“渐进式披露”模式(受剧作家技能启发)应用于任何MCP服务器:

  • 初创公司:~100个令牌(仅元数据)
  • 使用时:约5k个代币(完整说明)
  • 执行:0个令牌(在外部运行)

快速开始

# 1. Create your MCP config file
cat > github-mcp.json << 'EOF'
{
  "name": "github",
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-github"],
  "env": {"GITHUB_TOKEN": "your-token-here"}
}
EOF

# 2. Convert to Skill
python mcp_to_skill.py \
  --mcp-config github-mcp.json \
  --output-dir ./skills/github

# 3. Install dependencies
cd skills/github
pip install mcp

# 4. Copy to Claude
cp -r . ~/.claude/skills/github

完成!Claude现在可以在最小的上下文中使用GitHub工具。

它做什么

转换器:

  1. 读取您的MCP服务器配置
  2. 生成一个技能结构,其中包含:
    • SKILL.md -克劳德须知
    • executor.py -动态处理MCP呼叫
    • 配置文件
  3. Claude仅加载元数据(约100个令牌)
  4. 需要技能时加载完整指令
  5. 执行器在上下文之外运行MCP工具

上下文节省

之前(MCP):

20 tools = 30k tokens always loaded
Context available: 170k / 200k = 85%

之后(技能):

20 skills = 2k tokens metadata
When 1 skill active: 7k tokens
Context available: 193k / 200k = 96.5%

真实示例

GitHub MCP服务器(8个工具):

度量 MCP 技能 节省
闲置 8000个代币 100个代币 98.75%
活跃 8000个代币 5000个代币 37.5%

兼容

任何标准MCP服务器:

  • ✅ @modelcontextprotocol/server github
  • ✅ @模型上下文协议/服务器松弛
  • ✅ @模型上下文协议/服务器文件系统
  • ✅ @模型上下文协议/服务器postgres
  • ✅ 您的自定义MCP服务器

何时使用

在以下情况下使用此转换器:

  • 您有10+个工具
  • 上下文空间紧张
  • 大多数工具不会在每次对话中使用
  • 工具是独立的

在以下情况下坚持使用MCP:

  • 您有1-5个工具
  • 需要复杂的OAuth流程
  • 需要持久连接
  • 跨平台兼容性至关重要

最佳方法:两者都用

  • 核心工具MCP
  • 扩展工具集的技能

需求

pip install mcp

需要Python 3.8+。

运作原理

┌─────────────────────────────────────┐
│ Your MCP Config                     │
│ (JSON file)                         │
└──────────┬──────────────────────────┘
           │
           ▼
┌─────────────────────────────────────┐
│ mcp_to_skill.py                     │
│ - Reads config                      │
│ - Generates Skill structure         │
└──────────┬──────────────────────────┘
           │
           ▼
┌─────────────────────────────────────┐
│ Generated Skill                     │
│ ├── SKILL.md (100 tokens)           │
│ ├── executor.py (dynamic calls)     │
│ └── config files                    │
└─────────────────────────────────────┘
           │
           ▼
┌─────────────────────────────────────┐
│ Claude                              │
│ - Loads metadata only               │
│ - Full docs when needed             │
│ - Calls executor for tools          │
└─────────────────────────────────────┘

示例

示例1:GitHub集成

# Create config
cat > github.json << 'EOF'
{
  "name": "github",
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-github"],
  "env": {"GITHUB_TOKEN": "ghp_your_token"}
}
EOF

# Convert
python mcp_to_skill.py --mcp-config github.json --output-dir ./skills/github

# Result: GitHub tools accessible with 100 tokens vs 8k

示例2:多个服务器

# Convert multiple MCP servers
for config in configs/*.json; do
  name=$(basename "$config" .json)
  python mcp_to_skill.py --mcp-config "$config" --output-dir "./skills/$name"
done

故障排除

“找不到mcp包”

pip install mcp

“MCP服务器没有响应”

检查您的配置文件:

  • 命令正确
  • 环境变量集
  • 服务器可访问

测试生成的技能

cd skills/your-skill

# List tools
python executor.py --list

# Describe a tool
python executor.py --describe tool_name

# Call a tool
python executor.py --call '{"tool": "tool_name", "arguments": {...}}'

局限性

  • 早期阶段(欢迎反馈)
  • 需要 mcp Python包
  • 一些复杂的身份验证可能需要调整
  • 并非所有MCP服务器都经过测试

贡献

这是一个概念证明。欢迎捐款:

  • 使用更多MCP服务器进行测试
  • 改进错误处理
  • 添加更多示例
  • 更好的文档

鸣谢

灵感来源:

许可证

麻省理工学院

了解更多


状态:功能性但处于早期阶段
反馈:欢迎问题和PR
问题:打开一个问题