CardioTriage MCP Server
Provides phenotype-aware cardiovascular triage tools including FHIR R5 case retrieval, missing-data analysis, ECGFounder-backed ECG interpretation, risk summarization, and structured SBAR handoff in multiple languages.
README
CardioTriage MCP — Phenotype-aware Cardiovascular Triage
Prompt Opinion MCP superpower for phenotype-aware emergency cardiovascular triage with FHIR R5 context, missing-data checks, structured bilingual handoff, and Chagas-compatible cardiomyopathy differential surfacing backed by ECGFounder bridge phenotype detection.
NOT FOR CLINICAL USE. Hackathon demonstration only. Synthetic FHIR metadata plus public de-identified ECG samples. Foundation model outputs are uncalibrated demo scores -- they SURFACE differentials for clinical workup, never DIAGNOSE conditions.
We do not propose AI-ECG as a replacement for serology.
We propose it as a low-cost triage layer.
Quick Links
- Live MCP endpoint:
https://claudiomedina17--mcp.modal.run/mcp - Live health endpoint:
https://claudiomedina17--mcp.modal.run/health - Marketplace listing evidence:
docs/MARKETPLACE_VERIFICATION.md - Demo video:
TBD - Phase 2 - Devpost submission:
TBD - Phase 2 - Repository:
TBD public repo URL(local prototype workspace) - Data provenance:
docs/DATA_PROVENANCE.md - BYO Agent system prompt:
docs/BYO_AGENT_SYSTEM_PROMPT.md
Elevator Pitch
CardioTriage gives any Prompt Opinion agent a governed phenotype-aware cardiovascular triage toolkit instead of a free-text-only workflow.
It exposes six MCP tools that discover cases, retrieve FHIR R5 bundles, check critical missing data, run ECGFounder-backed phenotype inference, summarize risk signals, and render an SBAR handoff note.
The ECG tool uses ECGFounder (PKUDigitalHealth, MIT; NEJM AI 2025) embeddings and signal features to return transparent uncalibrated demo scores.
The demo is anchored on chest-pain triage, STEMI pattern recognition, and a Latam Chagas-compatible cardiomyopathy workup scenario.
The MCP server is the primary submission; the Prompt Opinion BYO Agent is the demo wrapper that proves the tools are invokable inside the platform.
Architecture Summary
CardioTriage uses a five-layer architecture:
- Domain logic: synthetic FHIR R5 case bundles, HEART-style risk signals, missing-data review, and deterministic SBAR handoff scaffolding.
- AI-ECG layer: ECG signal preprocessing plus ECGFounder 1024-d embeddings, centroid cosine similarity, and neurokit2-derived signal features.
- MCP server: FastMCP tools exposed over Streamable HTTP for Prompt Opinion.
- BYO Agent wrapper: a Prompt Opinion demo agent orchestrates the six tools with concise clinical rationale before each call.
- Submission polish: provenance docs, Marketplace evidence, cache skeletons, disclaimers, and a reproducible local test suite.
Six MCP Tools
| # | Tool | Purpose |
|---|---|---|
| 1 | list_synthetic_cases |
Discover the available demo case IDs A, B, and C. |
| 2 | get_fhir_case_bundle |
Return the FHIR R5-style bundle for the selected case. |
| 3 | analyze_missing_critical_data |
Flag missing or pending triage data such as troponin, echo, Chagas serology, or contraindications. |
| 4 | summarize_cardiovascular_risk_signals |
Summarize deterministic cardiovascular risk signals for STEMI, HF/Chagas, or low-risk patterns. |
| 5 | generate_structured_handoff_note |
Generate an SBAR-style handoff note in en, es, or pt. |
| 6 | interpret_12_lead_ecg |
AI-ECG inference (lite + live), uncalibrated demo scores. Bridge phenotype detection backed by ECGFounder; surfaces Chagas-compatible cardiomyopathy pattern when context warrants serology workup. NOT a diagnostic tool. |
Tool #6 scores are evidence signals for the hackathon demo. They surface phenotype-aware differentials for workup; they are not calibrated clinical probabilities.
Local Development
uv sync
uv run pytest tests/ -q
uv run python -m server.main
The default transport is stdio. For local Streamable HTTP:
$env:CARDIOTRIAGE_MCP_TRANSPORT = "streamable-http"
$env:CARDIOTRIAGE_MCP_HOST = "127.0.0.1"
$env:CARDIOTRIAGE_MCP_PORT = "8000"
$env:CARDIOTRIAGE_MCP_PATH = "/mcp"
uv run python -m server.main
Health smoke:
curl.exe http://127.0.0.1:8000/health
Marketplace Publish Steps
Phase 0 Gate 0 found that CardioTriage is usable in Prompt Opinion as a WORKSPACE-ONLY listing. Public Marketplace publishing may require subscription publishing enablement.
- Open Prompt Opinion.
- Go to Configuration -> MCP Servers -> Add.
- Friendly name:
CardioTriage MCP Server. - Endpoint:
https://claudiomedina17--mcp.modal.run/mcp. - Transport: Streamable HTTP.
- Authentication: No authentication / open.
- Save and verify that the server appears in the workspace MCP server list.
- Confirm
/health,initialize, andtools/listexpose six tools. - Use screenshots from the workspace Manage view as Marketplace evidence if public listing remains unavailable.
See docs/MARKETPLACE_VERIFICATION.md.
BYO Agent Demo
Open or create the Prompt Opinion BYO Agent named CardioTriage Demo.
- Tools tab: attach
CardioTriage MCP Server. - System Prompt tab: paste
docs/BYO_AGENT_SYSTEM_PROMPT.md. - Save.
- Run:
Triage Case B end-to-end. Use Spanish for the handoff. - Expected trace: all six tools in order, including
interpret_12_lead_ecg, withchagas_suspect_demo_scorearound0.925andcalibration_status="uncalibrated_demo".
Offline deterministic cache skeletons live in
cardiotriage_core/demo_cache/run_case_{a,b,c}.json; rationale and final PO
handoff text remain TODO_LIVE_CAPTURE until Claudio captures real UI runs.
License
MIT. See LICENSE.
Acknowledgements
- ECGFounder by PKUDigitalHealth (MIT license), used for ECG foundation-model embeddings.
- CODE-15 / Ribeiro et al., Zenodo 4916206, CC-BY 4.0, for public de-identified ECG demo samples.
- SaMi-Trop / PhysioNet Challenge 2025 for the Chagas-cohort public de-identified ECG demo sample.
- Bern et al., CDC 2007, for Chagas disease clinical grounding.
- Nunes et al., JACC 2013, for Chagas cardiomyopathy clinical grounding.
- Anthropic Claude Haiku for the planned Prompt Opinion BYO Agent narrative layer; this repository does not run live LLM API calls during deterministic cache generation.
Disclaimer
NOT FOR CLINICAL USE. This software is a hackathon demonstration. Demo data only: synthetic FHIR metadata plus public de-identified ECG samples. Scores are uncalibrated demo scores, not clinical probabilities. A licensed clinician must validate all findings and actions.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。