Back to MCP directory
publicPublicdnsLocal runtime

skill-to-mcp

将Claude Skills格式的AI技能转换为MCP服务器资源,使LLM应用能够通过模型上下文协议访问这些技能工具

article

README

🚀 Skill-to-MCP

将符合Claude Skills格式的AI技能转换为MCP服务器资源,使其能够通过模型上下文协议(Model Context Protocol)被访问。本项目是BioContextAI社区驱动的一部分,致力于通过标准化的MCP服务器将智能AI与生物医学资源相连接。虽然该软件包与领域无关,可用于任何技能集合,但它是为支持生物医学研究社区而开发的。

🚀 快速开始

请参考[文档][]获取全面指南,也可以直接查看以下内容:

快速链接

✨ 主要特性

  • 自动技能发现:递归查找skills/目录下的所有SKILL.md文件。
  • 前端信息解析:从YAML前端信息中提取技能元数据(名称、描述)。
  • 三个核心工具
    • get_available_skills:列出所有可用技能及其描述。
    • get_skill_details:返回特定技能的SKILL.md内容和文件列表。
    • get_skill_related_file:读取技能目录中的任何文件(具备目录遍历保护)。
  • 安全性:路径验证可防止访问技能目录以外的内容。

📦 安装指南

你需要在系统上安装Python 3.11或更高版本。如果你还未安装Python,建议安装uv

有以下几种安装skill-to-mcp的方式:

  1. 使用uvx立即运行(需要设置SKILLS_DIR环境变量):
SKILLS_DIR=/path/to/skills uvx skill_to_mcp

或者使用命令行选项:

uvx skill_to_mcp --skills-dir /path/to/skills
  1. 将其包含在支持mcp.json标准的各种MCP客户端中:
{
  "mcpServers": {
    "skill-to-mcp": {
      "command": "uvx",
      "args": ["skill_to_mcp", "--skills-dir", "/path/to/your/skills"],
      "env": {
        "UV_PYTHON": "3.12"
      }
    }
  }
}
  1. 通过pip安装:
pip install --user skill_to_mcp
  1. 安装最新开发版本:
pip install git+https://github.com/biocontext-ai/skill-to-mcp.git@main

💻 使用示例

基础用法

在MCP客户端配置完成后,服务器提供三个工具:

get_available_skills

返回所有可用技能及其元数据的列表:

[
  {
    "name": "single-cell-rna-qc",
    "description": "Performs quality control on single-cell RNA-seq data...",
    "path": "/path/to/skills/single-cell-rna-qc"
  }
]

get_skill_details

返回特定技能的完整SKILL.md内容和文件列表:

{
  "skill_content": "---\nname: single-cell-rna-qc\n...",
  "files": ["SKILL.md", "scripts/qc_analysis.py", "references/guidelines.md"]
}

return_type参数控制返回的数据类型:

  • "content":仅返回SKILL.md内容的文本。
  • "file_path":仅返回SKILL.md的绝对路径。
  • "both"(默认):以字典形式返回内容和文件路径。

get_skill_related_file

读取技能目录中的特定文件:

get_skill_related_file(
    skill_name="single-cell-rna-qc",
    relative_path="scripts/qc_analysis.py",
    return_type="content"  # "content", "file_path", or "both" (default)
)

高级用法

Claude桌面配置

添加到你的claude_desktop_config.json文件中:

{
  "mcpServers": {
    "biomedical-skills": {
      "command": "uvx",
      "args": [
        "skill_to_mcp",
        "--skills-dir",
        "/Users/yourname/biomedical-skills"
      ],
      "env": {
        "UV_PYTHON": "3.12"
      }
    }
  }
}

多个技能集合

你可以使用不同的技能目录运行多个实例:

{
  "mcpServers": {
    "biomedical-skills": {
      "command": "uvx",
      "args": ["skill_to_mcp", "--skills-dir", "/path/to/biomedical-skills"]
    },
    "data-science-skills": {
      "command": "uvx",
      "args": ["skill_to_mcp", "--skills-dir", "/path/to/data-science-skills"]
    }
  }
}

📚 详细文档

配置

MCP服务器需要指定一个技能目录,这样你可以:

  • 将软件包与技能分开安装。
  • 在不修改软件包的情况下编辑技能。
  • 为不同项目使用不同的技能集合。

可以使用以下两种方式设置技能目录:

  • 命令行选项:--skills-dir /path/to/skills
  • 环境变量:SKILLS_DIR=/path/to/skills

MCP客户端的示例配置

{
  "mcpServers": {
    "skill-to-mcp": {
      "command": "uvx",
      "args": ["skill_to_mcp", "--skills-dir", "/path/to/your/skills"],
      "env": {
        "UV_PYTHON": "3.12"
      }
    }
  }
}

