Token导航 LogoToken导航TokenDH.com
Patient Care System logo
运维云端未说明官方级别未说明来源级核验

Patient Care System

MCP Server

一个基于Spring Boot的综合性医疗管理系统,通过REST API和原生Spring MCP服务器提供患者数据、进展记录和护理计划的管理功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
JavaClaude云端部署Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Viktechenthu

提供方

Viktechenthu

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

基于Spring的MCP服务器的患者护理系统

使用Spring Boot构建的全面医疗管理系统,通过REST API和原生Spring MCP服务器公开患者数据、进度记录和护理计划。

项目结构

patient-care-system/
├── src/main/java/com/healthcare/patientcare/
│   ├── PatientCareApplication.java
│   ├── entity/
│   │   ├── Patient.java
│   │   ├── ProgressNote.java
│   │   └── CarePlan.java
│   ├── repository/
│   │   ├── PatientRepository.java
│   │   ├── ProgressNoteRepository.java
│   │   └── CarePlanRepository.java
│   ├── service/
│   │   └── PatientService.java
│   ├── controller/
│   │   └── PatientController.java
│   ├── mcp/
│   │   ├── model/
│   │   │   ├── MCPRequest.java
│   │   │   ├── MCPResponse.java
│   │   │   ├── MCPError.java
│   │   │   ├── MCPTool.java
│   │   │   ├── MCPToolCallRequest.java
│   │   │   ├── MCPContent.java
│   │   │   └── MCPToolResponse.java
│   │   ├── service/
│   │   │   └── MCPService.java
│   │   ├── controller/
│   │   │   └── MCPController.java
│   │   └── MCPServerWrapper.java (standalone bridge)
│   └── config/
│       ├── DataInitializer.java
│       └── JacksonConfig.java
├── src/main/resources/
│   └── application.properties
├── mcp-server.sh (Linux/Mac)
├── mcp-server.bat (Windows)
└── pom.xml

建筑

该系统使用 Spring原生MCP服务器 哪里:

  1. Spring Boot在以下位置公开了一个HTTP端点 /mcp 处理JSON-RPC 2.0请求
  2. 轻量级包装器(shell脚本或Java)将stdio桥接到HTTP端点
  3. Claude Desktop与包装器通信,包装器转发给Spring Boot

特性

REST API

  1. 按姓名获取患者: GET /api/patients/by-name/{name}
  2. 按ID获取患者: GET /api/patients/{id}
  3. 获取所有患者: GET /api/patients
  4. 获取进度记录: GET /api/patients/{id}/progress-notes
  5. 获取护理计划: GET /api/patients/{id}/care-plan
  6. 更新护理计划: POST /api/patients/{id}/care-plan

MCP端点

HTTP端点: POST /mcp

通过以下方法接受JSON-RPC 2.0请求:

  • initialize -初始化MCP服务器
  • tools/list -列出可用工具
  • tools/call -执行工具

MCP工具(6个可用)

  1. get_patient_by_name -按姓名检索患者详细信息
  2. get_patient_by_id -按ID检索患者详细信息
  3. 接收所有患者 -列出所有患者
  4. get_progress_notes -为患者获取进度记录
  5. get_care_plan -为患者制定护理计划
  6. update_care_plan -更新或创建护理计划

安装说明

先决条件

  • Java 17或更高版本
  • Maven 3.6+
  • curl(用于shell脚本桥)

步骤1:构建并运行Spring Boot应用程序

# Navigate to project root
cd patient-care-system

# Build the project
mvn clean install

# Run the application
mvn spring-boot:run

应用程序将于启动 http://localhost:8080

您应该看到:

Patient Care System is running on http://localhost:8080
H2 Console available at http://localhost:8080/h2-console

步骤2:验证应用程序

# Check health
curl http://localhost:8080/

# Test REST API
curl http://localhost:8080/api/patients

# Test MCP endpoint
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/list",
    "id": 1
  }'

步骤3:配置MCP服务器网桥

选择以下选项之一:

选项A:Shell脚本桥(Linux/Mac)-推荐

# Make the script executable
chmod +x mcp-server.sh

# Test it
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | ./mcp-server.sh

选项B:批处理脚本桥(Windows)

# Test it
echo {"jsonrpc":"2.0","method":"tools/list","id":1} | mcp-server.bat

选项C:Java包装桥(所有平台)

# Compile
javac src/main/java/com/healthcare/patientcare/mcp/MCPServerWrapper.java

# Run
java -cp src/main/java com.healthcare.patientcare.mcp.MCPServerWrapper

# Test it
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | java -cp src/main/java com.healthcare.patientcare.mcp.MCPServerWrapper

步骤4:配置Claude桌面

编辑您的Claude Desktop配置文件:

苹果电脑: ~/Library/Application Support/Claude/claude_desktop_config.json\ 视窗: %APPDATA%\Claude\claude_desktop_config.json

