Skip to main content
Glama

oncofiles

Tests Python MCP Claude ChatGPT License

Sus registros médicos están dispersos en Gmail, Google Drive y Calendar. Oncofiles lee todo, lo organiza y lo pone a disposición a través de IA, para que pueda preguntar sobre su salud de forma natural en Claude o ChatGPT.

oncofiles.com | Panel de demostración | Política de privacidad

¿Qué es esto?

Oncofiles es un servidor MCP creado para pacientes con cáncer y sus cuidadores. Se conecta a su Google Drive, Gmail y Calendar, lee todos sus documentos médicos (resultados de laboratorio, tomografías, informes de patología, recetas) y los hace accesibles a través de cualquier chat de IA: Claude, ChatGPT o cualquier cliente MCP.

Creado por una necesidad real: Desarrollado por un cuidador que gestionaba el tratamiento contra el cáncer de su esposa. Cientos de documentos, docenas de médicos, resultados de laboratorio que cambian constantemente. Oncofiles organiza el caos para que pueda concentrarse en el tratamiento, no en buscar papeles.

Proyecto hermano: Oncoteam: un agente de IA que analiza sus datos de Oncofiles: rastrea tendencias de laboratorio, busca ensayos clínicos y prepara preguntas para su oncólogo.

Sus datos, su control: Todo permanece en su Google Drive. Sin procesamiento de datos por parte de terceros. Desconéctese en cualquier momento: sus archivos siempre son suyos.

Soporte para múltiples pacientes (v4.0+)

Oncofiles admite varios pacientes en una sola instancia. Cada paciente obtiene:

  • Aislamiento total de datos: los documentos, laboratorios, eventos de tratamiento, correos electrónicos y entradas de calendario están limitados al paciente.

  • Tokens de portador separados: cada paciente (o cuidador) obtiene su propio token onco_*.

  • OAuth por paciente: Google Drive, Gmail y Calendar se autorizan por paciente.

  • Selector de pacientes en el panel: cambie entre pacientes en el panel web.

Incorporación de un nuevo paciente

  1. Asistente del panel: Abra el panel, haga clic en "+ Nuevo paciente" y siga el asistente de 4 pasos.

  2. API: POST /api/patients con {patient_id, display_name}: devuelve un token de portador.

  3. Conectar GDrive: Visite /oauth/authorize/drive?patient_id=X para autorizar la sincronización de documentos.

  4. Activar la primera sincronización: POST /api/sync-trigger con {patient_id} para importar documentos.

Características

  • 76 herramientas MCP en 14 módulos para una gestión integral de datos médicos.

  • 14 categorías de documentos: laboratorios, patología, imágenes, genética, cirugía, consultas, recetas y más.

  • Seguimiento de valores de laboratorio: almacene valores, rastree tendencias, comprobaciones de seguridad previas al ciclo para protocolos de quimioterapia.

  • Sincronización con Google Drive: sincronización bidireccional con archivos complementarios de OCR automáticos.

  • Escaneo de Gmail y Calendar: los correos electrónicos médicos y las citas se detectan y clasifican automáticamente.

  • Investigación clínica: busque en PubMed y ClinicalTrials.gov, registre decisiones de investigación.

  • Cronología del tratamiento: realice un seguimiento de los ciclos de quimioterapia, cirugías y otros eventos de tratamiento.

  • Control de versiones de documentos: realice un seguimiento de las revisiones de documentos con un historial completo.

  • Metadatos impulsados por IA: resúmenes automáticos, etiquetas y extracción de datos estructurados.

  • Registro de auditoría: cada llamada a la herramienta se registra para mayor responsabilidad.

Arquitectura

┌─────────────────┐     MCP Protocol      ┌──────────────┐
│  Claude / GPT   │◄────────────────────►  │  Oncofiles   │
│  (AI Assistant)  │    streamable-http     │  MCP Server  │
└─────────────────┘                        └──────┬───────┘
                                                  │
                                    ┌─────────────┼─────────────┐
                                    │             │             │
                              ┌─────▼─────┐ ┌────▼────┐ ┌─────▼─────┐
                              │  SQLite /  │ │ Google  │ │ Anthropic │
                              │   Turso    │ │  Drive  │ │ Files API │
                              └───────────┘ └─────────┘ └───────────┘

Stack: Python 3.12+ · FastMCP 3.1 · Pydantic · SQLite/Turso · Railway

Inicio rápido

# Clone and install
git clone https://github.com/peter-fusek/oncofiles.git
cd oncofiles
uv sync --extra dev

