🚀 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文件。
注意:雖然此軟件是開源的,但各個技能可能有自己的許可證。用戶有責任遵守他們使用或分發的任何技能的許可證。