关于 STRING Database MCP Server
STRING Database MCP Server 将 STRING 数据库功能提供给 AI Agent 和其他 MCP 客户端,适用于蛋白质与相互作用网络研究。它控制数据量并调整响应结构和元数据,以便模型处理和解析。
主要功能
- 01解析蛋白质标识符并获取元数据
- 02检索、聚类和可视化相互作用网络
- 03跨物种同源性查询
- 04获取蛋白质相互作用证据链接
- 05功能富集分析及图表
- 06查询功能、疾病与蛋白质注释
适用场景
- 01探索蛋白质相互作用网络
- 02比较不同物种中的同源蛋白
- 03分析蛋白质功能富集与疾病关联
MCP 相关
该 MCP 服务向客户端公开 STRING 的蛋白质元数据、相互作用网络、同源性、证据链接、富集分析和功能注释,可通过托管远程端点或本地运行访问。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.string-db.org/claude mcp add --transport http org-string-db-string https://mcp.string-db.org/{"mcpServers":{"org-string-db-string":{"type":"http","url":"https://mcp.string-db.org/"}}}在 Cursor 中打开{"servers":{"org-string-db-string":{"type":"http","url":"https://mcp.string-db.org/"}}}在 VS Code 中打开{"mcpServers":{"org-string-db-string":{"type":"http","url":"https://mcp.string-db.org/"}}}{"mcpServers":{"org-string-db-string":{"serverUrl":"https://mcp.string-db.org/"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
17| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| species | string | 否 | NCBI taxonomy ID(例如,人类为 9606)或 STRING genome ID(例如,上传基因组为 STRG0AXXXXX)。 |
| proteins | string | 是 | 一个或多个输入蛋白质标识符(基因符号、UniProt ID 等),以回车符(%0d)分隔。 |
| show_sequence | any | 否 | 包含序列。仅在用户请求序列数据时使用。 |
详细介绍
官方 STRING Database MCP 服务
将 STRING database 功能作为 Model Context Protocol (MCP) 服务提供。
此实现使 AI Agent 和其他兼容 MCP 的客户端能够通过结构化且自描述的接口访问 STRING 数据。
该服务基于 STRING API 构建,但专为基于模型的使用场景进行了调整,着重于简洁性和上下文效率。服务会控制数据的数量和类型,使响应保持在大模型的推理限制范围内。它还会调整结构并添加元数据,以支持 Agent 系统更一致地解析和解读数据。
该服务也可通过 https://mcp.string-db.org 作为托管的远程 MCP 端点使用。
如需实时演示 MCP 功能,请参阅 STRING Chat。
如需可复现的工作流和大规模集成,请使用 STRING API。
如需 Agent 工作流,请使用可选的 Agent 技能:skills/string-database/SKILL.md。
功能
- 将蛋白质标识符解析为 STRING 元数据
- 检索相互作用网络
- 对相互作用网络进行聚类和可视化
- 跨物种进行同源性查询
- 访问蛋白质–蛋白质相互作用的证据链接
- 运行功能富集分析(包括富集图)
- 获取蛋白质的整理后功能注释
- 按功能或疾病查询蛋白质(GO、KEGG、Reactome、DISEASES 等)
要求
- Python ≥ 3.11(使用 Python 3.10 时,可选参数描述在工具架构中的位置不正确)
- 依赖项(参见
requirements.txt):fastmcp==2.14.7mcp==1.29.0httpx>=0.28,<0.29pydantic>=2.11,<3.0
**注意:**如果服务在启动时崩溃,很可能是由于 FastMCP 版本不兼容。
配置
服务从 config/server.config(JSON)读取设置。示例:
{
"base_url": "https://string-db.org",
"server_port": 57416,
"verbosity": "low"
}
安装
git clone https://github.com/meringlab/string-mcp.git
cd string-mcp
pip install -r requirements.txt
运行
python server.py
如需通过标准输入/输出而非 HTTP 提供服务,例如由本地 MCP 客户端自行启动服务时:
python server.py --stdio
stdio 模式也会从 config/server.config 读取 STRING API 端点。
测试
curl -v -H "Accept: text/event-stream" http://localhost:[port]/mcp
你应该会看到 200 OK 响应,其 content-type 为 text/event-stream。
**注意:**使用默认标头发送的 HTTP 请求会触发 anyio.ClosedResourceError 和 406 Not Acceptable。这是 MCP 流式协议的预期行为,并不表示存在问题。
Docker
-
确保你有
config/server.config文件(如有需要,可从config/server.config.example复制):cp config/server.config.example config/server.config -
构建镜像:
docker build -t string-mcp . -
运行容器:
Linux/macOS:
docker run -p 57416:57416 -v $(pwd)/config:/app/config:ro string-mcpWindows PowerShell:
docker run -p 57416:57416 -v ${PWD}/config:/app/config:ro string-mcpWindows 命令提示符:
docker run -p 57416:57416 -v %cd%/config:/app/config:ro string-mcp如需在分离模式下运行:
# Linux/macOS docker run -d -p 57416:57416 -v $(pwd)/config:/app/config:ro --name string-mcp-server string-mcp # Windows PowerShell docker run -d -p 57416:57416 -v ${PWD}/config:/app/config:ro --name string-mcp-server string-mcp-v标志会挂载本地配置目录,因此你无需重新构建镜像即可自定义设置。**注意:**如果无需修改配置,可以省略卷挂载,容器将使用镜像中的默认配置。
-
停止容器(如果正在分离模式下运行):
docker stop string-mcp-server docker rm string-mcp-server
**注意:**Docker 容器将使用 config/server.config 中的配置。如果此文件不存在,容器会在首次运行时从 server.config.example 复制配置。
冻结版 STRING 发布版本可通过带版本号的路径访问:/12.0/(STRING v12.0)和 /12.5/(STRING v12.5)。
许可证 / 引用
STRING MCP 服务源代码采用 MIT License 发布。
相关数据和输出采用 CC BY 4.0 License 发布。
您可以自由使用、分享和修改代码,但需注明出处。
如果您在工作中使用了这些代码或数据,也请引用最新的 STRING manuscript。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。