Happy MedBox MCP Server
Hausapotheken-Managementsystem (Happy MedBox)
Drei-Endpunkte-Softwaregerüst: WeChat-Miniprogramm + Node/SQLite-Backend + MCP-Server + A2A-Erinnerungsagent. Kernablauf: Foto erfassen → erkennen → in Datenbank schreiben → regelmäßig auf Ablauf scannen → MCP stellt Datenschnittstelle bereit → A2A löst Erinnerung aus → Miniprogramm zeigt Erinnerungen und Vorschläge an.
Technische Auswahl: Backend und Miniprogramm werden nativ / ohne externe Abhängigkeiten implementiert (Node 22 eingebautes
http/node:sqlite/node:test), lauffähig und testbar offline mitnode, keinnpm installerforderlich.
Verzeichnisstruktur
happy-medbox/
├─ prd.md / architecture.md # 产品需求 + 系统架构(团队 SOP 产出)
├─ package.json / README.md
├─ src/ # 后端:API + 数据库 + MCP + A2A
│ ├─ db.js # SQLite 连接与建表(node:sqlite)
│ ├─ expiry.js # 过期计算(纯函数,可单测)
│ ├─ ocr.js # OCR 接口 + Mock(预留腾讯云/微信 OCR)
│ ├─ repository.js # 数据访问层 CRUD
│ ├─ mcp-server.js # MCP 工具 + JSON-RPC(stdio)
│ ├─ server.js # REST API(小程序对接)
│ ├─ a2a-server.js # 提醒代理 + 用户代理(双端口,A2A 推送)
│ ├─ seed.js # 样例数据
│ └─ index.js # 编排入口(启动 + 定时扫描)
├─ miniprogram/ # 微信小程序端(原生)
│ ├─ pages/{index,capture,detail,knowledge,reminder}/
│ └─ utils/{api,ocr,format}.js
└─ test/ # 单元测试(expiry/db/mcp/a2a)Related MCP server: Medical MCP Server
Schnellstart
1. Backend + A2A starten (Standardports 3000 / 4100 / 4200)
cd happy-medbox
node src/index.jsNach dem Start:
Miniprogramm verbindet sich mit REST:
http://localhost:3000Erinnerungsagent (AgentCard / Scan auslösen):
http://localhost:4100Benutzeragenten-Posteingang:
http://localhost:4200
Umgebungsvariablen: API_PORT / REMINDER_PORT / USER_PORT / WARNING_DAYS(Standard 30) / REMINDER_INTERVAL_MS(Standard 60000) / MEDBOX_DB(Standard data/medbox.db, für In-Memory-Datenbank :memory:).
2. Tests ausführen (19 Tests, alle bestanden)
node --test3. MCP-Server separat starten (für AI-Assistent stdio-Aufruf)
node src/mcp-server.js
# 支持 initialize / tools/list / tools/call
# 工具:query_medicines / recognize_medicine_image / compute_expiry /
# get_medication_advice / add_medicine / list_expiring4. Miniprogramm öffnen
Importieren Sie das Verzeichnis miniprogram/ mit den WeChat-Entwicklertools (die appid ist bereits auf touristappid gesetzt, im Gastmodus direkt in der Vorschau verfügbar).
Ändern Sie bei der echten Gerätedebugging die baseUrl in miniprogram/app.js auf die lokale IP des Computers (z. B. http://192.168.x.x:3000) und aktivieren Sie in den Entwicklertools die Option "Legale Domainnamen nicht überprüfen".
Erläuterung der Schlüsselprozesse
Fotoerkennung:
capture-Seitewx.chooseMedia→POST /api/ocr→ aktuell Rückgabe von Mock-strukturierten Feldern (Name/Spezifikation/Herstellungsdatum/Verfallsdatum), Benutzer überprüft und sendet dannPOST /api/medicineszur Datenbank.Countdown bis Ablauf: Backend
expiry.jsberechnet dynamisch die verbleibenden Tage und den Status (safe/warning/expired) basierend auf dem aktuellen Datum; Miniprogramm-Startseite und Detailseite zeigen dies an.Zeitgesteuerter Scan + A2A-Push: Der Erinnerungsagent in
a2a-server.jsscannt in Intervallen nach bald ablaufenden Medikamenten → schreibt in diereminders-Tabelle und kapselt eine A2A Task → HTTP-Push an den Benutzeragenten/tasks(Nachrichtenweiterleitung zwischen Agenten) → Miniprogrammreminder-Seite pollt zur Anzeige, Benutzer kann als gelesen markieren.MCP-Datenschnittstelle: AI-Assistent ruft über stdio JSON-RPC sechs Tools auf, um bei Bedarf Medikamente abzufragen, zu erkennen, das Verfallsdatum zu berechnen oder Medikationsvorschläge abzurufen.
Empfehlungen für die Produktion (Schnittstellenvertrag bleibt gleich)
Datenbank:
node:sqlite→better-sqlite3(schneller, synchron).MCP:
src/mcp-server.jseigene JSON-RPC-Implementierung → offizielles@modelcontextprotocol/sdk.REST: Eingebautes
http→Express/Fastify.OCR:
ocr.jsMock-Zweig → Einbindung von Tencent Cloud allgemeiner Druckschrift-OCR oder WeChat OCR Plugin (erfordert Schlüssel/Berechtigungen).
Bekannte Einschränkungen (MVP-Umfang)
Erinnerungskanal verwendet zunächst Polling innerhalb des Miniprogramms, Schnittstelle für WeChat-Abonnementnachrichten bleibt vorbereitet.
Wissensdatenbank enthält nur wenige eingebaute Beispiele, Admin-Hintergrund muss noch entwickelt werden (P2).
Kein Kontosystem, lokale Kennzeichnung pro Familie (P2 für Multi-Endpunkt-Synchronisation).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for managing Homebox inventory via AI assistants, enabling item management, location organization, and label categorization.4MIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for medical document processing with advanced AI capabilities, including OCR, medical NER, local embeddings, and vector search.3581MIT
- AlicenseAqualityDmaintenanceMCP server for managing personal items with expiration dates, enabling AI agents to add, query, and scan barcode items via API Key authentication.59MIT
- FlicenseCqualityCmaintenanceAn MCP server that exposes Homebox inventory management as tools for AI agents, enabling search, add, update, delete products, locations, tags, and maintenance entries.171
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Hosted MCP server exposing US hospital procedure cost data to AI assistants
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tomwugdgz/happy-medbox'
If you have feedback or need assistance with the MCP directory API, please join our Discord server