MCP技能
    ](https://pypi.org/project/skill-to-mcp)
将AI技能(遵循Claude Skills格式)转换为MCP服务器资源,使其可通过模型上下文协议访问。
一部份 BioContextAI -一项由社区驱动的倡议,通过标准化的MCP服务器将代理AI与生物医学资源连接起来。虽然该软件包与领域无关,可用于任何技能收集,但它的开发是为了支持生物医学研究界。
概述
此MCP服务器将Claude Skills作为资源公开,LLM应用程序可以通过模型上下文协议访问这些资源。技能是自包含的目录,其中包含 SKILL.md 带有YAML frontmatter的文件,以及脚本、引用和示例等支持文件。
特性
- 自动技能发现:递归查找所有
SKILL.md文件在skills/目录 - Frontmatter解析:从YAML frontmatter中提取技能元数据(名称、描述)
- 三个核心工具:
- get_available_skills:列出所有可用技能及其说明 - get_skill_details:返回特定技能的SKILL.md内容和文件列表 - get_skill_related_file:读取技能目录中的任何文件(具有目录遍历保护)
- 安全:路径验证阻止访问技能目录之外的内容
入门指南
请参阅 文档 如需全面指南,请跳至:
快速链接
- 文档: 技能到mcp.readthedocs.io
- BioContextAI注册表: 生物结构/登记册
- API 参考: API文档
- 源代码:
- 问题追踪器:
配置
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"
}
}
}
}用法
在MCP客户端中配置后,服务器提供三个工具:
获取可用技能
使用元数据返回所有可用技能的列表:
[
{
"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"]
}
}
}创造技能
技能应该放在您配置的技能目录中。每项技能都必须:
- 拥有自己的子目录
- 包含a
SKILL.md带有YAML frontmatter的文件 - 遵循frontmatter格式:
---
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安装
您的系统上需要安装Python 3.11或更高版本。 如果你没有安装Python,我们建议你安装 紫外线.
有几个替代选项可以将skill安装到mcp:
- 使用
uvx立即运行它(需要SKILLS_DIR环境变量):
SKILLS_DIR=/path/to/skills uvx skill_to_mcp或者使用命令行选项:
uvx skill_to_mcp --skills-dir /path/to/skills- 将其包含在支持以下功能的各种MCP客户端中
mcp.json标准:
{
"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部署选项
地方发展
对于开发和测试:
# Using uvx (recommended)
SKILLS_DIR=/path/to/skills uvx skill_to_mcp
# Using 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_mcpDocker部署
创建一个 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标准:可查找、可访问、可互操作、可重用于研究软件
- 社区驱动:开源和协作开发
- 标准化:基于模型上下文协议规范构建
贡献
欢迎投稿!看 贡献.md 关于以下方面的指导方针:
- 开发设置
- 代码样式要求
- 测试程序
- 拉取请求流程
要为生物医学界贡献技能,请考虑将其添加到 BioContextAI注册表.
联系
如果您发现错误,请使用 问题跟踪系统.
有关BioContextAI或注册表的问题,请访问 生物结构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社区:促进开源生物医学人工智能基础设施
许可证
此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。
备注:虽然该软件是开源的,但个人技能可能有自己的许可证。用户有责任遵守他们使用或分发的任何技能的许可证。
