We use Google Analytics and a Meta advertising pixel on our public site only — never on the clinical application. You can opt out at any time via “Cookie settings” in the footer. See our privacy policy.

CardioBridge API

MCP server

CardioBridge runs a hosted MCP server that any MCP-compatible agent — Claude and others — can connect to. It speaks JSON-RPC 2.0 over Streamable HTTP and exposes the same ECG pipeline the REST API does, so an agent can submit an ECG for consultant review and track it.

MCP endpoint
https://api.cardiobridge.teqdr.com/functions/v1/mcp

Connect your client

Add CardioBridge as a remote MCP server in your client's config, then restart the client. New to this? The agent quickstart walks through it end to end.

MCP client config
{
  "mcpServers": {
    "cardiobridge": {
      "url": "https://api.cardiobridge.teqdr.com/functions/v1/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}

On the Claude Code CLI it's a single command:

Claude Code
claude mcp add --transport http cardiobridge \
  https://api.cardiobridge.teqdr.com/functions/v1/mcp \
  --header "Authorization: Bearer <YOUR_API_KEY>"

Standard methods are supported: initialize, tools/list and tools/call. You can also POST JSON-RPC directly to the endpoint.

Tools

tools/list returns all six regardless of mode; which ones apply depends on whether you sent an API key.

Both modes
submit_ecg

Submit an ECG (file + patient detail) for consultant review. Client mode: the org is billed. Patient mode: requires a paid order_id and upload_ticket.

check_status

Check the status of a submission. Client mode: by reference. Patient mode: by order_id and upload_ticket.

get_report

Fetch the interpretation once a report is signed. Returned inline in patient mode; delivered to your configured channel in client mode.

get_pricing

Return the standard per-ECG rate.

Patient mode only
create_ecg_order

Create a paid order for one ECG from the patient's email alone. Returns a Stripe Checkout link, an order_id and a single-use upload_ticket.

check_order

Poll the order until it reports paid. Also re-issues a lost upload_ticket if you pass the same email.

Authentication

Send your CardioBridge client API key as Authorization: Bearer <key>. This is client mode: the organisation is billed automatically and each submission lands in the consultant worklist for the reporting doctor to sign. Get a key in the app under Integrations → API keys.

Send no key and you're in patient mode, where an individual pays for their own ECG: create_ecg_order → the patient pays the hosted Stripe Checkout link themselves → check_order until it reports paid → submit_ecg with the order_id and upload_ticket. Pay first, upload second: no patient detail is stored until a paid order backs it. The agent quickstart walks through it step by step.

One order, one ECG
A patient-mode order covers exactly one ECG and expires unused without an automatic refund. Submitting creates a CardioBridge account for the patient's email address so they can sign in and see the result themselves.
A consultant always signs the report
The MCP server is a way to submit and track work. Consultant-led reporting; every report is signed by the reporting doctor — the agent never issues an interpretation.
tools/call · submit_ecg
curl -X POST https://api.cardiobridge.teqdr.com/functions/v1/mcp \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'