mcpField
B
Biomart MCP

Biomart MCP

本地服务
github.com/jzinno科研与教育878 周前更新

关于 Biomart MCP

Biomart MCP 通过 pybiomart 连接 Biomart,面向需要探索生物学数据的研究人员。它支持数据集发现、字段与筛选条件探索、数据查询及标识符转换。

主要功能

  1. 01发现 Mart 和数据集
  2. 02探索字段与筛选条件
  3. 03查询生物学数据
  4. 04转换生物标识符

适用场景

  1. 01浏览 Biomart 中的数据集
  2. 02按字段和筛选条件获取数据
  3. 03在不同生物标识符间转换

MCP 相关

该 MCP 服务将 Biomart 的发现、查询和标识符转换功能作为工具提供给 MCP 客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"biomart": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Biomart MCP

smithery badge Verified on MseeP

用于连接 Biomart 的 MCP 服务

Model Context Protocol(MCP)是一种开放协议,用于标准化应用向 Anthropic 开发的大模型提供上下文的方式。这里我们使用 MCP python-sdk,通过 pybiomart 软件包创建一个连接 Biomart 的 MCP 服务。

展示 biomart-mcp 运行效果的演示

这里有一段简短的演示视频,展示了 MCP 服务在 Claude Desktop 上的运行效果。

安装

通过 Smithery 安装

通过 Smithery 为 Claude Desktop 自动安装 Biomart MCP:

npx -y @smithery/cli install @jzinno/biomart-mcp --client claude
克隆代码仓库
git clone https://github.com/jzinno/biomart-mcp.git
cd biomart-mcp
Claude Desktop
uv run --with mcp[cli] mcp install --with pybiomart biomart-mcp.py
Cursor

通过 Cursor 的 Agent 模式,其他模型(例如 OpenAI 或 DeepSeek 的模型)也可以使用 MCP 服务。点击 Cursor 设置齿轮图标,导航到 MCP,然后将 MCP 服务添加到全局配置,或者将 .cursor/mcp.json 添加到项目中,以便将其添加到项目范围内。

.cursor/mcp.json 示例:

{
    "mcpServers": {
        "Biomart": {
            "command": "uv",
            "args": [
                "run",
                "--with",
                "mcp[cli]",
                "--with",
                "pybiomart",
                "mcp",
                "run",
                "/your/path/to/biomart-mcp.py"
            ]
        }
    }
}
Glama
Biomart MCP 服务
开发
# Create a virtual environment
uv venv

# MacOS/Linux
source .venv/bin/activate

# Windows
.venv\Scripts\activate

uv sync #or uv add mcp[cli] pybiomart

# Run the server in dev mode
mcp dev biomart-mcp.py

功能

Biomart-MCP 提供了多种与 Biomart 数据库交互的工具:

  • Mart 和数据集发现:列出可用的 mart 和数据集,以探索 Biomart 数据库结构
  • 属性和筛选器探索:查看特定数据集的常用属性和筛选器,或查看所有可用项
  • 数据获取:使用特定属性和筛选器查询 Biomart,获取生物学数据
  • ID 转换:在不同的生物学标识符之间转换(例如,将基因符号转换为 Ensembl ID)

贡献

欢迎提交拉取请求!关于开发的几点说明:

  • 我们特意只使用 @mcp.tool(),以尽可能提高与支持 MCP 的客户端的兼容性,详情请参阅文档。
  • 我们使用 @lru_cache 缓存计算开销较大或会调用外部 API 的函数结果。
  • 我们需要注意不要撑爆模型的上下文窗口。例如,你会在许多地方看到 df.to_csv(index=False).replace("\r", "")。与 df.to_string() 相比,这种 CSV 格式的返回方式节省了更多 Token,因为后者的大部分 Token 都是空白字符。还要注意,从染色体中获取所有基因或类似的大型请求,也会超出上下文窗口容量。

未来可能实现的功能

当然,还可以添加更多功能,其中一些可能超出 biomart-mcp 这个名称的范围。以下是一些想法:

  • 使用 bs4 为资源网站添加网页抓取功能。例如,我们获取到 NOTCH1 的 Ensembl 基因 ID 后,在某些情况下或许可以从 它在 UCSC 上的页面中提取汇总的 Comments and Description Text from UniProtKB 部分
  • $...$

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。