返回市场
技能到MCP

技能到MCP

作者:biocontext-ai7 星标更新:2025-11-06

项目介绍

Skill-to-MCP

BioContextAI - 注册表 测试 文档 PyPI Python版本

将AI技能(遵循Claude技能格式)转换为MCP服务器资源,使其可以通过模型上下文协议访问。

BioContextAI的一部分 - 这是一个社区驱动的倡议,通过标准化的MCP服务器将代理AI与生物医学资源连接起来。虽然这个包是领域无关的,可以用于任何技能集合,但它是为了支持生物医学研究社区而开发的。

概述

此MCP服务器公开Claude技能作为资源,这些资源可以通过模型上下文协议由LLM应用程序访问。技能是包含一个带有YAML前缀的SKILL.md文件以及脚本、参考文献和示例等支持文件的自包含目录。

特性

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

快速开始

请参阅[文档][]获取全面指南,或跳转到:

快捷链接

配置

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客户端配置后,服务器提供三个工具:

get_available_skills

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

[
  {
    "name": "single-cell-rna-qc",
    "description": "对单细胞RNA测序数据进行质量控制...",
    "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", 或 "both"(默认)
)

示例配置

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"]
    }
  }
}

创建技能

技能应放置在您配置的技能目录中。每个技能必须:

  1. 拥有自己的子目录
  2. 包含一个带有YAML前缀的SKILL.md文件
  3. 遵循前缀格式:
---
name: my-skill-name
description: 简要说明该技能的作用及何时使用它
---

# 技能内容

此处放置说明和文档...

技能命名要求

  • 只能使用小写字母、数字和连字符
  • 最多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,我们建议安装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

部署选项

本地开发

用于开发和测试:

# 使用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 是一个代理生物医学系统的社区中心},
  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={自然生物技术},
  publisher={Springer Science and Business Media LLC},
  author={Kuehl, Malte 和 Schaub, Darius P. 和 Carli, Francesco 和 Heumos, Lukas 和 Hellmig, Malte 和 Fernández-Zapata, Camila 和 Kaiser, Nico 和 Schaul, Jonathan 和 Kulaga, Anton 和 Usanov, Nikolay 和 Koutrouli, Mikaela 和 Ergen, Can 和 Palla, Giovanni 和 Krebs, Christian F. 和 Panzer, Ulf 和 Bonn, Stefan 和 Lobentanzer, Sebastian 和 Saez-Rodriguez, Julio 和 Puelles, Victor G.},
  year={2025},
  month=nov,
  language={zh},
}

致谢

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

许可证

本项目根据Apache许可证2.0发布 - 详情见LICENSE文件。

注意:尽管此软件是开源的,但个别技能可能拥有自己的许可证。用户需对其使用的任何技能的许可证负责。