CardioTriage MCP Server

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.

Category
Visit Server

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

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:

  1. Domain logic: synthetic FHIR R5 case bundles, HEART-style risk signals, missing-data review, and deterministic SBAR handoff scaffolding.
  2. AI-ECG layer: ECG signal preprocessing plus ECGFounder 1024-d embeddings, centroid cosine similarity, and neurokit2-derived signal features.
  3. MCP server: FastMCP tools exposed over Streamable HTTP for Prompt Opinion.
  4. BYO Agent wrapper: a Prompt Opinion demo agent orchestrates the six tools with concise clinical rationale before each call.
  5. 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.

  1. Open Prompt Opinion.
  2. Go to Configuration -> MCP Servers -> Add.
  3. Friendly name: CardioTriage MCP Server.
  4. Endpoint: https://claudiomedina17--mcp.modal.run/mcp.
  5. Transport: Streamable HTTP.
  6. Authentication: No authentication / open.
  7. Save and verify that the server appears in the workspace MCP server list.
  8. Confirm /health, initialize, and tools/list expose six tools.
  9. 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.

  1. Tools tab: attach CardioTriage MCP Server.
  2. System Prompt tab: paste docs/BYO_AGENT_SYSTEM_PROMPT.md.
  3. Save.
  4. Run: Triage Case B end-to-end. Use Spanish for the handoff.
  5. Expected trace: all six tools in order, including interpret_12_lead_ecg, with chagas_suspect_demo_score around 0.925 and calibration_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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured