mcpField
S
STRING Database MCP Server

STRING Database MCP Server

远程服务
mcp.string-db.org科研与教育71 天前更新

关于 STRING Database MCP Server

STRING Database MCP Server 将 STRING 数据库功能提供给 AI Agent 和其他 MCP 客户端,适用于蛋白质与相互作用网络研究。它控制数据量并调整响应结构和元数据,以便模型处理和解析。

主要功能

  1. 01解析蛋白质标识符并获取元数据
  2. 02检索、聚类和可视化相互作用网络
  3. 03跨物种同源性查询
  4. 04获取蛋白质相互作用证据链接
  5. 05功能富集分析及图表
  6. 06查询功能、疾病与蛋白质注释

适用场景

  1. 01探索蛋白质相互作用网络
  2. 02比较不同物种中的同源蛋白
  3. 03分析蛋白质功能富集与疾病关联

MCP 相关

该 MCP 服务向客户端公开 STRING 的蛋白质元数据、相互作用网络、同源性、证据链接、富集分析和功能注释,可通过托管远程端点或本地运行访问。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.string-db.org/
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

17
参数类型必填说明
speciesstring否NCBI taxonomy ID(例如,人类为 9606)或 STRING genome ID(例如,上传基因组为 STRG0AXXXXX)。
proteinsstring是一个或多个输入蛋白质标识符(基因符号、UniProt ID 等),以回车符(%0d)分隔。
show_sequenceany否包含序列。仅在用户请求序列数据时使用。

详细介绍

官方 STRING Database MCP 服务

MCP Queen operational grade Glama score

将 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.7
    • mcp==1.29.0
    • httpx>=0.28,<0.29
    • pydantic>=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

  1. 确保你有 config/server.config 文件(如有需要,可从 config/server.config.example 复制):

    cp config/server.config.example config/server.config
    
  2. 构建镜像:

    docker build -t string-mcp .
    
  3. 运行容器:

    Linux/macOS:

    docker run -p 57416:57416 -v $(pwd)/config:/app/config:ro string-mcp
    

    Windows PowerShell:

    docker run -p 57416:57416 -v ${PWD}/config:/app/config:ro string-mcp
    

    Windows 命令提示符:

    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 标志会挂载本地配置目录,因此你无需重新构建镜像即可自定义设置。

    **注意:**如果无需修改配置,可以省略卷挂载,容器将使用镜像中的默认配置。

  4. 停止容器(如果正在分离模式下运行):

    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。

评论

支持 Markdown

第一次接触 MCP?

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

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