Connect Claude Desktop, Claude.ai, or any MCP-compatible AI client. Read your patient data, draft chart notes, send messages directly from the AI you already use. Production-ready. BAA-covered. Audit-logged.
For Clinic Owners
If you already use Claude (to draft emails, work through spreadsheets, plan your week, write SOPs) you know how much faster a good AI makes you. The frustration is that the AI lives in one window and your EHR lives in another, and the only way to bridge them is copy-paste, screenshots, and CSV exports. Half the value of an AI assistant evaporates the moment your data lives somewhere it can't reach.
MCP fixes that. With one paste of a credential into Claude's Connectors panel, the same Claude session you already use plugs into your clinic. Ask "which patients are due for labs?" and Claude reads your real schedule and lab history. Ask "draft a follow-up note for John Smith from today's visit" and Claude pulls his chart, drafts a SOAP note, and drops it into your review queue. No copy-paste. No screenshots. No CSV exports.
Most EHRs sell you "AI features" that are chat boxes inside their app. We built our EHR to plug into whatever AI you want to use.
90-Second Connection
From "I want to try this" to "Claude is reading my clinic data" in under two minutes.
In Claude Desktop or Claude.ai, go to Settings → Connectors → Add custom connector. Or use the MCP SDK in your own tool.
Paste the server URL your clinic receives during setup and a bearer token issued from /admin/ai-mcp/. One credential per user, one tenant.
"Which patients are due for labs?" "Draft a follow-up message for everyone who missed their appointment last week." Production tenants sign the AI Access Addendum (clickwrap, 2 minutes) before real PHI is exposed.
What You Can Do
Read tools surface your data. Write tools propose changes that a clinician signs. Everything respects the same RBAC as staff accounts.
search_patients, get_patient, get_chart_notes, get_medications, get_allergies, get_problem_list.
get_labs, get_vitals, find_abnormal_labs_across_panel, find_lab_trend_outliers.
get_inbox, get_appointments, get_no_shows_and_cancellations.
get_billing_summary, get_patient_profit, get_lead_funnel, get_membership_metrics.
draft_chart_note WRITESOAP-formatted draft into the clinician review queue. Commits to the chart (encounter_notes) only on Sign by a user with the edit_charts permission.
draft_patient_message WRITEPortal or SMS draft. A clinician with the send_messages permission signs to send. Nothing leaves the system without a human in the loop.
search_clinical_protocolsSemantic search over your uploaded PDFs: protocols, formularies, SOPs. Tenant-isolated. Ask "what's our TRT titration protocol?" and Claude cites your own docs.
Every tool is scoped to the credential-holder's role. Same RBAC as staff accounts. A front-desk credential can't draft chart notes. A provider credential can't see other providers' financial metrics if their role doesn't.
Two Tiers
Try it on synthetic data before you commit. When you're ready, the production gate is a clickwrap addendum and a permission grant.
A sandbox tenant with synthetic patients is available on request (no real PHI). No AI Access Addendum required. Best for evaluation, demos, and developer testing.
Real PHI under BAA. Gated by a clickwrap AI Access Addendum (365-day, cryptographic evidence of consent, annual re-sign). Revocable instantly from /admin/ai-mcp/. Included with all paid plans.
Security & Compliance
Every control below applies whether you use MCP, in-app AI, or both.
Infrastructure, AI inference, billing and messaging. Every link in the chain that can touch PHI is under a signed BAA.
Postgres row-level security on every PHI-bearing table. A misconfigured credential cannot read another tenant's data. The database itself refuses.
Every MCP call writes a row: user, tool name, arguments, response size, latency, timestamp. Queryable from /admin/ai-mcp/. Same audit pipeline as the rest of the EHR.
Tool outputs that ingest user-authored text (chart notes, intake forms, inbound messages) are wrapped in untrusted-content delimiters. Write tools are blocked in any turn-chain that includes those outputs. Injection attempts get logged, not executed.
Per-user daily cap, per-request cap, per-tenant monthly hard cap. When the cap hits, calls return 429, no silent overage.
Each MCP credential is one-tenant-one-role. Revoke instantly from /admin/ai-mcp/. The bearer token is invalidated server-side and the next call returns 401. Full credential lifecycle is logged.
"Every EHR I've ever used ships an 'AI feature' that's basically a chatbot bolted onto the side. Locked into one model, one UI, one set of tools the vendor thinks you should care about. The moment a better model ships, you're stuck.
MCP fixes that. We built our EHR to be an MCP server, not just an MCP client. The same Claude session you already use to draft emails, analyze data, plan your week now plugs into your clinic. The AI stays in your hands, not in some vendor's chat box.
We're one of the few EHRs in the country with native MCP. Probably the only one if you scope to cash-pay specialty clinics."
Tom Kashul, founder of Moonshot Medical & Moonshot EHR
draft_chart_note and draft_patient_message tools create pending drafts that land in a clinician review queue. A user with the appropriate permission (edit_charts to sign chart notes, send_messages to send messages) opens the draft, reviews it, edits if needed, and signs to commit. There are no autonomous writes. Every change to a chart or every message that leaves the system passes through a licensed human./admin/ai-usage/, no surprise bills.Related
The same tools, surfaced as a chat panel inside the EHR. For staff who don't want to leave the app.
Learn moreBAA, row-level security, audit log, encryption at rest. The whole stack.
Learn moreProduction-tier MCP is included with every paid plan. Free $10/month AI pool on every tenant.
Learn moreBook a 30-minute demo. We'll connect Claude to a sandbox tenant live and answer any architecture or compliance questions.
Book a Demo