openEHR MCP Server

使用说明

  • 项目简介

    • 这是一个基于 MCP(Model Context Protocol)的服务器端实现,旨在为 OpenEHR 相关的模型、术语、工具与提示模板等资源提供统一的上下文服务与能力调用能力。服务器采用 PHP 8.4,支持多种传输方式(流式 HTTP、stdio),并具备资源管理、工具注册/执行以及提示模板渲染等核心能力。
  • 主要功能点

    • 资源管理:通过 MCP 资源模型暴露 Guides、Terminologies、Type Specifications 等资源,供客户端读取。
    • 工具注册与执行:提供 CKM、Terminology、Type 规范等工具的实现与暴露,支持参数化调用。
    • 提示模板(Prompts):定义并渲染多种对话模板,帮助 LLM 客户端与后端进行复杂工作流协作(如 archetype/template 探索、ADL/AQL 解释等)。
    • 数据传输与会话:支持 JSON-RPC 风格的请求/响应处理,提供会话管理与日志记录。
    • 传输接口:默认 streamable-http,开发阶段支持 stdio,便于本地调试与集成。
    • Docker 与本地开发脚手架:提供本地开发环境与示例部署方式。
  • 安装步骤

    • 使用本仓库快速启动的核心方式包括:使用 Docker Compose 部署生产/开发环境,或下载已编译镜像直接运行。
    • 需要本地开发时,可以通过 clone 仓库、配置环境变量、使用 docker compose 进行开发环境搭建,并通过容器执行 composer 安装依赖。
  • 服务器配置(MCP 客户端需要的信息)

    • MCP 客户端在连接服务器时,需要在配置中指定服务器信息,典型配置包括服务器名称、传输类型、地址/启动命令及参数等。示例(以 JSON 表示,供客户端配置参考,实际客户端不需要直接运行代码):
    • { "mcpServers": { "openehr-assistant-mcp": { "type": "streamable-http", "url": "https://openehr-assistant-mcp.apps.cadasto.com/" }, "openehr-assistant-mcp-stdio": { "command": "docker", "args": [ "run", "-i", "--rm", "ghcr.io/cadasto/openehr-assistant-mcp:latest", "php", "public/index.php", "--transport=stdio" ] } } }
  • 基本使用方法

    • 选择传输方式:生产环境使用 streamable-http;开发阶段可使用 stdio(作为一个独立进程由客户端启动)。
    • 客户端在设置 MCP 服务器后,即可通过 MCP 提供的工具、资源和提示模板发起请求并获取响应,支持对 CKM、Terminology、Type Specifications 等进行查询与获取,并能通过 Guide、Template、AQL 等工作流模板进行交互。
  • 其他注意

    • 服务器依赖 PHP 8.4、Composer、Docker/Docker Compose,以及 CKM 的远端接口(若使用 CKM 相关工具)。
    • 服务端具备日志记录、缓存、会话存储等能力,便于调试与追踪会话状态。

服务器信息