Skip to main content
Glama

oncofiles

Tests Python MCP Claude ChatGPT License

あなたの医療記録はGmail、Googleドライブ、カレンダーに散らばっていませんか?Oncofilesはそれらすべてを読み込み、整理し、AIを通じて利用可能にします。これにより、ClaudeやChatGPTで自分の健康状態について自然な言葉で質問できるようになります。

oncofiles.com | デモダッシュボード | プライバシーポリシー

これは何ですか?

Oncofilesは、がん患者とその介護者のために構築されたMCPサーバーです。Googleドライブ、Gmail、カレンダーに接続し、すべての医療文書(検査結果、CTスキャン、病理レポート、処方箋など)を読み込み、Claude、ChatGPT、または任意のMCPクライアントといったAIチャットを通じてアクセス可能にします。

切実なニーズから誕生: 妻のがん治療を管理する介護者によって作成されました。何百もの文書、何十人もの医師、絶えず変化する検査結果。Oncofilesは、書類探しではなく治療に集中できるよう、その混沌を整理します。

姉妹プロジェクト: Oncoteam — Oncofilesのデータを分析するAIエージェントです。検査値の傾向を追跡し、臨床試験を検索し、腫瘍内科医への質問を準備します。

データはあなたの管理下に: すべてのデータはGoogleドライブ内に留まります。サードパーティによるデータ処理は行われません。いつでも接続を解除でき、ファイルは常にあなたのものです。

マルチ患者サポート (v4.0+)

Oncofilesは、単一のインスタンスで複数の患者をサポートします。各患者には以下が提供されます:

  • 完全なデータ分離 — 文書、検査結果、治療イベント、メール、カレンダーの予定は患者ごとにスコープされます

  • 個別のベアラートークン — 各患者(または介護者)は独自の onco_* トークンを取得します

  • 患者ごとのOAuth — Googleドライブ、Gmail、カレンダーは患者ごとに認証されます

  • ダッシュボードの患者セレクター — Webダッシュボードで患者を切り替え可能です

新しい患者のオンボーディング

  1. ダッシュボードウィザード: ダッシュボードを開き、「+ 新規患者」をクリックして、4ステップのウィザードに従います

  2. API: {patient_id, display_name} を指定して POST /api/patients を実行 — ベアラートークンが返されます

  3. GDrive接続: /oauth/authorize/drive?patient_id=X にアクセスして文書同期を承認します

  4. 初回同期のトリガー: {patient_id} を指定して POST /api/sync-trigger を実行し、文書をインポートします

機能

  • 14モジュール、76のMCPツールによる包括的な医療データ管理

  • 14の文書カテゴリ — 検査、病理、画像、遺伝学、手術、診察、処方箋など

  • 検査値の追跡 — 値の保存、傾向の追跡、化学療法プロトコルのためのサイクル前安全チェック

  • Googleドライブ同期 — 自動OCRコンパニオンファイルによる双方向同期

  • Gmailとカレンダーのスキャン — 医療関連のメールや予約を自動検出し分類

  • 臨床研究 — PubMedおよびClinicalTrials.govの検索、研究決定の記録

  • 治療タイムライン — 化学療法サイクル、手術、その他の治療イベントの追跡

  • 文書のバージョン管理 — 完全な履歴による文書リビジョンの追跡

  • AIによるメタデータ — 自動要約、タグ付け、構造化データ抽出

  • 監査ログ — 説明責任を果たすため、すべてのツール呼び出しをログに記録

アーキテクチャ

┌─────────────────┐     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はChatGPTのMCP統合(開発者モード)で動作します。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


開発チーム

メンバー

Peter Fusek — CEO & 創設者

シリアルアントレプレナーでありAIストラテジスト。Tatra bankaで4年間勤務。marketlocatorを共同設立(Deutsche Telekomへ売却)。VÚB銀行CEOのアドバイザー。18年以上にわたり技術製品を構築。

妻のがん治療において、何百もの文書、何十人もの医師、絶えず変化する検査結果を管理するという個人的な経験からOncofilesを構築。

LinkedIn · peter.fusek@instarea.com

Peter Čapkovič — CTO & 共同創設者

エンタープライズバンキング(VÚB)で20年以上の経験を持つシニアITアーキテクト。.NET、Python、SQL、システムアーキテクチャの専門家。Instareaの全製品のアーキテクチャを主導。

アーキテクチャ、開発、運用を統括。

LinkedIn

会社について

Instarea — 18年の歴史、23製品をリリース。テレコム分析やエンタープライズクライアント(Callinspector)から、モバイルファーストのフィンテック(InventButton)、ビッグデータ売却(marketlocator → Deutsche Telekom)、IoTプラットフォーム、AIファースト製品(PulseShape, ReplicaCity, HomeGrif)まで幅広く展開。

OncofilesとOncoteamはInstareaの最新製品であり、銀行、テレコム、データ業界向けのエンタープライズグレード製品を提供してきたのと同じエンジニアリング規律に基づいて構築されています。

フロントエンド、バックエンド、統合、データサイエンス、UX/UI、マーケティング、クラウド運用にわたる10名以上の検証済みチームメンバーが在籍。

「私たちは、家族や仕事と同じように、自分たちの顔が見える形で個人的に取り組んでいます。」

Built by 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