← The evidence ledger
Evidence row 3431720
Observed , by sync.mcp_registry/1.
- Kind
- listing
- About
- source_record mcp_registry:io.github.cbetz/last-ehr
- Recorded
- Previous row
- #3426343
- Body SHA-256
- 48abef7bafce6e0a0825d50f7c25377f9884dffa0d5179c7d79f5ab5bd073b46
- Leaf
- 0x527b6cd93fbc6639684f96002b0edafe8c029d9efcd9549dd10b5cdc9e09d2ce
What was observed
{
"endpoints": [
[
"web",
"https://www.lastehr.com/docs/mcp"
]
],
"name": "Last EHR — Medplum",
"owner_address": null,
"raw": {
"_meta": {
"io.modelcontextprotocol.registry/official": {
"isLatest": true,
"publishedAt": "2026-11-05T17:07:43.624522Z",
"status": "active",
"statusChangedAt": "2026-11-05T17:07:43.624522Z",
"updatedAt": "2026-11-05T17:07:43.624522Z"
}
},
"server": {
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"description": "FHIR chart tools for MCP: read-only by default, with elicitation-gated, human-approved writes.",
"name": "io.github.cbetz/last-ehr",
"packages": [
{
"environmentVariables": [
{
"description": "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).",
"isSecret": true,
"name": "MEDPLUM_ACCESS_TOKEN"
},
{
"description": "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).",
"name": "MEDPLUM_CLIENT_ID"
},
{
"description": "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).",
"isSecret": true,
"name": "MEDPLUM_CLIENT_SECRET"
},
{
"description": "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).",
"name": "MEDPLUM_BASE_URL"
},
{
"description": "epic, oracle, or smart. Requires LASTEHR_EXPERIMENTAL_FHIR_ADAPTERS=1. Sandbox writes are approval-gated and persist because those sandboxes do not support delete.",
"name": "LASTEHR_BACKEND"
},
{
"description": "Set to 1 to enable LASTEHR_BACKEND epic, oracle, or smart.",
"name": "LASTEHR_EXPERIMENTAL_FHIR_ADAPTERS"
},
{
"description": "SMART Backend Services client id. Not a secret.",
"name": "LASTEHR_CLIENT_ID"
},
{
"description": "PKCS#8 PEM for SMART private_key_jwt. Never log it.",
"isSecret": true,
"name": "LASTEHR_PRIVATE_KEY"
},
{
"description": "Path to the PKCS#8 PEM. Alternative to LASTEHR_PRIVATE_KEY.",
"name": "LASTEHR_PRIVATE_KEY_PATH"
},
{
"description": "JWT kid. Must match the public JWKS.",
"name": "LASTEHR_KEY_ID"
},
{
"description": "https URL of the public JWKS. doctor checks that LASTEHR_KEY_ID is present. Optional.",
"name": "LASTEHR_JWKS_URL"
},
{
"description": "Space-delimited SMART scopes. Required for Oracle. Omit for Epic unless overriding the app registration.",
"name": "LASTEHR_SCOPES"
},
{
"description": "FHIR base URL. Epic and Oracle default to their public sandboxes when unset.",
"name": "LASTEHR_FHIR_BASE_URL"
},
{
"description": "SMART token URL. Epic and Oracle default to their public sandboxes when unset.",
"name": "LASTEHR_TOKEN_URL"
},
{
"description": "Encounter/{id} added to Epic observations when the tool call omits encounter.",
"name": "LASTEHR_ENCOUNTER"
},
{
"description": "Practitioner/{id} filed as legal authenticator on Oracle observations.",
"name": "LASTEHR_PERFORMER"
}
],
"identifier": "@lastehr/mcp",
"registryType": "npm",
"transport": {
"type": "stdio"
},
"version": "0.5.1"
}
],
"repository": {
"source": "github",
"subfolder": "packages/mcp",
"url": "https://github.com/cbetz/last-ehr"
},
"title": "Last EHR — Medplum",
"version": "0.5.1",
"websiteUrl": "https://www.lastehr.com/docs/mcp"
}
},
"source": "mcp_registry",
"summary": "FHIR chart tools for MCP: read-only by default, with elicitation-gated, human-approved writes."
}What the leaf hashes
{"body":"48abef7bafce6e0a0825d50f7c25377f9884dffa0d5179c7d79f5ab5bd073b46","id":3431720,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793899305596324,"prev":3426343,"subject":"mcp_registry:io.github.cbetz/last-ehr","subject_kind":"source_record"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (322504 rows).
- 0x527b782ea26ca138609e3e19c26416a45e8f56639addbe7e4d9020764a515b10
- 0x1f3b972830951daec73d0b8cbf75a487a4a977f80a0f628e8b81efbf0d6e5235
- 0xe9fd86441e7c5243ebec6ffbf51f5ac7d717a7c0bf6da0eef78ad11220a2f260
- 0x175a71672f3595014831737c744e202113426fa05646c0e9849f3ce7dcc1967d
- 0xdf351dd3185d0f8992c600c8d1f35e6e9ee8dcf564e13bdf646fe08dabc6bd6b
- 0xecd4931692ba8a5b947ce3e83f070f5b3361754c9bdd0edc77f623061cc23f8f
- 0xdfdb62163cbeafff50153149aef3c460e26dd7afdb1c1d72685a0a8d81d44479
- 0xc43e1f52c165f206a956578ec6c919e064d3fc3e2cb109c3a8024db73fd3ffb3
- 0x3574a43ea0c1e65c7e9839535f37f907da26970b4092811e18c1e66604c97f48
- 0x1ad3d5eea19d7cd84aa29f06acc7e40aa0cd7c69dce139332a9971a457a096a0
- 0x9ac725fd4bb5fdb39c80fe3900b253d68e8c2082141c94b596a53299bc4f2987
- 0x1583fd67b8e3b1d8876304f232270c77647f41936a37024d54488f675538a2f3
- 0xff04f88f01db14dd3ab75ae4ad845f5913e27709edbc0eb6237c5c128a69b491
- 0xc7c9a02b10652443317f29964cb3f80c8edb43f84b67644463046121ae250d1c
- 0x20ca3add72ff47f6497449b7ee3adf1c6f2cdbedf8b5a49a56da543bf096a5fe
- 0x01716548fb56e8e74ac29a1a638626afc662ed7e187bafcf089344de82365b83
- 0xddde0b0de5219c91c717b03cab5216193dc0f26fb006aa8ba17020a71dbd997a
- 0xa9caf228b42660818160afb416ff04cb014f57c4d8ee75ea3452fb76c3d8c645
- 0xf72fe7c4860b9addb17aac4a00b8afc2f8085836173f10f31697c3d192df119b
- Day root
- 0x9f0215efb0252701dc86d5600ce95f276cccc716759bf112525ae863f698d128
- Chained
- 0xc54ddff800630c6cd9656f99e7d6a61adce99bf1cea37121600598b0a9a720d2
- Published
- On Arc Testnet, block 70942081: 0x88f612ad94ca63af4e4e9faab9f34b665b41f03828afac1571ad013cc62bba94