NCI GDC MCP Server

使用说明内容(Markdown格式)

  • 项目简介

    • 该仓库实现了一个基于 Model Context Protocol (MCP) 的服务器端后端,专注于向 LLM 客户端提供对 NCI GDC 数据的访问、数据资源管理、工具注册与执行,以及基于 Prompt 的交互能力。它通过 JSON-RPC 风格的请求/响应来实现客户端与服务器之间的通信,并支持数据分阶段(staging)、Code Mode 等高级特性,提升对大规模数据的安全、可扩展访问。
  • 主要功能点

    • MCP 协议实现与工具注册:通过 MCP 的标准接口注册工具、处理请求并返回规范化的 JSON-RPC 响应。
    • 资源与数据访问:提供对 GDC 数据的查询、数据类型探查和数据分阶段存储(staging)能力,确保大数据集能高效、可控地被访问。
    • 工具执行与外部调用:内置工具集合,可在 LLM 场景下执行外部功能(如数据库查询、数据获取等),并通过 Code Mode 安全执行代码。
    • Prompt 模板与渲染:支持基于 Promo pt 的模板渲染和交互模式,提升 LLM 与后端的对话质量。
    • Code Mode 与动态执行:内置 Codemode evaluator、proxy、execute 工具等组件,支持在沙箱中执行自定义代码并访问 MCP 工具。
    • 数据分阶段(Staging):通过 Durable Object/分级存储,将大响应自动分阶段成可查询的 SQLite 数据,降低上下文窗口压力。
    • 多传输协议与出口:支持基于 HTTP/Stream、SSE 等传输模式,提供更灵活的接入方式。
    • 与 GDC GraphQL 的集成:内置 gdc_graphql_query 工具,直接对 NCI GDC GraphQL API 进行查询,并对超大响应进行自动分阶段处理。
    • 本地和远程部署能力:提供本地开发与远程部署的示例与工具链,方便在 Cloudflare Workers 等环境中运行。
  • 安装步骤

    • 克隆仓库并安装依赖(通常使用 PNPM/Yarn 安装工作区包依赖)。
    • 构建并打包服务端代码,使其可以在目标运行环境(如 Cloudflare Workers / Node 环境)中部署运行。
    • 部署后启动 MCP 服务器实例,确保能够对外提供 MCP 接口与工具调用能力。
    • 在客户端配置中指向服务器提供的 MCP 端点(下方“服务器配置”给出配置示例注释)。
  • 服务器配置(MCP 客户端需要配置的部分,不是服务器端源码) 服务器配置信息(JSON,示例注释): { "serverName": "nci-gdc", "command": "npx", "args": [ "mcp-remote", "https://nci-gdc-mcp-server.quentincody.workers.dev/mcp" ] // 说明:serverName 为客户端使用的标识名,command/args 指定启动远程 MCP 客户端的命令与参数,连接到该 MCP 服务器的公开入口点 URL。 } 注:客户端配置仅用于说明连接方式,实际使用时请将 serverName、command、args 根据你的环境替换为准确值。MCP 客户端不需要查看服务器实现细节,只需要知道如何连接即可。

  • 基本使用方法

    • 启动并连接:在客户端(如 Claude Desktop 等 MCP 客户端)中,使用上面的配置将服务器注册为一个 MCP 服务端点。
    • 读取资源与数据:通过 MCP 提供的资源/数据相关工具进行查询、聚合与分析。
    • 调用工具:通过已经注册的工具执行外部功能,如数据库查询、数据获取、生成查询等。
    • 使用 Code Mode:利用 Code Mode 工具在沙箱中编写、执行自定义逻辑,并通过 MCP 的对象模型返回结构化结果。
    • 数据分阶段:在返回大数据时,后端会自动将结果分阶段存储,客户端可通过 data_access_id 查询或获取 schema 以进行后续分析。
  • 备注

    • 如果需要可扩展性、跨域数据源整合和对大规模数据的高效访问,MCP 服务器在该仓库中提供了完整实现,涵盖资源管理、工具执行、Prompt 渲染和分阶段存储等能力。

服务器信息