首页
学习
活动
专区
圈层
工具
发布
MCP广场 >详情页
生物数据助手2026-10-22159分享添加福利群:解决AI开发者的「MCP实战痛点」
一个模型上下文协议服务器,用于与Biomart数据库接口,允许模型发现生物数据集、探索属性/过滤器、检索生物数据以及在不同生物标识符之间进行转换。
By jzinno
2026-10-22159
github
详情内容

Biomart MCP

smithery徽章 MseeP验证

一个与Biomart交互的MCP服务器

模型上下文协议(MCP)是由Anthropic开发的开放协议,用于标准化应用程序如何为大型语言模型提供上下文。在这里,我们使用MCP Python SDK创建了一个通过pybiomart包与Biomart交互的MCP服务器。

展示biomart-mcp运行的演示

有一个简短的演示视频,展示了Claude Desktop上运行的MCP服务器。

安装

通过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的代理模式,其他模型也可以利用MCP服务器,例如来自OpenAI或DeepSeek的模型。点击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服务器

开发

# 创建虚拟环境
uv venv

# MacOS/Linux
source .venv/bin/activate

# Windows
.venv\Scripts\activate

uv sync #或 uv add mcp[cli] pybiomart

# 以开发模式运行服务器
mcp dev biomart-mcp.py

功能

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

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

贡献

欢迎提交拉取请求!关于开发的一些小提示:

  • 我们在这里仅使用@mcp.tool(),这是为了最大化与支持MCP的客户端的兼容性,如文档所示。
  • 我们使用@lru_cache来缓存计算成本高或进行外部API调用的函数的结果。
  • 我们需要注意不要超出模型的上下文窗口,例如你会在很多地方看到df.to_csv(index=False).replace("\r", "")。这种CSV风格的返回比df.to_string()更节省token,因为后者的大部分token是空白。还要注意,从染色体中提取所有基因或类似的大请求也会超出上下文窗口。

潜在的未来功能

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

  • 使用bs4进行资源网站的网络抓取,例如我们获取了NOTCH1的Ensembl基因ID,然后在某些情况下,从UCSC页面抓取整理的Comments and Description Text from UniProtKB部分可能很有用。
  • ......
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档