医生预约助手

一个基于Node.js的全栈医生预约助手,提供可用性检查、预约安排和报告功能,支持与Google日历和电子邮件集成。

  • by Orewa-Veer
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Orewa-Veer/mcp_node_project

使用说明

#+MCP全栈(节点)——医生预约助理

此存储库包含提示中描述的实习任务的最小Node.js实现。它展示了一个MCP风格的后端,其中工具(可用性、调度、报告)被公开,并且可以由LLM代理调用。一个基于React的小型前端(通过CDN交付)提供了一个提示框,并显示工具驱动的结果。

这个脚手架使用普通节点(ESM)+Express作为后端,并使用轻量级的React前端作为静态文件。外部集成(谷歌日历、电子邮件)作为可插拔模块实现;所提供的版本是简单的mock,您可以用真正的API调用来代替。

结构

  • backend/ --Express服务器公开MCP端点和工具。
  • frontend/ --用于发送提示和查看响应的最小React UI(基于CDN)。

先决条件

  • 节点18+(用于本机获取和ESM支持)
  • PostgreSQL(可选;服务器可以在内存回退的情况下运行)

快速开始

  1. 后端:安装依赖项并启动服务器
cd mcp_node_project/backend
npm install
# create a .env file or set env vars: DATABASE_URL, GOOGLE_CREDENTIALS, EMAIL_API_KEY
node index.js
  1. 前端:打开 mcp_node_project/frontend/index.html 在您的浏览器中。

API(类MCP-)

  • GET /mcp/tools --列出可用的工具和签名
  • POST /mcp/invoke --调用工具:{工具:字符串,输入:对象,会话ID?:字符串}

备注

  • 脚手架包括 db.init() 在PostgreSQL中创建表并插入示例医生和示例可用性的例程 DATABASE_URL 提供。
  • 替换 backend/integrations/calendar.js 和 backend/integrations/email.js 拥有谷歌日历/Gmail/SendGrid的真实实现和证书。

LLM/Gemini集成

  • 不要将API密钥直接粘贴到源文件中。把它们放在当地 .env 文件(或秘密管理器),永远不要提交该文件。
  • 后端将读取 GEMINI_API_KEY 和 GEMINI_API_URL 从环境。看 backend/.env.example 用于占位符。
  • 附带了一个小型适配器 backend/integrations/llm.js 它演示了如何调用LLM端点——当没有键存在时,它会回退到模拟响应。

如果你想让我将你的Gemini密钥连接到本地环境中,请告诉我你希望如何存储密钥(本地 .env、操作系统机密存储、CI机密),我可以显示确切的命令。我不会将密钥直接放入存储库。

下一步(建议)

  • 连接一个执行工具调用(OpenAI函数调用或开源代理)的真正LLM代理来调用 /mcp/invoke.
  • 添加身份验证(医生/患者角色)并为多回合对话保留会话/上下文。