MCP (模型上下文协议) 服务器用于 Biothings.io
此服务器实现了 Biothings 的模型上下文协议 (MCP),提供了一个标准化接口来访问和操作生物医学数据。MCP 允许 AI 助手和代理通过结构化接口访问权威的数据源中的专业生物医学知识。支持的 Biothings 数据源包括:
如果您想了解更多关于模型上下文协议的内容以及如何更有效地使用它,可以参加 DeepLearning AI 课程 或者在 YouTube 上搜索 MCP 视频。
MCP 是一种协议,弥合了 AI 系统与专业领域知识之间的差距。它能够实现:
此服务器提供了针对不同 Biothings 数据类型的专用 API 接口,利用了 biothings-typed-client 库。这些接口是通过以下工具处理器实现的:
GeneTools(封装 GeneClientAsync)VariantTools(封装 VariantClientAsync)ChemTools(封装 ChemClientAsync)TaxonTools(封装 TaxonClientAsync)DownloadTools(提供文件下载和序列分析能力)服务器通过 DownloadTools 接口包含了本地文件保存功能,提供:
download_entrez_data:从 NCBI Entrez 数据库下载数据(返回字符串内容)download_entrez_data_local:从 NCBI Entrez 数据库下载数据并保存到本地文件biothings_output/ 目录中--output-dir 参数指定自定义输出目录.fasta 扩展名用于序列数据.gb 扩展名用于 GenBank 格式数据.aln 扩展名用于对齐结果.json 扩展名用于结构化数据.txt 扩展名用于通用文本数据# 下载并安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# 验证安装
uv --version
uvx --version
uvx 是一个非常棒的工具,可以在需要时安装 Python 包。
您可以直接使用 uvx 运行 biothings-mcp 服务器,而无需克隆仓库:
# 在 STDIO 模式下运行服务器(默认模式)
uvx biothings-mcp
# 或明确指定 stdio 模式
uvx --from biothings-mcp stdio
# 使用自定义输出目录
uvx --from biothings-mcp stdio --output-dir ./my_data
# 在默认端口(3001)上以流式传输 HTTP 模式运行服务器
uvx --from biothings-mcp server run
# 在自定义端口上运行
uvx --from biothings-mcp server run --port 8000
# 在自定义主机和端口上运行
uvx --from biothings-mcp server run --host 0.0.0.0 --port 8000
# 使用自定义输出目录
uvx --from biothings-mcp server run --output-dir ./my_data
# 在默认端口(3001)上以 SSE 模式运行服务器
uvx --from biothings-mcp sse
# 在自定义端口上运行
uvx --from biothings-mcp sse --port 8000
HTTP 流式传输模式将启动一个 Web 服务器,您可以通过 http://localhost:3001/mcp 访问(文档位于 http://localhost:3001/docs)。STDIO 模式设计用于通过标准输入输出通信的 MCP 客户端,而 SSE 模式使用服务器发送事件进行实时通信。
我们提供使用代理的 stdio 配置(可能需要 npx 来运行):
如果您想检查 MCP 提供的方法,请使用 npx(您可能需要安装 nodejs 和 npm)
测试您的 MCP 设置,请使用 MCP Inspector。
如果您想检查本地流式传输 HTTP 服务器,请使用:
npx @modelcontextprotocol/inspector --config mcp-config.json --server biothings-mcp
对于远程服务器,请添加 -remote 后缀。
如果您想检查本地 stdio 服务器,请使用:
npx @modelcontextprotocol/inspector --config mcp-config-stdio.json --server biothings-mcp
您也可以手动运行 inspector 并在界面中输入服务器参数:
npx @modelcontextprotocol/inspector
之后,您可以在 http://127.0.0.1:6274 使用 MCP Inspector 探索其方法。
# 克隆仓库
git clone https://github.com/longevity-genie/biothings-mcp.git
cd biothings-mcp
uv sync
如果您已经克隆了仓库,可以使用 uv 运行服务器:
# 在 HTTP 流式传输模式下启动 MCP 服务器(默认端口 3001)
uv run server run
# 在 STDIO 模式下运行
uv run stdio
# 在 SSE 模式下运行
uv run sse
# 使用自定义端口运行
uv run server run --port 8000
# 使用自定义输出目录运行
uv run server run --output-dir ./my_data
要将此服务器与兼容 MCP 的 AI 客户端集成,可以使用此仓库提供的预配置 JSON 文件之一:
mcp-config.json。确保首先运行服务器,可以通过 uv run server(参见 运行 MCP 服务器)或 docker-compose up(参见 Docker 部署)。mcp-config-remote.json。这连接到 https://biothings.longevity-genie.info/mcp,不需要您在本地运行任何东西。只需将您的 AI 客户端(如 Cursor, Windserve, ClaudeDesktop, VS Code with Copilot,或其他)指向适当的配置文件即可。
这是一个示例,展示了配置后在类似 Cursor 的 MCP 客户端中工具可能的外观:

该库处于测试阶段。目前的主要问题是 LLM 经常愚蠢且不知道如何放置有效的基因和基因变异符号。我们计划通过扩展注释和提供额外的实体解析方法来缓解这一问题。
运行 API 端点的测试:
uv run pytest -vvv -s
您可以使用 MCP inspector 与本地构建的 MCP 服务器相同的方式使用 uvx。
注意:使用 MCP Inspector 是可选的。大多数 MCP 客户端(如 Cursor, Windsurv 等)一旦配置好,会自动显示来自此服务器的所有可用工具。然而,Inspector 对详细测试和探索很有帮助。
如果您选择通过 npx 使用 Inspector,请确保已安装 Node.js 和 npm。推荐使用 nvm(Node 版本管理器)来管理 Node.js 版本。
这将打开一个 Web 界面,您可以在其中探索和测试所有可用工具。
有关 MCP 协议及其实施的详细文档,请参考:
本项目采用 MIT 许可证。
MCP 协议 提供协议规范
Pydantic 提供数据验证框架
FastAPI-MCP 提供 MCP 服务器实现
本项目属于 Longevity Genie 组织,该组织开发开源 AI 助手和库,用于健康、遗传学和长寿研究。
我们得到以下机构的支持:
HEALES - 健康寿命延长协会
和