addrbookFor publishers
← The evidence ledger

Evidence row 30088

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.NormiHQ/normi
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
819f2406b3241a1d997a89367af359c01bf731c277798b2596f3f6f38c2d039c
Leaf
0x225b85cfc6a6625c981531b7c369cdcf0e59941803137452984efced5366218d

What was observed

{
  "endpoints": [
    [
      "mcp",
      "https://mcp.normi.fr/mcp"
    ],
    [
      "web",
      "https://normi.fr/docs/mcp"
    ]
  ],
  "name": "io.github.NormiHQ/normi",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-10-10T12:27:36.545574Z",
        "status": "active",
        "statusChangedAt": "2026-10-10T12:27:36.545574Z",
        "updatedAt": "2026-10-10T12:27:36.545574Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "French property market data — 17M+ DVF sales, 22M+ DPE energy ratings, 20M+ building records.",
      "name": "io.github.NormiHQ/normi",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Your Normi API key (get one free at https://normi.fr/dashboard/tokens)",
              "format": "string",
              "isRequired": true,
              "isSecret": true,
              "name": "NORMI_API_KEY"
            }
          ],
          "identifier": "@normi/mcp-dvf",
          "registryType": "npm",
          "transport": {
            "type": "stdio"
          },
          "version": "0.2.7"
        }
      ],
      "remotes": [
        {
          "headers": [
            {
              "description": "Optional. Omit it to sign in with OAuth (the server answers 401 with a WWW-Authenticate challenge). Or send your Normi API key as a Bearer token (free at https://normi.fr/dashboard/tokens)",
              "format": "string",
              "isSecret": true,
              "name": "Authorization",
              "value": "Bearer {normi_api_key}",
              "variables": {
                "normi_api_key": {
                  "description": "Your Normi API key — a 49-character token starting with normi_",
                  "format": "string",
                  "isSecret": true
                }
              }
            }
          ],
          "type": "streamable-http",
          "url": "https://mcp.normi.fr/mcp"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/NormiHQ/Normi"
      },
      "version": "0.2.7",
      "websiteUrl": "https://normi.fr/docs/mcp"
    }
  },
  "source": "mcp_registry",
  "summary": "French property market data — 17M+ DVF sales, 22M+ DPE energy ratings, 20M+ building records."
}

What the leaf hashes

{"body":"819f2406b3241a1d997a89367af359c01bf731c277798b2596f3f6f38c2d039c","id":30088,"kind":"listing","method":"baseline/1","observed_us":1793025362053605,"prev":null,"subject":"mcp_registry:io.github.NormiHQ/normi","subject_kind":"source_record"}

Proof

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

  1. 0x225bbd6eddf381c99c77c69ebc658ec2988976a1ed58ca3a8e644ee55f288ef3
  2. 0x89b35e46875478d58739f6d29c11cee92f607874597b262c498d256845c03876
  3. 0xc81a3c0bd905586e94b74a5ce083ea8e2584a1f0d48b78d88884813162f658bd
  4. 0xefa9af1e4499136d4683315206e4178a978faa0cc98ffc8bbfa3a6b2a8b93877
  5. 0x26d851d1460de9d21c4fd502caa2d4dc00be0795be9cc159509ecb669e80ce08
  6. 0x9b4e23948479a8095464cb76e9190c87228767a5a5eb02447e19e82c5c7ece53
  7. 0x0988163cb1b6ec44bcaad7a3e5e28712160b88ecee171bbc89569f82a4820c80
  8. 0xd10509c87d5045947d8ef54896b2ba1a33ef4d8c7f38d1e91da4aafbe4d456fd
  9. 0x17fd9be5d3acece21fa5c8c938982f0f0a90f5a69eddcae326055075bdbb52bf
  10. 0xd81c3cf131471d45d342b29a60570fa24072a4e8fc4286cf312da4677e4d486d
  11. 0xda2a271b0447c8ac22315d2ea7582e04968ddef46c7cbd29d7462934a9b3b37a
  12. 0xac5b705d705b0f1bc42cf2ad1a7f1f197ea96178ce0704432cbb5d556e8671a4
  13. 0x9d75d4d3ab6219edefa04be60b32fdd56be7a7672f370a5115f02f7b098ecd27
  14. 0x9dfd312f3d4937f7cb144cee3987e8516f222932b4ea286605236d73cfa1ed16
  15. 0xc3a6a3ae44ec0da1848b16d40c45d7aac97a67352eea8df18e0f26edabea8a2f
  16. 0x06d71bfa7d8b41d62c8836efc2c601e1cc3772d9453596b2ae4950887f3310ca
  17. 0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON