#+MCP全栈(节点)——医生预约助理
此存储库包含提示中描述的实习任务的最小Node.js实现。它展示了一个MCP风格的后端,其中工具(可用性、调度、报告)被公开,并且可以由LLM代理调用。一个基于React的小型前端(通过CDN交付)提供了一个提示框,并显示工具驱动的结果。
这个脚手架使用普通节点(ESM)+Express作为后端,并使用轻量级的React前端作为静态文件。外部集成(谷歌日历、电子邮件)作为可插拔模块实现;所提供的版本是简单的mock,您可以用真正的API调用来代替。
结构
backend/--Express服务器公开MCP端点和工具。frontend/--用于发送提示和查看响应的最小React UI(基于CDN)。
先决条件
- 节点18+(用于本机获取和ESM支持)
- PostgreSQL(可选;服务器可以在内存回退的情况下运行)
快速开始
- 后端:安装依赖项并启动服务器
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- 前端:打开
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. - 添加身份验证(医生/患者角色)并为多回合对话保留会话/上下文。
