Doc_mcp

Doc_mcp

🚀 🏥 MCP医院助手

MCP医院助手是一个全栈智能医院预约管理系统,由React、Node.js、PostgreSQL和Mistral大语言模型(通过Ollama)提供支持。它旨在简化医院预约流程,提高管理效率,为医院和患者提供便捷的服务体验。

🚀 快速开始

项目环境准备

在开始使用本系统之前,你需要安装以下依赖:

  • PostgreSQL:用于存储系统数据。
  • Ollama:用于运行Mistral大语言模型。
  • Node.js:用于运行后端服务器。
  • npm:用于安装项目依赖。

项目启动步骤

1. 安装PostgreSQL并创建数据库

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;

2. 创建数据库表结构

连接到数据库:

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;

3. 安装Ollama并运行Mistral模型

curl -fsSL https://ollama.com/install.sh | sh
ollama run mistral

确保本地Ollama服务器正在运行,并且监听默认端口11434。

4. 后端项目启动(Node.js)

cd backend/
npm install
node server.js

后端服务器将在http://localhost:3007启动。

5. 前端项目启动(React)

cd frontend/mcp-ui
npm install
npm start

前端项目将在http://localhost:3000启动。

✨ 主要特性

可视化界面展示

🎥 演示视频

▶️ 点击此处观看演示视频

🏠 仪表盘

💬 大语言模型聊天助手

💬 手动预约

技术栈亮点

  • 🔁 Node.js + Express:构建高效的后端服务器。
  • 🎨 React.js(前端):提供流畅的用户界面。
  • 🧠 大语言模型(Ollama - Mistral):实现智能交互和自动化操作。
  • 💾 PostgreSQL:稳定可靠的数据存储。
  • 🛡️ 基于会话的登录:保障系统安全。

功能模式

✨ 模式1:通过用户界面手动操作

你可以在主页点击图标进行以下操作:

  • ➕ 添加医生
  • ➕ 添加患者
  • 📅 预约挂号
  • 📋 查看医生信息
  • 📋 查看预约信息

这些用户界面功能直接调用API端点(如/api/execute/api/book等)。

🔍 模式2:智能助手(支持大语言模型)

在“询问助手”聊天界面中,你可以输入以下命令:

  • 示例:显示所有预约信息
  • 示例:为患者John在10:00预约2号医生

✅ 如果启用了MCP工具(顶部复选框),大语言模型将:

  • 🔎 理解用户命令
  • 🔧 从tools.json中选择正确的工具
  • 🧠 生成SQL语句
  • 🔁 自动在后台执行API调用

❌ 如果禁用,大语言模型仅提供普通回答(不改变系统状态)。

安全认证

  • 只有经过身份验证的用户才能访问核心页面。
  • 注册页面将哈希后的凭证安全存储在PostgreSQL中。
  • 使用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医生

功能特性对比

功能特性 手动用户界面 大语言模型工具
添加医生 ✅ 支持 ✅ 通过命令
预约挂号 ✅ 支持 ✅ 如果有可用时段
查看医生/预约信息 ✅ 支持 ✅ 通过命令
编辑时段 ✅ 支持(通过查询) ✅ 通过命令
安全性 🔐 会话登录 🔐 会话保护
  • 0 关注
  • 0 收藏,32 浏览
  • system 提出于 2025-10-03 20:45

相似服务问题

相关AI产品