oncofiles
oncofiles
您的医疗记录散落在 Gmail、Google Drive 和日历中。Oncofiles 可以读取并整理所有内容,并通过 AI 提供支持——让您可以在 Claude 或 ChatGPT 中以自然语言询问您的健康状况。
oncofiles.com | 演示仪表板 | 隐私政策
这是什么?
Oncofiles 是一个专为癌症患者及其护理人员构建的 MCP 服务器。它连接到您的 Google Drive、Gmail 和日历,读取您所有的医疗文档(化验结果、CT 扫描、病理报告、处方),并使它们可以通过任何 AI 聊天工具(Claude、ChatGPT 或任何 MCP 客户端)进行访问。
源于真实需求: 由一位正在照顾患癌妻子的护理人员创建。面对数百份文档、数十位医生以及不断变化的化验结果,Oncofiles 整理了这些混乱,让您可以专注于治疗,而不是寻找纸质文件。
姊妹项目: Oncoteam — 一个分析您 Oncofiles 数据的 AI 代理:跟踪化验趋势、搜索临床试验,并为您的肿瘤科医生准备问题。
您的数据,由您掌控: 所有内容都保留在您的 Google Drive 中。没有第三方数据处理。随时断开连接——您的文件永远属于您。
多患者支持 (v4.0+)
Oncofiles 支持在单个实例中管理多名患者。每位患者享有:
完整的数据隔离 — 文档、化验、治疗事件、电子邮件和日历条目均针对患者进行范围限定
独立的承载令牌 (Bearer Tokens) — 每位患者(或护理人员)拥有自己的
onco_*令牌按患者 OAuth — Google Drive、Gmail 和日历均按患者进行授权
仪表板患者选择器 — 在 Web 仪表板中切换患者
新患者入驻
仪表板向导: 打开仪表板,点击“+ 新患者”,并按照 4 步向导操作
API: 使用
{patient_id, display_name}调用POST /api/patients— 返回一个承载令牌连接 GDrive: 访问
/oauth/authorize/drive?patient_id=X以授权文档同步触发首次同步: 使用
{patient_id}调用POST /api/sync-trigger以导入文档
功能特性
76 个 MCP 工具,涵盖 14 个模块,实现全面的医疗数据管理
14 类文档分类 — 化验、病理、影像、遗传学、手术、咨询、处方等
化验值跟踪 — 存储数值、跟踪趋势、化疗方案的周期前安全检查
Google Drive 同步 — 双向同步,并带有自动 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 部署做好准备:
推送到 GitHub
在 Railway 中连接仓库
设置环境变量
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 modelsMCP 注册表
已在 MCP Registry 中列出,名称为 io.github.peter-fusek/oncofiles。
贡献
请参阅 CONTRIBUTING.md 获取指南。
许可证
幕后团队
核心成员
Peter Fusek — 首席执行官兼创始人
连续创业者和 AI 战略家。曾在 Tatra banka 工作 4 年。联合创立了 marketlocator(已出售给德国电信)。VÚB 银行首席执行官顾问。拥有 18 年以上构建技术产品的经验。
出于个人需求构建了 Oncofiles — 管理他妻子在数百份文档、数十位医生和不断变化的化验结果中的癌症治疗过程。
LinkedIn · peter.fusek@instarea.com
Peter Čapkovič — 首席技术官兼联合创始人
资深 IT 架构师,在企业银行 (VÚB) 拥有 20 多年经验。精通 .NET、Python、SQL 和系统架构。领导了所有 Instarea 产品的架构设计。
架构、开发、运营 — 一站式全包。
公司简介
Instarea — 成立 18 年,已发布 23 款产品。从电信分析和企业客户 (Callinspector) 到移动优先金融科技 (InventButton)、大数据退出项目 (marketlocator → 德国电信)、物联网平台以及 AI 优先产品 (PulseShape, ReplicaCity, HomeGrif)。
Oncofiles 和 Oncoteam 是 Instarea 的最新力作 — 采用与交付银行、电信和数据行业企业级产品相同的工程准则构建。
拥有 10 多名经过验证的同步团队成员,涵盖前端、后端、集成、数据科学、UX/UI、市场营销和云运营。
“我们亲力亲为,以诚相待,如同家人,亦如工作。”
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