mcpField
O
Oncofiles

Oncofiles

远程服务
github.com/peter-fusek健康医疗512 周前更新
代码仓库

关于 Oncofiles

Oncofiles 是面向癌症患者及照护者的 MCP 服务,可整理 Google Drive、Gmail 和 Calendar 中的医疗记录。它提供文档、化验趋势、治疗时间线和临床研究工具,并支持按患者隔离数据和访问令牌。

主要功能

  1. 01同步并整理医疗文档
  2. 02分类医疗邮件和预约
  3. 03跟踪化验值与治疗事件
  4. 04搜索 PubMed 和 ClinicalTrials.gov
  5. 05支持多个隔离的患者档案
  6. 06记录工具调用以供审计

适用场景

  1. 01查找并查看已连接 Google 服务中的记录
  2. 02跟踪化验趋势和化疗安全检查
  3. 03整理治疗事件与研究决策
  4. 04在单个实例中管理多位患者的记录

MCP 相关

Oncofiles 通过 MCP 提供医疗文档、化验、治疗和研究工具。MCP 客户端可在本地通过 stdio 连接,也可使用实例的 /mcp 端点和 bearer token 连接。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://oncofiles.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

oncofiles

Tests Python MCP Claude ChatGPT License

您的医疗记录散落在 Gmail、Google Drive 和 Calendar 中。Oncofiles 会读取所有内容、整理归档,并通过 AI 提供访问途径——因此您可以在 Claude 或 ChatGPT 中自然地询问自己的健康状况。

oncofiles.com | 演示仪表板 | 隐私政策

这是什么?

Oncofiles 是一款专为癌症患者及其照护者打造的 MCP 服务。它连接到您的 Google Drive、Gmail 和 Calendar,读取所有医疗文档(化验结果、CT 扫描、病理报告、处方),并让您通过任意 AI 聊天工具访问这些内容——Claude、ChatGPT 或任何 MCP 客户端。

源于真实需求: 由一位负责管理妻子癌症治疗的照护者创建。数百份文档、数十位医生,以及不断变化的化验结果。Oncofiles 将这些纷乱的信息整理起来,让您专注于治疗,而非寻找文件。

姊妹项目: Oncoteam——一款 AI Agent,可分析您的 Oncofiles 数据:追踪化验趋势、搜索临床试验,并为您准备咨询肿瘤科医生的问题。

您的数据,由您掌控: 所有数据都保留在您的 Google Drive 中。不进行第三方数据处理。您可随时断开连接——您的文件始终归您所有。

多患者支持(v4.0+)

Oncofiles 支持在单个实例中管理多位患者。每位患者都拥有:

  • 完整的数据隔离——文档、化验结果、治疗事件、邮件和日历条目均按患者分别管理
  • 独立的 bearer token——每位患者(或照护者)都有自己的 onco_* token
  • 按患者配置 OAuth——每位患者分别授权 Google Drive、Gmail 和 Calendar
  • 仪表板患者选择器——在 Web 仪表板中切换患者
为新患者办理接入
  1. 仪表板向导: 打开仪表板,点击“+ New Patient”,并按照 4 步向导操作
  2. API: 使用 {patient_id, display_name} 调用 POST /api/patients——返回 bearer token
  3. 连接 GDrive: 访问 /oauth/authorize/drive?patient_id=X,授权文档同步
  4. 触发首次同步: 使用 {patient_id} 调用 POST /api/sync-trigger,导入文档

功能

  • 76 个 MCP 工具,涵盖 14 个模块,全面管理医疗数据
  • 14 种文档类别——化验、病理、影像、遗传、手术、会诊、处方等
  • 化验值追踪——存储数值、追踪趋势,并对化疗方案执行周期前安全检查
  • Google Drive 同步——双向同步,并自动生成 OCR 配套文件
  • Gmail 和 Calendar 扫描——自动检测并分类医疗邮件和预约
  • 临床研究——搜索 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 集成(Developer Mode)。将 ChatGPT 指向你实例的 /mcp 端点,并提供 bearer token。

部署到 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 Registry

已作为 io.github.peter-fusek/oncofiles 列入 MCP Registry。

贡献

请参阅 CONTRIBUTING.md 了解指南。

许可证

MIT


关于团队

团队成员

Peter Fusek — 首席执行官兼创始人

连续创业者和 AI 战略师。在 Tatra banka 工作了 4 年。共同创立 marketlocator(后出售给 Deutsche Telekom)。担任 VÚB Bank 首席执行官的顾问。拥有 18 年以上打造技术产品的经验。

Oncofiles 源于个人需求——他需要管理妻子的癌症治疗,涉及数百份文档、数十位医生以及不断变化的实验室检查结果。

LinkedIn · [email protected]

Peter Čapkovič — 首席技术官兼联合创始人

资深 IT 架构师,在企业银行领域(VÚB)拥有 20 多年经验。精通 .NET、Python、SQL 和系统架构。负责 Instarea 所有产品的架构设计。

架构、开发、运维——一站式完成。

LinkedIn

公司

Instarea — 18 年来已推出 23 款产品。从电信分析和企业客户(Callinspector),到移动优先的金融科技产品(InventButton)、大数据领域的退出案例(marketlocator → Deutsche Telekom)、物联网平台,以及 AI 优先产品(PulseShape、ReplicaCity、HomeGrif)。

Oncofiles 和 Oncoteam 是 Instarea 的最新产品——它们秉承同样严谨的工程规范,打造出服务于银行、电信和数据行业的企业级产品。

现有 10 多名经过验证且协同工作的团队成员,可提供前端、后端、集成、数据科学、UX/UI、营销和云运维方面的支持。

“我们用心对待每一件事,以家人般的态度投入工作,也坦诚面对彼此。”

由 Instarea 打造 | 符合 EHDS 原则

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。