Skip to main content
Glama

oncofiles

Tests Python MCP Claude ChatGPT License

Ваши медицинские записи разбросаны по Gmail, Google Drive и Календарю. Oncofiles считывает всё, систематизирует и делает доступным через ИИ — чтобы вы могли задавать вопросы о своем здоровье естественным образом в Claude или ChatGPT.

oncofiles.com | Демо-панель | Политика конфиденциальности

Что это такое?

Oncofiles — это MCP-сервер, созданный для онкологических пациентов и их опекунов. Он подключается к вашим Google Drive, Gmail и Календарю, считывает все ваши медицинские документы (результаты анализов, КТ, патологоанатомические отчеты, рецепты) и делает их доступными через любой ИИ-чат — Claude, ChatGPT или любой другой MCP-клиент.

Создано из реальной необходимости: Разработано опекуном, который занимался лечением рака у своей жены. Сотни документов, десятки врачей, постоянно меняющиеся результаты анализов. Oncofiles упорядочивает этот хаос, чтобы вы могли сосредоточиться на лечении, а не на поиске бумаг.

Родственный проект: Oncoteam — ИИ-агент, который анализирует ваши данные из Oncofiles: отслеживает динамику анализов, ищет клинические испытания и готовит вопросы для вашего онколога.

Ваши данные, ваш контроль: Всё остается в вашем Google Drive. Никакой обработки данных третьими лицами. Отключитесь в любое время — ваши файлы всегда принадлежат вам.

Поддержка нескольких пациентов (v4.0+)

Oncofiles поддерживает нескольких пациентов в рамках одного экземпляра. Каждый пациент получает:

  • Полную изоляцию данных — документы, анализы, события лечения, электронные письма и записи в календаре привязаны к конкретному пациенту

  • Отдельные токены доступа (bearer tokens) — каждый пациент (или опекун) получает свой собственный токен onco_*

  • OAuth для каждого пациента — Google Drive, Gmail и Календарь авторизуются отдельно для каждого пациента

  • Выбор пациента в панели управления — переключение между пациентами в веб-интерфейсе

Подключение нового пациента

  1. Мастер настройки: Откройте панель управления, нажмите «+ New Patient» и следуйте 4-шаговому мастеру

  2. API: POST /api/patients с {patient_id, display_name} — возвращает токен доступа

  3. Подключение GDrive: Перейдите по адресу /oauth/authorize/drive?patient_id=X для авторизации синхронизации документов

  4. Запуск первой синхронизации: POST /api/sync-trigger с {patient_id} для импорта документов

Функции

  • 76 MCP-инструментов в 14 модулях для комплексного управления медицинскими данными

  • 14 категорий документов — анализы, патология, визуализация, генетика, хирургия, консультации, рецепты и многое другое

  • Отслеживание показателей анализов — хранение значений, отслеживание динамики, проверки безопасности перед циклами химиотерапии

  • Синхронизация с Google Drive — двусторонняя синхронизация с автоматическими сопутствующими файлами OCR

  • Сканирование Gmail и Календаря — медицинские письма и приемы автоматически распознаются и классифицируются

  • Клинические исследования — поиск в PubMed и ClinicalTrials.gov, регистрация решений по исследованиям

  • Хронология лечения — отслеживание циклов химиотерапии, операций и других событий лечения

  • Версионность документов — отслеживание правок документов с полной историей

  • Метаданные на базе ИИ — автоматические сводки, теги и извлечение структурированных данных

  • Аудит-логирование — каждый вызов инструмента логируется для обеспечения подотчетности

Архитектура

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

Стек: Python 3.12+ · FastMCP 3.1 · Pydantic · SQLite/Turso · Railway

Быстрый старт

# 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

Переменные окружения

# 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=...

Подключение к Claude Desktop

Добавьте в конфигурацию Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

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

Подключение к ChatGPT

Oncofiles работает с интеграцией MCP в ChatGPT (режим разработчика). Укажите ChatGPT конечную точку /mcp вашего экземпляра с токеном доступа.

Развертывание на Railway

Включенный Dockerfile готов к развертыванию на Railway:

  1. Отправьте код в GitHub

  2. Подключите репозиторий в Railway

  3. Установите переменные окружения

  4. Railway автоматически развернет приложение при пуше

Рабочий экземпляр: oncofiles.com

Структура проекта

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

Реестр MCP

Указан в реестре MCP как io.github.peter-fusek/oncofiles.

Участие в разработке

См. CONTRIBUTING.md для получения инструкций.

Лицензия

MIT


Кто за этим стоит

Команда

Петер Фусек — Генеральный директор и основатель

Серийный предприниматель и ИИ-стратег. 4 года в Tatra banka. Сооснователь marketlocator (выход через продажу Deutsche Telekom). Советник генерального директора VÚB Bank. Более 18 лет создания технологических продуктов.

Создал Oncofiles из личной необходимости — управляя лечением рака у своей жены, проходя через сотни документов, десятки врачей и постоянно меняющиеся результаты анализов.

LinkedIn · peter.fusek@instarea.com

Петер Чапкович — Технический директор и сооснователь

Старший ИТ-архитектор с более чем 20-летним опытом в корпоративном банковском секторе (VÚB). Эксперт в .NET, Python, SQL и системной архитектуре. Руководил архитектурой всех продуктов Instarea.

Архитектура, разработка, операции — всё под одной крышей.

LinkedIn

Компания

Instarea — 18 лет, 23 выпущенных продукта. От телекоммуникационной аналитики и корпоративных клиентов (Callinspector) до финтеха с приоритетом мобильных устройств (InventButton), выходов из Big Data (marketlocator → Deutsche Telekom), IoT-платформ и продуктов с приоритетом ИИ (PulseShape, ReplicaCity, HomeGrif).

Oncofiles и Oncoteam — последние разработки Instarea, созданные с той же инженерной дисциплиной, которая обеспечила создание продуктов корпоративного уровня для банковской, телекоммуникационной и информационной отраслей.

Более 10 проверенных, синхронизированных членов команды, доступных в сферах фронтенда, бэкенда, интеграции, науки о данных, UX/UI, маркетинга и облачных операций.

«Мы относимся к этому лично, открыто, как к семье и работе».

Создано Instarea | Соответствует принципам 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