🚀 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的方式:
- 使用
uvx立即运行(需要设置SKILLS_DIR环境变量):
SKILLS_DIR=/path/to/skills uvx skill_to_mcp
或者使用命令行选项:
uvx skill_to_mcp --skills-dir /path/to/skills
- 将其包含在支持
mcp.json标准的各种MCP客户端中:
{
"mcpServers": {
"skill-to-mcp": {
"command": "uvx",
"args": ["skill_to_mcp", "--skills-dir", "/path/to/your/skills"],
"env": {
"UV_PYTHON": "3.12"
}
}
}
}
- 通过
pip安装:
pip install --user skill_to_mcp
- 安装最新开发版本:
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"
)
高级用法
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"
}
}
}
}
创建技能
技能应放置在你配置的技能目录中。每个技能必须满足以下条件:
- 有自己的子目录。
- 包含一个带有YAML前端信息的
SKILL.md文件。
- 遵循前端信息格式:
---
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
部署选项
本地开发
用于开发和测试:
SKILLS_DIR=/path/to/skills uvx skill_to_mcp
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文件。
注意:虽然此软件是开源的,但各个技能可能有自己的许可证。用户有责任遵守他们使用或分发的任何技能的许可证。