addrbookFor publishers
← The evidence ledger

Evidence row 3426343

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.cbetz/last-ehr
Recorded
Previous row
#34597
Body SHA-256
48008b2c823b59a0fc0a582fd9cafcdc30064d06f009667fb8305570b9ab541e
Leaf
0xf5d467aaf38d31abc87d1f1506f7ec83976be9d64def701561993f98c7d50bce

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-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."
}

What the leaf hashes

{"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"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (322504 rows).

  1. 0xf5d473c56766171a5521ba11efa45cfc602a260977a854d000f53a656bbdb36d
  2. 0x72503d04d37132b7939e6c78290a0684ca52f4c156e08dfcf720082be869b489
  3. 0x792abaddb0930cc5788c3921a024f2c5b4def142998d3761bbb4be4ea40aed8e
  4. 0x92bae2a0f709867f66372873c4335e2fbe7af8b7ae089b88d30e7a7064a13969
  5. 0x4ada0973617ec318e791a745531c12944bab124542176f2cf41fa73ef7a4a561
  6. 0x80bca46fdab43138d268c4a82d1ff2df12633dcefc7f9638c4ab1425804aea93
  7. 0x75df36b6ef54a980ee88b6cde733b32fa204769f8b2ade3886235468ba659552
  8. 0x980847cf250ea636893f8541cc922bfce783144757625d9ba85337d618e50759
  9. 0x8b07dc084c149f721e6f221a9b41b91d27141e29074ac33fafc94f2880e0188d
  10. 0x8d951fb2982c1670eea031b3633bb1e6f08470bbb419e235add3de3ccfa8d3f3
  11. 0xd2da3531419199fddb316714a095a9a9f366ef9353ca4966d30d0e0dac254030
  12. 0x0419e2cb2aef4458a7724aacb649ee689f39f0bfa07a01d9cff15547868b90f0
  13. 0xe5385d8bdc4bf6facce96ba2cf3a25326fcb09c2806bde82a70cc4d31d0d7e75
  14. 0x1639b247a5d5a7c1c147128de55c8214f740b3c69e239097a9214d771bef36fa
  15. 0x0f89b13f204fe566641bee24955c02233efcbd2fce2017340ed06cf3c4c4503b
  16. 0x46e57eb471bdfedc5371f9f8dd93e03a0ef82a84f79b917a40533d34f61e890c
  17. 0x595efddb5b196a921c775c54d0aa541065f1802bfefb8bd003a60b16925c4b58
Day root
0x9f0215efb0252701dc86d5600ce95f276cccc716759bf112525ae863f698d128
Chained
0xc54ddff800630c6cd9656f99e7d6a61adce99bf1cea37121600598b0a9a720d2
Published
On Arc Testnet, block 70942081: 0x88f612ad94ca63af4e4e9faab9f34b665b41f03828afac1571ad013cc62bba94

How to check it · This row as JSON