使用说明(Markdown 格式)

  • 项目简介

    • 本项目实现了一个基于 MCP 协议的后端服务器,提供对 1000 Genomes Project 数据集的资源(如数据总览)、工具(可执行外部查询/统计任务的能力)以及可自定义的交互模板(Prompts)的支持,方便将数据和功能暴露给大型语言模型(LLM)客户端。
  • 主要功能点

    • 资源和数据访问:通过 MCP 提供对数据集信息及统计数据的读取能力(如样本总数、变体总数、按区域查询等)。
    • 工具注册与执行:将脚本化的查询和统计操作注册为可调用的 Tools,LLM 客户端可调用这些工具获取结果。
    • 连接多传输协议:支持通过 MCP 的 HTTP/Streamable HTTP、SSE、STDIO 等传输方式与客户端通信(实现了本地运行与容器化部署的能力)。
    • 会话与权限:服务器端处理会话、能力声明等元信息,确保与客户端的标准化交互。
  • 安装步骤

    • 本地编译与运行
      • 使用 Maven 打包为一个 uber-jar:
        • ./mvnw package -DskipTests -Dquarkus.package.jar.type=uber-jar
      • 运行本地开发环境(同时启用 stdio 和 HTTP/传输):
        • java -Dquarkus.profile=dev -jar <生成的 Jar 文件路径>
    • Docker 部署
      • 构建镜像(默认配置下 stdio 可用性有差异,请按需要调整 prod 配置):
        • docker build -f Dockerfile -t onekgpd-mcp .
      • 以容器运行(端口示例,可按环境映射调整):
        • docker run -p 9000:9000 --name onekgpd-mcp --rm onekgpd-mcp
    • 直接获取镜像
      • docker pull dnaerys/onekgpd-mcp:latest
      • 以容器运行:docker run -p 9000:9000 --name onekgpd-mcp --rm dnaerys/onekgpd-mcp
    • MCP 客户端连接(示例)
      • 通过 MCP 客户端连接到 HTTP/HTTPS 端点,例如 http://localhost:9000/mcp
  • 服务器配置(MCP 客户端 JSON 配置示例)

    • MCP 客户端在启动时需要知道 MCP 服务器的启动命令与参数。下面给出一个常用的配置示例,供客户端在对接时填写: { "mcpServers": { "OneKGPd": { "command": "java", "args": ["-Dquarkus.profile=dev", "-jar", "/full/path/onekgpd-mcp-runner.jar"] } // 你也可以使用 prod 配置或其他环境配置 } // 注:上述配置用于 MCP 客户端在启动时直接调用服务器,客户端本身无需实现 MCP 协议逻辑 }
  • 基本使用方法

    • 启动服务器后,客户端应指向服务器提供的 MCP 入口点,如 /mcp。
    • 使用 MCP 客户端发送 JSON-RPC 风格的请求,服务器将返回标准化的 JSON-RPC 响应。
    • 常用操作包括:查询数据总量、按区域查询变体、调用已注册的工具、获取提示模板等。
  • 运行与验证

    • 本地启动后,访问 http://localhost:9000/mcp 或通过对应传输协议的入口进行测试,确保返回符合 MCP 协议的响应。

信息

分类

网页与API