{"id":3431720,"recorded_at":"2026-11-05T17:21:45.596412Z","observed_at":"2026-11-05T17:21:45.596324Z","subject_kind":"source_record","subject":"mcp_registry:io.github.cbetz/last-ehr","kind":"listing","method":"sync.mcp_registry/1","body":{"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."},"body_sha256":"48abef7bafce6e0a0825d50f7c25377f9884dffa0d5179c7d79f5ab5bd073b46","prev_id":3426343,"leaf":"0x527b6cd93fbc6639684f96002b0edafe8c029d9efcd9549dd10b5cdc9e09d2ce","leaf_text":"{\"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\"}","day":{"day":"2026-11-05","leaves":322504,"root":"0x9f0215efb0252701dc86d5600ce95f276cccc716759bf112525ae863f698d128","chained":"0xc54ddff800630c6cd9656f99e7d6a61adce99bf1cea37121600598b0a9a720d2","anchor_chain":"eip155:5042002","anchor_tx":"0x88f612ad94ca63af4e4e9faab9f34b665b41f03828afac1571ad013cc62bba94","anchor_block":70942081},"proof":["0x527b782ea26ca138609e3e19c26416a45e8f56639addbe7e4d9020764a515b10","0x1f3b972830951daec73d0b8cbf75a487a4a977f80a0f628e8b81efbf0d6e5235","0xe9fd86441e7c5243ebec6ffbf51f5ac7d717a7c0bf6da0eef78ad11220a2f260","0x175a71672f3595014831737c744e202113426fa05646c0e9849f3ce7dcc1967d","0xdf351dd3185d0f8992c600c8d1f35e6e9ee8dcf564e13bdf646fe08dabc6bd6b","0xecd4931692ba8a5b947ce3e83f070f5b3361754c9bdd0edc77f623061cc23f8f","0xdfdb62163cbeafff50153149aef3c460e26dd7afdb1c1d72685a0a8d81d44479","0xc43e1f52c165f206a956578ec6c919e064d3fc3e2cb109c3a8024db73fd3ffb3","0x3574a43ea0c1e65c7e9839535f37f907da26970b4092811e18c1e66604c97f48","0x1ad3d5eea19d7cd84aa29f06acc7e40aa0cd7c69dce139332a9971a457a096a0","0x9ac725fd4bb5fdb39c80fe3900b253d68e8c2082141c94b596a53299bc4f2987","0x1583fd67b8e3b1d8876304f232270c77647f41936a37024d54488f675538a2f3","0xff04f88f01db14dd3ab75ae4ad845f5913e27709edbc0eb6237c5c128a69b491","0xc7c9a02b10652443317f29964cb3f80c8edb43f84b67644463046121ae250d1c","0x20ca3add72ff47f6497449b7ee3adf1c6f2cdbedf8b5a49a56da543bf096a5fe","0x01716548fb56e8e74ac29a1a638626afc662ed7e187bafcf089344de82365b83","0xddde0b0de5219c91c717b03cab5216193dc0f26fb006aa8ba17020a71dbd997a","0xa9caf228b42660818160afb416ff04cb014f57c4d8ee75ea3452fb76c3d8c645","0xf72fe7c4860b9addb17aac4a00b8afc2f8085836173f10f31697c3d192df119b"]}