addrbookFor publishers
← The evidence ledger

Evidence row 41232

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.markmnl/fmsg-mcp
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
c188e3685fc94db9d8450a85d81c855ce2d76afcd4148e7064077e0d3a50d3d4
Leaf
0x88d370323520d049e9af99c84d8bca3a9a7f0cd560137ecba7a9ef4b2d6e07b0

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/markmnl/fmsg-mcp"
    ]
  ],
  "name": "fmsg",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-10-18T09:48:42.165127Z",
        "status": "active",
        "statusChangedAt": "2026-10-18T09:48:42.165127Z",
        "updatedAt": "2026-10-18T09:48:42.165127Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Federated messaging with your fmsg hosting provider. Connect with OAuth or an API key.",
      "name": "io.github.markmnl/fmsg-mcp",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Base URL of your hosting provider's or self-hosted fmsg Web API",
              "isRequired": true,
              "name": "FMSG_API_URL"
            },
            {
              "description": "fmsg API key (fmsgk_...) for the address to send as",
              "isRequired": true,
              "isSecret": true,
              "name": "FMSG_API_KEY"
            },
            {
              "description": "Optional: lets short names resolve to @name@<domain>",
              "name": "FMSG_DEFAULT_DOMAIN"
            },
            {
              "description": "Optional local folder enabling streamed attachment saves over stdio",
              "name": "FMSG_MCP_DOWNLOAD_DIR"
            }
          ],
          "identifier": "@markmnl/fmsg-mcp",
          "registryBaseUrl": "https://registry.npmjs.org",
          "registryType": "npm",
          "transport": {
            "type": "stdio"
          },
          "version": "1.2.3"
        }
      ],
      "remotes": [
        {
          "type": "streamable-http",
          "url": "https://{oauth_mcp_endpoint}",
          "variables": {
            "oauth_mcp_endpoint": {
              "description": "OAuth MCP endpoint from your fmsg hosting provider: hostname and path without https://. Sign in through your AI host; no API key needed.",
              "format": "string",
              "isRequired": true,
              "placeholder": "mcp.example.com/mcp"
            }
          }
        },
        {
          "headers": [
            {
              "description": "Your fmsg API key for the selected MCP endpoint",
              "isRequired": true,
              "isSecret": true,
              "name": "Authorization",
              "value": "Bearer {api_key}",
              "variables": {
                "api_key": {
                  "description": "API key accepted by this endpoint's fmsg Web API, starting with fmsgk_",
                  "format": "string",
                  "isRequired": true,
                  "isSecret": true
                }
              }
            }
          ],
          "type": "streamable-http",
          "url": "https://{api_key_mcp_endpoint}",
          "variables": {
            "api_key_mcp_endpoint": {
              "description": "API-key MCP endpoint from your fmsg hosting provider: hostname and path without https://. Use an endpoint that accepts your key.",
              "format": "string",
              "isRequired": true,
              "placeholder": "mcp.example.com/mcp"
            }
          }
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/markmnl/fmsg-mcp"
      },
      "title": "fmsg",
      "version": "1.2.3",
      "websiteUrl": "https://github.com/markmnl/fmsg-mcp#readme"
    }
  },
  "source": "mcp_registry",
  "summary": "Federated messaging with your fmsg hosting provider. Connect with OAuth or an API key."
}

What the leaf hashes

{"body":"c188e3685fc94db9d8450a85d81c855ce2d76afcd4148e7064077e0d3a50d3d4","id":41232,"kind":"listing","method":"baseline/1","observed_us":1793025398596188,"prev":null,"subject":"mcp_registry:io.github.markmnl/fmsg-mcp","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. 0x88d3a3ebc4228a5c7f47a5f3040cc49c4b7267e9fde3c76d7b8063ee6901c6dd
  2. 0x7f24927f29044e67c9765e89189bba00f7432d1a882b873b405ac3751add560f
  3. 0x130389b529a42d0405961872521796b212e542d6cf8b6da8400487735c6ff6df
  4. 0xac729aa0696e52fe0623fd8a9390b851832b87a449b823a0ede32b6b8d89545f
  5. 0x18e334546e8472657d82d8d9f8304e35b5bbe028fa906147894f6d4f0c8b08cd
  6. 0x4148838fc44f15ebf1c8ac54e3711d980eeb42e682f92bbb86695e913f8c3f1a
  7. 0x204ca15d73b3ec74078e08a968b0ed4f118b57c9fec6382e8f84b2d47dde880f
  8. 0x1d551861edf2d5cdc5bbbee8c58e1db39b0f45084d8912c7f943025f99a03c50
  9. 0xf9ed18286f6517b47cbf859f0ffddb7da1c9fb2f6c0d34f4d7757f67a6848bfb
  10. 0x0bddd95edb3cc8a74f81c35b1f32507f6ed7a6ed6ae13fea115bbe410ecc9777
  11. 0x8c20bf7d4b3dd52508d554a379143f96b80b2bc0af227c0b1ce2e34d99c6430b
  12. 0x7bf2d426bb827b94d7608055662cf2e3f09791e1a4c2c6bd606c0a9e89b18e59
  13. 0x49d11be052a4c069b10250aaba214f566b3f2e5aaa7a98e82ccc6a71c0e801a0
  14. 0x78ac2b34737774659a6a411f4d10b8ba570d40699d9f277321c3a32ff03d1dc9
  15. 0x7eb603d37f0f22dae1ea013e391889906ffc0139ff26e25b044bee38eec8f9b2
  16. 0x2b6e23e3624a1b66e1d2298cfbce99a93ce6b13d24a58112a71802d79c5f7a76
  17. 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON