返回 MCP 目录
public公开dns本地运行

openehr-mcp-server

openEHR MCP服务器项目,提供与EHRbase REST API的接口服务,支持通过MCP协议管理电子健康记录模板和组合数据。

article

README

🚀 openEHR MCP 服务器

openEHR MCP 服务器是一个基于 Model Context Protocol (MCP) 的服务器,用于与 openEHR REST API(特别是 EHRbase 实现)进行交互。它使得 MCP 客户端(如 Claude Desktop)能够为 openEHR 模板创建组成并提交到服务器。对于生产级别的 EHR 集成,必须使用能确保数据隐私的 AI 模型。

有关更多关于 MCP 的信息,请访问 https://modelcontextprotocol.io/introduction

🚀 快速开始

使用预建的 Docker 镜像(在 Docker Hub 上可用)是开始的最简单方法。

1. 前提条件

确保有一个正在运行的 EHRbase 服务器。如果需要,可以参考文档中的设置指南。

2. 安装 Docker

按照官方文档安装并配置 Docker 环境:https://docs.docker.com/get-docker/

3. 拉取 Docker 镜像

从 Docker Hub 下载 openEHR MCP Server 镜像:

docker pull openehr-mcp-server:latest

4. 运行 Docker 容器

以交互模式运行容器,并将其连接到主机网络:

docker run -it --network host openehr-mcp-server:latest

这将启动 MCP 服务器,您可以在终端中看到日志输出。默认情况下,服务器将在 http://localhost:8080 上运行。

5. 验证安装

打开浏览器或使用命令行工具访问 http://localhost:8080。您应该会看到 MCP 服务器的欢迎页面或 API 文档。

✨ 主要特性

MCP 工具

  • openehr_template_list:列出 EHRbase 服务器上所有可用的 openEHR 模板
  • openehr_template_get:通过其唯一标识符检索特定的 openEHR 模板
  • openehr_template_example_composition:根据特定模板生成示例 openEHR 组成
  • openehr_ehr_create:创建新的 EHR
  • openehr_ehr_get:通过 ID 获取 EHR
  • openehr_ehr_list:列出系统中所有可用的 EHR
  • openehr_ehr_get_by_subject:通过主题 ID 和命名空间获取 EHR
  • openehr_composition_create:在电子健康记录中创建新的 openEHR 组成
  • openehr_composition_get:通过其唯一标识符检索现有 openEHR 组成
  • openehr_composition_update:更新现有的 openEHR 组成
  • openehr_composition_delete:从电子健康记录中删除现有的 openEHR 组成
  • openehr_query_adhoc:对 openEHR 服务器执行即席 AQL 查询

MCP 提示

  • vital_signs_capture:为抓取特定 EHR ID 的生命体征

📦 安装指南

安装依赖项

在开始之前,请确保系统上已安装以下软件:

  • Python 3.6 或更高版本
  • pip(Python 包管理器)
  • Docker(如果需要使用容器化部署)

克隆仓库

从 GitHub 克隆此仓库:

git clone https://github.com/yourusername/openehr-mcp-server.git
cd openehr-mcp-server

安装 Python 包

在项目根目录中,安装所需的 Python 包:

pip install -r requirements.txt

配置设置

创建一个 config.py 文件(或复制现有的示例配置文件),并根据需要进行调整。

# config.py 示例
DEBUG = True
PORT = 8080
HOST = 'localhost'

启动服务器

运行以下命令启动 MCP 服务器:

python app.py

服务器将在指定的端口上启动,并准备处理请求。

💻 使用示例

命令行工具

所有 MCP 工具都可以通过命令行使用。例如:

基础用法

列出所有模板
openehr_template_list --server http://localhost:8080
创建新 EHR
openehr_ehr_create --subject-id "patient_1234" --server http://localhost:8080

API 文档

完整的 API 文档可通过 Swagger UI 访问:http://localhost:8080/swagger

📚 详细文档

测试

单元测试

运行以下命令来执行单元测试:

pytest tests/test_*.py -v

这将运行所有测试用例,并输出详细结果。

集成测试

在集成环境中运行更全面的测试:

pytest integration_tests/ --cov=openehr_mcp_server

问题排查

如果遇到问题,请检查以下内容:

  1. 确保 Docker 正确安装并正在运行。
  2. 检查容器的日志输出,以获取可能的错误信息:
    docker logs <container-id>
    
  3. 查看服务器日志文件(通常位于 logs/ 目录)。

贡献指南

如果您希望为项目做出贡献,请遵循以下步骤:

  1. Fork 仓库。
  2. 创建新的功能分支:
    git checkout -b feature/<your-feature>
    
  3. 提交您的更改,并创建 Pull Request 到主分支。
  4. 在 Pull Request 中详细说明您的变更内容。

📄 许可证

该项目遵循 MIT 许可证。有关详细信息,请参阅 LICENSE 文件。

如果有任何问题或需要进一步帮助,请随时与我们联系!

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端