关于 Biomart MCP
Biomart MCP 通过 pybiomart 连接 Biomart,面向需要探索生物学数据的研究人员。它支持数据集发现、字段与筛选条件探索、数据查询及标识符转换。
主要功能
- 01发现 Mart 和数据集
- 02探索字段与筛选条件
- 03查询生物学数据
- 04转换生物标识符
适用场景
- 01浏览 Biomart 中的数据集
- 02按字段和筛选条件获取数据
- 03在不同生物标识符间转换
MCP 相关
该 MCP 服务将 Biomart 的发现、查询和标识符转换功能作为工具提供给 MCP 客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Biomart MCP
用于连接 Biomart 的 MCP 服务
Model Context Protocol(MCP)是一种开放协议,用于标准化应用向 Anthropic 开发的大模型提供上下文的方式。这里我们使用 MCP python-sdk,通过 pybiomart 软件包创建一个连接 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
开发
# 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部分 - $...$
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。