{"id":3426343,"recorded_at":"2026-11-05T16:21:43.356214Z","observed_at":"2026-11-05T16:21:43.356176Z","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-05T15:26:30.323667Z","status":"active","statusChangedAt":"2026-11-05T15:26:30.323667Z","updatedAt":"2026-11-05T15:26:30.323667Z"}},"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.0"}],"repository":{"source":"github","subfolder":"packages/mcp","url":"https://github.com/cbetz/last-ehr"},"title":"Last EHR — Medplum","version":"0.5.0","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":"48008b2c823b59a0fc0a582fd9cafcdc30064d06f009667fb8305570b9ab541e","prev_id":34597,"leaf":"0xf5d467aaf38d31abc87d1f1506f7ec83976be9d64def701561993f98c7d50bce","leaf_text":"{\"body\":\"48008b2c823b59a0fc0a582fd9cafcdc30064d06f009667fb8305570b9ab541e\",\"id\":3426343,\"kind\":\"listing\",\"method\":\"sync.mcp_registry/1\",\"observed_us\":1793895703356176,\"prev\":34597,\"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":["0xf5d473c56766171a5521ba11efa45cfc602a260977a854d000f53a656bbdb36d","0x72503d04d37132b7939e6c78290a0684ca52f4c156e08dfcf720082be869b489","0x792abaddb0930cc5788c3921a024f2c5b4def142998d3761bbb4be4ea40aed8e","0x92bae2a0f709867f66372873c4335e2fbe7af8b7ae089b88d30e7a7064a13969","0x4ada0973617ec318e791a745531c12944bab124542176f2cf41fa73ef7a4a561","0x80bca46fdab43138d268c4a82d1ff2df12633dcefc7f9638c4ab1425804aea93","0x75df36b6ef54a980ee88b6cde733b32fa204769f8b2ade3886235468ba659552","0x980847cf250ea636893f8541cc922bfce783144757625d9ba85337d618e50759","0x8b07dc084c149f721e6f221a9b41b91d27141e29074ac33fafc94f2880e0188d","0x8d951fb2982c1670eea031b3633bb1e6f08470bbb419e235add3de3ccfa8d3f3","0xd2da3531419199fddb316714a095a9a9f366ef9353ca4966d30d0e0dac254030","0x0419e2cb2aef4458a7724aacb649ee689f39f0bfa07a01d9cff15547868b90f0","0xe5385d8bdc4bf6facce96ba2cf3a25326fcb09c2806bde82a70cc4d31d0d7e75","0x1639b247a5d5a7c1c147128de55c8214f740b3c69e239097a9214d771bef36fa","0x0f89b13f204fe566641bee24955c02233efcbd2fce2017340ed06cf3c4c4503b","0x46e57eb471bdfedc5371f9f8dd93e03a0ef82a84f79b917a40533d34f61e890c","0x595efddb5b196a921c775c54d0aa541065f1802bfefb8bd003a60b16925c4b58"]}