关于 Oncofiles
Oncofiles 是面向癌症患者及照护者的 MCP 服务,可整理 Google Drive、Gmail 和 Calendar 中的医疗记录。它提供文档、化验趋势、治疗时间线和临床研究工具,并支持按患者隔离数据和访问令牌。
主要功能
- 01同步并整理医疗文档
- 02分类医疗邮件和预约
- 03跟踪化验值与治疗事件
- 04搜索 PubMed 和 ClinicalTrials.gov
- 05支持多个隔离的患者档案
- 06记录工具调用以供审计
适用场景
- 01查找并查看已连接 Google 服务中的记录
- 02跟踪化验趋势和化疗安全检查
- 03整理治疗事件与研究决策
- 04在单个实例中管理多位患者的记录
MCP 相关
Oncofiles 通过 MCP 提供医疗文档、化验、治疗和研究工具。MCP 客户端可在本地通过 stdio 连接,也可使用实例的 /mcp 端点和 bearer token 连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://oncofiles.com/mcpclaude mcp add --transport http peter-fusek-oncofiles https://oncofiles.com/mcp{"mcpServers":{"peter-fusek-oncofiles":{"type":"http","url":"https://oncofiles.com/mcp"}}}在 Cursor 中打开{"servers":{"peter-fusek-oncofiles":{"type":"http","url":"https://oncofiles.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"peter-fusek-oncofiles":{"type":"http","url":"https://oncofiles.com/mcp"}}}{"mcpServers":{"peter-fusek-oncofiles":{"serverUrl":"https://oncofiles.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
oncofiles
您的医疗记录散落在 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 仪表板中切换患者
为新患者办理接入
- 仪表板向导: 打开仪表板,点击“+ New Patient”,并按照 4 步向导操作
- API: 使用
{patient_id, display_name}调用POST /api/patients——返回 bearer token - 连接 GDrive: 访问
/oauth/authorize/drive?patient_id=X,授权文档同步 - 触发首次同步: 使用
{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 部署:
- 推送到 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 models
MCP Registry
已作为 io.github.peter-fusek/oncofiles 列入 MCP Registry。
贡献
请参阅 CONTRIBUTING.md 了解指南。
许可证
关于团队
团队成员
|
Peter Fusek — 首席执行官兼创始人 连续创业者和 AI 战略师。在 Tatra banka 工作了 4 年。共同创立 marketlocator(后出售给 Deutsche Telekom)。担任 VÚB Bank 首席执行官的顾问。拥有 18 年以上打造技术产品的经验。 Oncofiles 源于个人需求——他需要管理妻子的癌症治疗,涉及数百份文档、数十位医生以及不断变化的实验室检查结果。 |
Peter Čapkovič — 首席技术官兼联合创始人 资深 IT 架构师,在企业银行领域(VÚB)拥有 20 多年经验。精通 .NET、Python、SQL 和系统架构。负责 Instarea 所有产品的架构设计。 架构、开发、运维——一站式完成。 |
公司
Instarea — 18 年来已推出 23 款产品。从电信分析和企业客户(Callinspector),到移动优先的金融科技产品(InventButton)、大数据领域的退出案例(marketlocator → Deutsche Telekom)、物联网平台,以及 AI 优先产品(PulseShape、ReplicaCity、HomeGrif)。
Oncofiles 和 Oncoteam 是 Instarea 的最新产品——它们秉承同样严谨的工程规范,打造出服务于银行、电信和数据行业的企业级产品。
现有 10 多名经过验证且协同工作的团队成员,可提供前端、后端、集成、数据科学、UX/UI、营销和云运维方面的支持。
“我们用心对待每一件事,以家人般的态度投入工作,也坦诚面对彼此。”
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。