SundhedMCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SUNDHEDMCP_BROWSER | No | Playwright channel to use | chrome, msedge, chrome-beta, chrome-canary, chromium |
| SUNDHEDMCP_KEEPALIVE_MS | No | How often to touch the session; 0 turns it off | 240000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| connect_sundhedA | Starts a sundhed.dk login with MitID. Locally it opens a browser window and waits up to 3 minutes; tell the person to enter their MitID user ID there and approve in the MitID app. On a hosted server it returns a link the person opens to log in; relay the link and ask them to say when they are done. Call this when another tool says the person is not logged in. |
| session_statusA | Whether the sundhed.dk session is live, for how long, and how long the previous one lasted before sundhed.dk ended it. |
| disconnect_sundhedA | Closes the browser and forgets the session. Nothing is stored, so the next use needs a new MitID login. |
| get_summaryA | Counts across the record: active, paused and stopped medicine; open, closed and future prescriptions; given, planned and overdue vaccinations. A cheap first call. |
| get_medication_cardA | Current medicine on Fælles Medicinkort, newest first: drug, form, strength, dosage text, reason (Cause), active substance, start date and status. Use OrdinationId with get_medication_details. |
| get_medication_detailsA | One medicine on the card in full: ATC code, administration, substitution and reimbursement, dosage period, and who created, changed or stopped it. |
| get_prescriptionsA | Open prescriptions (recepter): drug, strength, dosage, valid from and to, remaining units and status. Use PrescriptionId with get_prescription for dispensings left and the pharmacy. |
| get_prescriptionA | One prescription in full: dispensings given and remaining, remaining units, validity, issuing doctor and clinic, receiving pharmacy, package size, reimbursement and substitution. |
| get_lab_resultsA | Regional lab results (prøvesvar) for a date range, default the last 12 months: requisitions, analyses, values and reference intervals. An empty result means no regional results in that range, not that none exist anywhere; try a wider range. |
| get_vaccinationsA | Every registered vaccination, newest first: vaccine, date, who gave it and how long it covers. Use VaccinationIdentifier with get_vaccination for the diseases it protects against. |
| get_vaccinationA | One vaccination in full: diseases covered, vaccination programme, coverage, organisation, and whether a pharmacy or health record confirmed it. |
| get_referralsA | Active and earlier referrals (henvisninger) to specialists and hospitals. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Most tools have distinct purposes: session management vs. specific data retrievals. However, get_medication_card and get_medication_details could be confused, as could get_prescriptions and get_prescription, though the descriptions clarify the granularity difference.
Names follow a consistent verb_noun pattern: connect_, session_, disconnect_, get_medication_card, get_medication_details, get_lab_results, etc. The only minor inconsistency is 'session_status' (noun_verb instead of verb_noun), but it's a small deviation.
With 12 tools, the server is well-scoped for its purpose: managing a healthcare session and retrieving key record data. Each tool serves a distinct need, and the count is within the optimal 3-15 range.
The server covers session management and core read operations (summary, medication, lab results, vaccinations, referrals), but missing common operations like updating or stopping medications for chronic conditions. There is no tool to get full patient demographics or to handle pharmacy interactions beyond prescriptions, leaving some gaps.