Medicos
БесплатноНе проверенMCP server backend for a hospital medicine reminder app, offering tools for Firebase integration, OCR/parsing, medical intelligence, scheduling, notifications,
Описание
MCP server backend for a hospital medicine reminder app, offering tools for Firebase integration, OCR/parsing, medical intelligence, scheduling, notifications, adherence tracking, and governance with ArmorIQ intent enforcement.
README
Medicos MCP Backend
Python MCP server backend for the Hospital Medicine Reminder app.
Overview
- Protocol: Model Context Protocol (MCP), Python implementation
- Responsibilities:
- Expose controlled tools for Firebase, OCR/parsing, medical intelligence, scheduling, notifications, adherence, and governance.
- Enforce ArmorIQ intent checks and auditing for all sensitive operations.
- Persist all application data in Firebase (Firestore + Storage) and send notifications via FCM.
High-Level Layout
mcp_server/main.py– MCP server entrypoint and tool registration.config.py– Environment-driven configuration (Firebase, ArmorIQ, LLM, etc.).firebase_client.py– Firebase Admin SDK initialization and helpers.armor_iq_client.py– ArmorIQ REST client forpolicy.check_intentandaudit.log.llm_client.py– Wrapper for LLM provider(s) used by parsing/medical/scheduling tools.models/– Pydantic models for tool inputs/outputs and shared context.tools/– Implementation of MCP tools, grouped by namespace.
Runtime Expectations
- Python 3.10+ recommended.
- MCP client (e.g. orchestrator agent) connects to this server over stdio or another supported transport.
- The server is designed to run on your VPS, separate from the Flutter app and hospital dashboard.
Environment Variables
The server is configured via environment variables (all optional defaults documented in config.py):
MEDICOS_ENV–devorprod(default:dev).MEDICOS_FIREBASE_PROJECT_ID– Firebase project ID.MEDICOS_FIREBASE_CREDENTIALS_FILE– Path to Firebase service account JSON (if not using ADC).MEDICOS_ARMORIQ_API_KEY– API key for ArmorIQ (SDK handles endpoints internally based onMEDICOS_ENV).MEDICOS_LLM_PROVIDER– LLM provider identifier (e.g.openai,anthropic).MEDICOS_LLM_API_KEY– API key for the chosen LLM provider.
You can also use a local .env file in the repository root during development; see notes in config.py.
Getting Started
Option 1: Virtual Environment (Development)
Setup:
./setup.sh # Creates venv and installs dependencies
source .venv/bin/activate
Or manually:
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install --upgrade pip setuptools wheel
pip install -r requirements.txt
Configure Environment:
Copy
env.exampleto.envand fill in your values:cp env.example .env # Edit .env with your actual valuesPlace your Firebase service account JSON in
./credentials/firebase-service-account.json
Run the Server:
python -m mcp_server.main
Option 2: Docker Compose (Production/VPS)
Prerequisites:
- Docker and Docker Compose installed
- Firebase service account JSON file
Setup:
Create credentials directory and add Firebase service account:
mkdir -p credentials cp /path/to/your/firebase-service-account.json credentials/Create
.envfile:cp env.example .env # Edit .env with your actual valuesBuild and run:
docker-compose build docker-compose up -d docker-compose logs -f mcp-server
Stop the container:
docker-compose down
Docker Configuration:
- The container runs as a non-root user (
mcpuser) - Firebase credentials are mounted read-only from
./credentials/ - Environment variables can be set in
.envordocker-compose.yml - The server runs over stdio (for MCP clients that support it)
Transport Modes
The MCP server supports two transport modes:
1. Stdio Transport (Default)
For direct process-to-process communication (e.g., Cursor, Claude Desktop):
{
"mcpServers": {
"medicos": {
"command": "python",
"args": ["-m", "mcp_server.main"],
"env": {
"MEDICOS_FIREBASE_PROJECT_ID": "...",
"MEDICOS_TRANSPORT": "stdio"
}
}
}
}
2. HTTP Transport (Reverse Proxy)
For deployment behind a reverse proxy (e.g., mcp.p1ng.me):
Set environment variable:
MEDICOS_TRANSPORT=http MEDICOS_SERVER_PORT=8000Run the server:
python -m mcp_server.main # Server listens on http://0.0.0.0:8000Configure reverse proxy (using Caddy, nginx, or similar):
- Point
mcp.p1ng.meto your VPS - Proxy
/mcp/streamand/mcp/messagetohttp://localhost:8000 - Set up SSL/TLS certificates
- Point
Connect clients to:
https://mcp.p1ng.me/mcp/stream
Troubleshooting
- Import errors: Make sure dependencies are installed (
pip install -e .) - Firebase errors: Verify service account JSON path and permissions
- ArmorIQ errors: Check base URL and API key
- LLM errors: Verify API key and provider name
- Docker issues: Ensure credentials directory exists and contains valid JSON
Установка Medicos
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/Unemployed-Nerds/medicos-mcpFAQ
Medicos MCP бесплатный?
Да, Medicos MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Medicos?
Нет, Medicos работает без API-ключей и переменных окружения.
Medicos — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Medicos в Claude Desktop, Claude Code или Cursor?
Открой Medicos на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Medicos with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
