Last EHR — Medplum MCP Server
by cbetzio.github.cbetz/last-ehrv0.3.1
FHIR chart tools for MCP: read-only by default, with elicitation-gated, human-approved writes.
context tax
queued
security
queued
cold start
queued
freshness
Maintained34d ago
Install Last EHR — Medplum MCP server
Install in Claude Code
claude mcp add cbetz -e MEDPLUM_ACCESS_TOKEN='<medplum-access-token>' -e MEDPLUM_CLIENT_SECRET='<medplum-client-secret>' -- npx -y @lastehr/mcpInstall in Cursor
{
"mcpServers": {
"cbetz": {
"command": "npx",
"args": [
"-y",
"@lastehr/mcp"
],
"env": {
"MEDPLUM_ACCESS_TOKEN": "<medplum-access-token>",
"MEDPLUM_CLIENT_SECRET": "<medplum-client-secret>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"cbetz": {
"command": "npx",
"args": [
"-y",
"@lastehr/mcp"
],
"env": {
"MEDPLUM_ACCESS_TOKEN": "<medplum-access-token>",
"MEDPLUM_CLIENT_SECRET": "<medplum-client-secret>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"cbetz": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@lastehr/mcp"
],
"env": {
"MEDPLUM_ACCESS_TOKEN": "<medplum-access-token>",
"MEDPLUM_CLIENT_SECRET": "<medplum-client-secret>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"cbetz": {
"command": "npx",
"args": [
"-y",
"@lastehr/mcp"
],
"env": {
"MEDPLUM_ACCESS_TOKEN": "<medplum-access-token>",
"MEDPLUM_CLIENT_SECRET": "<medplum-client-secret>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| MEDPLUM_ACCESS_TOKEN | — | yes | FHIR chart tools over Medplum or a local HAPI stack: read-only by default, with an opt-in elicitation-gated write profile (human-approved per action). |
| MEDPLUM_CLIENT_ID | — | — | FHIR chart tools over Medplum or a local HAPI stack: read-only by default, with an opt-in elicitation-gated write profile (human-approved per action). |
| MEDPLUM_CLIENT_SECRET | — | yes | FHIR chart tools over Medplum or a local HAPI stack: read-only by default, with an opt-in elicitation-gated write profile (human-approved per action). |
| MEDPLUM_BASE_URL | — | — | FHIR chart tools over Medplum or a local HAPI stack: read-only by default, with an opt-in elicitation-gated write profile (human-approved per action). |
Freshness
Maintained — last maintenance signal 34d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-09-06 · 34d ago · GitHub
Latest release
2026-07-13 · 3mo ago · GitHub · v0.2.2
Package published
no data · npm/PyPI
Registry entry updated
2026-07-27 · 2mo ago · official registry · v0.3.1
FAQ
›How do I install the Last EHR — Medplum MCP server in Claude Code?
Run: claude mcp add cbetz -e MEDPLUM_ACCESS_TOKEN='<medplum-access-token>' -e MEDPLUM_CLIENT_SECRET='<medplum-client-secret>' -- npx -y @lastehr/mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Last EHR — Medplum require an API key?
Yes. It expects MEDPLUM_ACCESS_TOKEN, MEDPLUM_CLIENT_SECRET, of which 2 are secrets.
›Can I use Last EHR — Medplum as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Last EHR — Medplum in the official MCP registry?
Yes, as io.github.cbetz/last-ehr.