用于 MCP 客户端的使用说明(简要、面向开发者)
-
项目简介
- PyOMOP MCP 服务器是一个完整的 MCP 服务器实现,能够向 LLM 客户端暴露资源、工具和 Prompts,支持通过 JSON-RPC 进行请求与响应。内置工具涵盖 CDM 数据库创建、数据加载、表结构查询、SQL 执行等常用操作,且提供对 OHDSI QueryLibrary 的示例查询及简单的 SQL 检查能力。
-
主要功能点
- 资源与数据访问:读取表结构、列信息、可用表名等元数据。
- 工具执行:创建 CDM、加载 Eunomia 数据、执行 SQL、获取示例查询等。
- Prompts:提供用于引导 SQL 查询的提示文本(如 query_execution_steps)。
- JSON-RPC 风格接口:通过 MCP 客户端进行请求—响应交互。
- 多传输协议:默认 STDIO(stdio)传输,支持 HTTP(SSE) 传输以实现 Web/远程交互。
- 与 OMOP CDM 的紧密结合:通过 CdmEngineFactory、CDMDatabase 等后端组件对 CDM 模型进行操作与查询。
-
安装与运行步骤
- 安装依赖并准备运行环境(请根据项目实际环境安装可选依赖,例如与 MCP、LLM 相关的包)。
- 启动 STDIO 传输的 MCP 服务:
- 以模块方式启动:python -m pyomop.mcp
- 或直接执行脚本(如果安装了脚本入口):pyomop-mcp-server
- 启动 HTTP 传输的 MCP 服务(如需远程/网页端交互):
- 使用命令启动:python -m pyomop.mcp --http
- 或自定义端口:python -m pyomop.mcp --http --host 0.0.0.0 --port 8000
- 如需在 VSCode 等工具中使用,请参考仓库中提供的 MCP 配置示例。
-
服务器配置(MCP 客户端所需信息,JSON 格式,供客户端参考,不作为代码片段直接执行)
- server name: pyomop
- command: python
- args: ["-m","pyomop.mcp","--mcp-server"]
- 说明:该配置让 MCP 客户端通过该命令启动服务器并进入 MCP 的 stdio 服务模式。若使用 HTTP 传输,请改为等效的启动命令(例如使用 --http 开关启动 HTTP/SSE 传输)。
-
基本使用方法
- 连接与查询:通过 MCP 客户端向服务器发送 JSON-RPC 请求,获取可用工具、表结构、执行 SQL、获取示例查询等。
- 工具执行流程:先查看可用工具,再调用具体工具执行如 create_cdm、create_eunomia、run_sql 等。
- 结果处理:服务器返回 MCP 的文本或结构化响应,客户端依据文档进行解析和继续交互。
-
注意事项
- MCP 服务端的实现包含对 CDM 的封装和元数据暴露,具体行为依赖于后端引擎工厂和数据库连接配置,请在正式环境中进行充分测试。
- 某些高级功能(如高级 LLM 支持与在线查询检查)需要额外的依赖,请按仓库文档安装。
信息
分类
AI与计算