# Run locally (stdio mode for Claude Desktop)
uv run oncofiles-mcp

# Run tests
uv run pytest

# Lint
uv run ruff check

Variables de entorno

# Required
DATABASE_PATH=data/oncofiles.db

# Optional — cloud database
TURSO_DATABASE_URL=libsql://...
TURSO_AUTH_TOKEN=...

# Optional — Google Drive sync
GOOGLE_DRIVE_FOLDER_ID=...
GOOGLE_OAUTH_CLIENT_ID=...
GOOGLE_OAUTH_CLIENT_SECRET=...

# Optional — remote access
MCP_TRANSPORT=streamable-http  # default: stdio
MCP_HOST=0.0.0.0
MCP_PORT=8080
MCP_BEARER_TOKEN=...

Conectar a Claude Desktop

Añada a su configuración de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "oncofiles": {
      "command": "uv",
      "args": ["run", "oncofiles-mcp"],
      "cwd": "/path/to/oncofiles"
    }
  }
}

Conectar a ChatGPT

Oncofiles funciona con la integración MCP de ChatGPT (Modo desarrollador). Apunte ChatGPT al endpoint /mcp de su instancia con un token de portador.

Desplegar en Railway

El Dockerfile incluido está listo para el despliegue en Railway:

  1. Envíe a GitHub

  2. Conecte el repositorio en Railway

  3. Establezca las variables de entorno

  4. Railway realiza el despliegue automático al enviar cambios

Instancia en vivo: oncofiles.com

Estructura del proyecto

src/oncofiles/
├── server.py           # FastMCP server, auth, routes, scheduler
├── database/           # Mixin-based DB layer (SQLite/Turso)
├── tools/              # 14 tool modules (76 tools)
│   ├── documents.py    # CRUD, search, view, versioning
│   ├── lab_trends.py   # Lab values, trends, safety checks
│   ├── clinical.py     # Treatment events, research log
│   ├── research.py     # PubMed, ClinicalTrials.gov search
│   └── ...
├── sync.py             # Bidirectional Google Drive sync
├── gmail_sync.py       # Medical email detection and import
├── calendar_sync.py    # Calendar event classification
├── enhance.py          # AI metadata extraction (Haiku)
├── patient_middleware.py # Per-patient token → context resolution
├── patient_context.py  # Patient clinical profile
└── models.py           # Pydantic models

Registro MCP

Listado en el Registro MCP como io.github.peter-fusek/oncofiles.

Contribución

Consulte CONTRIBUTING.md para conocer las pautas.

Licencia

MIT


Quién está detrás de esto

Las personas

Peter Fusek — CEO y fundador

Emprendedor en serie y estratega de IA. 4 años en Tatra banka. Cofundador de marketlocator (salida a Deutsche Telekom). Asesor del CEO de VÚB Bank. Más de 18 años creando productos tecnológicos.

Construyó Oncofiles por necesidad personal: gestionando el tratamiento contra el cáncer de su esposa a través de cientos de documentos, docenas de médicos y resultados de laboratorio que cambian constantemente.

LinkedIn · peter.fusek@instarea.com

Peter Čapkovič — CTO y cofundador

Arquitecto de TI senior con más de 20 años en banca empresarial (VÚB). Experto en .NET, Python, SQL y arquitectura de sistemas. Lideró la arquitectura en todos los productos de Instarea.

Arquitectura, desarrollo, operaciones: todo bajo un mismo techo.

LinkedIn

La empresa

Instarea — 18 años, 23 productos lanzados. Desde análisis de telecomunicaciones y clientes empresariales (Callinspector) hasta fintech móvil (InventButton), salidas de big data (marketlocator → Deutsche Telekom), plataformas IoT y productos de IA (PulseShape, ReplicaCity, HomeGrif).

Oncofiles y Oncoteam son los últimos productos de Instarea, creados con la misma disciplina de ingeniería que entregó productos de nivel empresarial para las industrias bancaria, de telecomunicaciones y de datos.

Más de 10 miembros del equipo verificados y sincronizados disponibles en front-end, back-end, integración, ciencia de datos, UX/UI, marketing y operaciones en la nube.

"Nos lo tomamos personalmente, con nuestras propias caras, como en familia y en el trabajo".

Creado por Instarea | Alineado con los principios de EHDS

Latest Blog Posts

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/peter-fusek/oncofiles'

If you have feedback or need assistance with the MCP directory API, please join our Discord server