或者使用环境变量:

{
  "mcpServers": {
    "skill-to-mcp": {
      "command": "uvx",
      "args": ["skill_to_mcp"],
      "env": {
        "UV_PYTHON": "3.12",
        "SKILLS_DIR": "/path/to/your/skills"
      }
    }
  }
}

创建技能

技能应放置在你配置的技能目录中。每个技能必须满足以下条件:

  1. 有自己的子目录。
  2. 包含一个带有YAML前端信息的SKILL.md文件。
  3. 遵循前端信息格式:
---
name: my-skill-name
description: Brief description of what this skill does and when to use it
---

# Skill Content

Instructions and documentation go here...

技能命名要求

  • 仅使用小写字母、数字和连字符。
  • 最大长度为64个字符。
  • 不包含XML标签或保留字。

请参考示例skills/single-cell-rna-qc/SKILL.md以获取完整参考。

示例技能目录结构

my-skills/
├── skill-1/
│   ├── SKILL.md
│   ├── scripts/
│   └── references/
├── skill-2/
│   ├── SKILL.md
│   └── data/
└── skill-3/
    └── SKILL.md

部署选项

本地开发

用于开发和测试:

# 使用uvx(推荐)
SKILLS_DIR=/path/to/skills uvx skill_to_mcp

# 使用pip
pip install skill_to_mcp
skill_to_mcp --skills-dir /path/to/skills

生产部署

用于使用HTTP传输的生产环境:

export MCP_ENVIRONMENT=PRODUCTION
export SKILLS_DIR=/path/to/skills
export MCP_TRANSPORT=http
export MCP_PORT=8000

skill_to_mcp

Docker部署

创建一个Dockerfile

FROM python:3.12-slim

WORKDIR /app

RUN pip install skill_to_mcp

COPY skills /app/skills

ENV SKILLS_DIR=/app/skills
ENV MCP_TRANSPORT=http
ENV MCP_PORT=8000

CMD ["skill_to_mcp"]

构建并运行:

docker build -t skill-to-mcp .
docker run -p 8000:8000 skill-to-mcp

关于BioContextAI

BioContextAI是一个社区驱动的项目,旨在使用模型上下文协议将智能人工智能与生物医学资源连接起来。注册表是一个社区驱动的生物医学研究MCP服务器目录,使研究人员和开发人员能够发现、访问和贡献专业工具和数据库。

关键原则

  • 符合FAIR4RS标准:研究软件的可发现性、可访问性、互操作性和可重用性。
  • 社区驱动:开源和协作开发。
  • 标准化:基于模型上下文协议规范构建。

贡献

欢迎贡献!请参阅CONTRIBUTING.md以获取以下方面的指南:

  • 开发设置
  • 代码风格要求
  • 测试程序
  • 拉取请求流程

要为生物医学社区贡献技能,请考虑将其添加到BioContextAI注册表

联系

如果你发现了一个错误,请使用[问题跟踪器][]。

有关BioContextAI或注册表的问题,请访问biocontext.ai

引用

如果你在研究中使用了此软件,请引用BioContextAI论文:

@article{BioContext_AI_Kuehl_Schaub_2025,
  title={BioContextAI is a community hub for agentic biomedical systems},
  url={http://dx.doi.org/10.1038/s41587-025-02900-9},
  urldate = {2025-11-06},
  doi={10.1038/s41587-025-02900-9},
  year = {2025},
  month = nov,
  journal={Nature Biotechnology},
  publisher={Springer Science and Business Media LLC},
  author={Kuehl, Malte and Schaub, Darius P. and Carli, Francesco and Heumos, Lukas and Hellmig, Malte and Fernández-Zapata, Camila and Kaiser, Nico and Schaul, Jonathan and Kulaga, Anton and Usanov, Nikolay and Koutrouli, Mikaela and Ergen, Can and Palla, Giovanni and Krebs, Christian F. and Panzer, Ulf and Bonn, Stefan and Lobentanzer, Sebastian and Saez-Rodriguez, Julio and Puelles, Victor G.},
  year={2025},
  month=nov,
  language={en},
}

致谢

  • 示例技能:包含的single-cell-rna-qc技能改编自Anthropic的生命科学仓库
  • Anthropic:开发了Claude Skills和模型上下文协议。
  • scverse®:scverse社区(scverse.org)提供了单细胞分析的最佳实践。
  • BioContextAI社区:促进了开源生物医学AI基础设施的发展。

📄 许可证

本项目采用Apache License 2.0许可 - 详情请参阅LICENSE文件。

注意:虽然此软件是开源的,但各个技能可能有自己的许可证。用户有责任遵守他们使用或分发的任何技能的许可证。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client