UniProt & Proteins API MCP Server

  • 项目简介
    • 本仓库实现了一个 MCP 服务器,用以向大语言模型客户端以标准化方式提供上下文信息和功能。核心包括资源与工具管理、数据数据化(Staging)及对外 UniProt/EBI Proteins API 的接入能力,支持通过 JSON-RPC 形式的 MCP 请求与响应。
  • 主要功能点
    • MCP核心实现:接收、解析并响应 MCP 请求,注册与执行工具,提供会话与能力声明。
    • 资源/工具/ prompts 管理:集中注册工具、维护工具 Registry、对外暴露的工具接口。
    • 数据场景化与存储:将大数据集分阶段存储在 Cloudflare Durable Objects 的 SQLite 实例中,支持复杂 SQL 查询、数据导出与模式推断。
    • API 接入代理:将 MCP 客户端对 UniProt REST API 与 EBI Proteins API 的调用路由到相应服务端点,配合自动数据分段/存储。
    • Code Mode 支持:为 LLM 提供 Code Mode 环境,支持 in-isolate 调用、动态代码执行、以及 API 代理工具的集成。
    • 多传输与通知:SSE/HTTP/Ws 等传输通道实现,提供推送和通知能力。
  • 安装步骤
    • 在本地或云端部署前,请先安装依赖并准备 Cloudflare Workers 环境(README 提供了开发与部署指令)。
    • 常用流程:
      • 安装依赖:在项目根目录执行安装命令。
      • 本地开发:运行开发服务器,确保 MCP 端点可通过 http://localhost:8787/mcp 与 SSE 端点 http://localhost:8787/sse 访问。
      • 生产部署:通过 Cloudflare Workers 的 wrangler 工具进行部署。
  • 服务器配置(MCP 客户端连接信息)
    • 配置示例(JSON,描述性注释,非代码块呈现)
      • server_name: "uniprot_mcp_server"
      • command: "npx"
      • args: ["mcp-remote", "http://localhost:8787/sse"]
    • 说明
      • server_name:MCP 客户端对服务器的唯一标识名称,便于区分与管理。
      • command/args:用于启动客户端连接到 MCP 服务器的命令与参数。仓库示例中推荐使用 mcp-remote 通过 SSE 端点进行连接,SSE URL 对应开发和生产环境的实际暴露地址。
  • 基本使用方法
    • 启动服务器后,使用 MCP 客户端(如 Claude Desktop 的 mcp-remote)连接至 SSE 端点。
    • 通过 MCP 客户端发送 JSON-RPC 风格的请求,调用注册的 Tools(如 uniprot_search、uniprot_entry、data_manager 等)以获取数据、进行数据分段查询或导出。
    • 使用 Code Mode 提供的工具在沙箱中编写代码,访问 API、执行查询、并利用 data staging 功能进行高效大数据处理。
    • 通过数据管理工具查看已分阶段的数据集、执行查询和获取模式信息,必要时进行模式推断与模式转换。

服务器信息