MCP医院助手是一个全栈智能医院预约管理系统,由React、Node.js、PostgreSQL和Mistral大语言模型(通过Ollama)提供支持。它旨在简化医院预约流程,提高管理效率,为医院和患者提供便捷的服务体验。
在开始使用本系统之前,你需要安装以下依赖:
sudo apt install postgresql postgresql-contrib
sudo -u postgres psql
在psql中运行以下命令:
CREATE DATABASE mcp;
CREATE USER mcpuser WITH PASSWORD 'mcppass';
GRANT ALL PRIVILEGES ON DATABASE mcp TO mcpuser;
连接到数据库:
psql -U mcpuser -d mcp -h localhost
创建表结构:
CREATE TABLE doctors (
doctor_id SERIAL PRIMARY KEY,
name TEXT,
department TEXT,
available_slots JSONB
);
CREATE TABLE patients (
patient_id SERIAL PRIMARY KEY,
name TEXT,
age INTEGER,
contact TEXT
);
CREATE TABLE appointments (
appointment_id SERIAL PRIMARY KEY,
doctor_id INTEGER REFERENCES doctors(doctor_id),
patient_id INTEGER REFERENCES patients(patient_id),
appointment_time TEXT
);
CREATE TABLE users (
id SERIAL PRIMARY KEY,
username TEXT UNIQUE,
password TEXT
);
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO mcpuser;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO mcpuser;
curl -fsSL https://ollama.com/install.sh | sh
ollama run mistral
确保本地Ollama服务器正在运行,并且监听默认端口11434。
cd backend/
npm install
node server.js
后端服务器将在http://localhost:3007启动。
cd frontend/mcp-ui
npm install
npm start
前端项目将在http://localhost:3000启动。
▶️ 点击此处观看演示视频
你可以在主页点击图标进行以下操作:
这些用户界面功能直接调用API端点(如/api/execute、/api/book等)。
在“询问助手”聊天界面中,你可以输入以下命令:
✅ 如果启用了MCP工具(顶部复选框),大语言模型将:
tools.json中选择正确的工具❌ 如果禁用,大语言模型仅提供普通回答(不改变系统状态)。
express-session存储会话信息。├── backend/
│ ├── server.js # Node.js + Express后端
│ ├── config/config.js # PostgreSQL配置文件
│ ├── mcp/ # 所有业务逻辑处理程序
│ ├── auth/ # 登录、注册、会话路由
├── frontend/
│ └── mcp-ui/ # React前端
│ ├── components/ # AddDoctor、Chat、Login、Home等组件
│ └── App.js # 主路由控制器
以下是一些可以在大语言模型聊天界面输入的示例命令:
显示医生表中的所有医生信息
显示11:00之后的预约信息
为30岁的John在09:00预约Renu医生
| 功能特性 | 手动用户界面 | 大语言模型工具 |
|---|---|---|
| 添加医生 | ✅ 支持 | ✅ 通过命令 |
| 预约挂号 | ✅ 支持 | ✅ 如果有可用时段 |
| 查看医生/预约信息 | ✅ 支持 | ✅ 通过命令 |
| 编辑时段 | ✅ 支持(通过查询) | ✅ 通过命令 |
| 安全性 | 🔐 会话登录 | 🔐 会话保护 |