添加以下配置(根据您的网桥选择进行选择):

对于Shell脚本(Linux/Mac):

{
  "mcpServers": {
    "patient-care": {
      "command": "/absolute/path/to/patient-care-system/mcp-server.sh"
    }
  }
}

对于批处理脚本(Windows):

{
  "mcpServers": {
    "patient-care": {
      "command": "C:\\absolute\\path\\to\\patient-care-system\\mcp-server.bat"
    }
  }
}

对于Java包装器:

{
  "mcpServers": {
    "patient-care": {
      "command": "java",
      "args": [
        "-cp",
        "/absolute/path/to/patient-care-system/src/main/java",
        "com.healthcare.patientcare.mcp.MCPServerWrapper"
      ]
    }
  }
}

重要:用实际的绝对路径替换路径!

步骤5:重新启动克劳德桌面

更新配置后,重新启动Claude Desktop。MCP服务器将可供使用。

样品数据

应用程序在启动时自动加载示例数据:

病人1:约翰·史密斯

  • ID: 1
  • 患者编号:专利001
  • 条件:高血压
  • 病程记录:2个注释
  • 护理计划:活动

病人2:玛丽·约翰逊

  • ID: 2
  • 患者编号:专利002
  • 条件:2型糖尿病
  • 病程记录:1注
  • 护理计划:活动

在Claude中使用MCP工具

配置后,您可以要求Claude:

"Get patient details for John Smith"
"Show me the progress notes for patient ID 1"
"What is the care plan for Mary Johnson?"
"Update the care plan for patient 1 with new goals: Control blood pressure below 120/80"

手动测试MCP服务器

您可以直接测试MCP端点:

# List tools
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/list",
    "id": 1
  }'

# Get patient by name
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_patient_by_name",
      "arguments": {
        "name": "John Smith"
      }
    },
    "id": 2
  }'

# Get progress notes
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "get_progress_notes",
      "arguments": {
        "patient_id": 1
      }
    },
    "id": 3
  }'

# Update care plan
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "update_care_plan",
      "arguments": {
        "patient_id": 1,
        "goals": "Achieve blood pressure below 120/80",
        "interventions": "Daily exercise, low sodium diet",
        "medications": "Lisinopril 10mg daily",
        "status": "Active"
      }
    },
    "id": 4
  }'

REST API示例

获取所有患者

curl http://localhost:8080/api/patients

按姓名获取患者

curl http://localhost:8080/api/patients/by-name/John%20Smith

获取进度记录

curl http://localhost:8080/api/patients/1/progress-notes

获取护理计划

curl http://localhost:8080/api/patients/1/care-plan

更新护理计划

curl -X POST http://localhost:8080/api/patients/1/care-plan \
  -H "Content-Type: application/json" \
  -d '{
    "goals": "New health goals",
    "interventions": "Updated interventions",
    "medications": "Updated medications",
    "startDate": "2025-01-01",
    "reviewDate": "2025-06-01",
    "status": "Active"
  }'

H2数据库控制台

访问H2控制台: http://localhost:8080/h2-console

连接详细信息:

  • JDBC网址: jdbc:h2:mem:patientdb
  • 用户名: sa
  • 密码:(留空)

故障排除

弹簧靴问题

  • 端口已在使用中:在中更改端口 application.properties
  • 数据库连接:验证H2控制台设置
  • Maven构建失败:运行 mvn clean install -U

MCP服务器问题

  • 连接被拒绝:确保Spring Boot在端口8080上运行
  • MCP未在Claude中显示:

- 检查配置路径是否为绝对路径 - 验证桥接脚本是否可执行 - 使用回声命令手动测试电桥

  • 工具未出现:

- 检查Spring Boot日志是否有错误 - 验证 /mcp 端点可访问 - 使用上述curl命令进行测试

桥接脚本问题

  • Shell脚本未执行:运行 chmod +x mcp-server.sh
  • 找不到Java包装器:确保类已编译且路径正确
  • stdin/stdout问题:检查网桥是否正确转发请求

架构优势

将Spring用于MCP服务器可以提供:

  1. 统一代码库:服务于REST和MCP的单个应用程序
  2. 依赖注入:利用Spring的IoC容器
  3. 数据库集成:直接访问JPA存储库
  4. 易于测试:使用Spring Boot测试框架
  5. 生产就绪:使用Spring强大的生产功能
  6. 无Node.js依赖:纯Java解决方案

使用的技术

  • 弹簧靴3.2.0 -应用框架
  • Spring数据JPA -数据访问层
  • H2数据库 -内存数据库
  • 杰克逊 -JSON处理
  • 龙目 -减少样板代码
  • JSON-RPC 2.0 -MCP协议实现

许可证

这是一个用于教育目的的示例项目。

目录标签

目录标签

JavaClaude云端部署医疗管理本地部署患者数据护理计划RESTAPISpringBoot

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP