Openehr Mcp Server

Openehr Mcp Server

🚀 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 
    
  3. 查看服务器日志文件(通常位于 logs/ 目录)。

贡献指南

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

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

📄 许可证

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

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

  • 0 关注
  • 0 收藏,28 浏览
  • system 提出于 2025-10-03 19:51

相似服务问题

相关AI产品