使用说明(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 文件路径>
- 使用 Maven 打包为一个 uber-jar:
- Docker 部署
- 构建镜像(默认配置下 stdio 可用性有差异,请按需要调整 prod 配置):
- docker build -f Dockerfile -t onekgpd-mcp .
- 以容器运行(端口示例,可按环境映射调整):
- docker run -p 9000:9000 --name onekgpd-mcp --rm onekgpd-mcp
- 构建镜像(默认配置下 stdio 可用性有差异,请按需要调整 prod 配置):
- 直接获取镜像
- 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