addrbookFor publishers
← The evidence ledger

Evidence row 2129943

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.good-sender/goodsender-mcp
Recorded
Previous row
#1019797
Body SHA-256
17c5b187f049b256b300c20f8cb961fa0206ce6561af89571baab7defff4e797
Leaf
0x20f3b4fa71dbb547439a00b1b2c9cf69df9ad4c0857bc0e77b788d8668efe048

What was observed

{
  "endpoints": [
    [
      "web",
      "https://goodsender.com/"
    ],
    [
      "mcp",
      "https://mcp.goodsender.com/"
    ]
  ],
  "name": "GoodSender",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-11-02T11:44:36.350504Z",
        "status": "active",
        "statusChangedAt": "2026-11-02T11:44:36.350504Z",
        "updatedAt": "2026-11-02T11:44:36.350504Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Publish blog posts, send newsletters and emails from Claude, Claude Code, Codex and ChatGPT.",
      "icons": [
        {
          "mimeType": "image/svg+xml",
          "sizes": [
            "any"
          ],
          "src": "https://goodsender.com/favicon.svg"
        },
        {
          "mimeType": "image/png",
          "sizes": [
            "512x512"
          ],
          "src": "https://goodsender.com/logo512.png"
        }
      ],
      "name": "io.github.good-sender/goodsender-mcp",
      "packages": [
        {
          "fileSha256": "5960b6a79152021bbbff1360bcf6c820c874db44d4b270366c2bbf99b8334d12",
          "identifier": "https://github.com/good-sender/mcp/releases/download/v0.9.1/goodsender.mcpb",
          "registryType": "mcpb",
          "transport": {
            "type": "stdio"
          },
          "version": "0.9.1"
        },
        {
          "environmentVariables": [
            {
              "description": "Your GoodSender API key (from the API Keys section of the GoodSender Console).",
              "isRequired": true,
              "isSecret": true,
              "name": "GOODSENDER_API_KEY"
            },
            {
              "description": "Set to false to opt out of anonymous usage/reliability telemetry.",
              "name": "GOODSENDER_TELEMETRY"
            },
            {
              "description": "Set to true so mutating tools run immediately without asking for action confirmation. Use for unattended agent loops (for example Claude Cowork on a schedule). Default false: publish and send wait for confirmation.",
              "name": "GOODSENDER_DISABLE_ACTION_GUARDS"
            }
          ],
          "identifier": "docker.io/goodsender/goodsender-mcp:0.9.1",
          "registryType": "oci",
          "transport": {
            "type": "streamable-http",
            "url": "http://localhost:9889/mcp"
          }
        }
      ],
      "remotes": [
        {
          "type": "streamable-http",
          "url": "https://mcp.goodsender.com/"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/good-sender/mcp"
      },
      "title": "GoodSender",
      "version": "0.9.1",
      "websiteUrl": "https://goodsender.com"
    }
  },
  "source": "mcp_registry",
  "summary": "Publish blog posts, send newsletters and emails from Claude, Claude Code, Codex and ChatGPT."
}

What the leaf hashes

{"body":"17c5b187f049b256b300c20f8cb961fa0206ce6561af89571baab7defff4e797","id":2129943,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793621907702854,"prev":1019797,"subject":"mcp_registry:io.github.good-sender/goodsender-mcp","subject_kind":"source_record"}

Proof

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

  1. 0x20f39b1fb49c9e50d37d3400b970985793b404efab70325872695be38e101391
  2. 0xc43c012c23d2448c2dd93399fec1c00b5f8f83e755ad56b6006899854fcb53cf
  3. 0xac6e139de8230939c93de65547bf841fa0bf8e59da5abfabefe5c2e667d53e2d
  4. 0x25d74bdc08f0bfcd084e3bbeb0844e82b05ba0820813b5c24a73543ef8d9bb56
  5. 0x144dc8e86e8f6d430e4b4e158ada1930890793f0dc7170b7b90c9872bd0ec4ee
  6. 0x07875514e8fb30a321076eab6174fcbc013c873c975eb11843e0a6f5f4f3f1ab
  7. 0xdb1a9826749b7ef1a939e58009e8b4de52accfe48fac88260566446d137de78e
  8. 0x62014ba81161f8c63f6a25f83bced2c429027ff651adadc9c41f59ad293222ca
  9. 0x70d11d419dfb18a513869e3b9f18d8750961067e4b0e80eccdee840a214af33b
  10. 0xcc2ad541bf6cdf175b8532a3a599ff58f2939022baef814a8bbe9840bda2a630
  11. 0xb638c84e21afcf4fb05edfb18ec1ec3e90dae343db8f36941c6635df85608248
  12. 0x55683a1d17eb7241c5fc7a5cf11e9abfdc0742d9a734c294f9a5cf8eb64903c1
  13. 0x1684e269a6d133e78b06586cfa473a0fd25d7ae52c10084dd8c0b8a491f1b827
  14. 0x401f99eb33c3aca7fb1835eab8a9dc02765c5e3996fc9560617f4be6c7c50067
  15. 0xcd21ec8d72a18a2d4513e4fd309abbb530810fb1dbeecd4b9b85acb4d6ff8f12
  16. 0xac40f077ca4be8c3432a67771725cc315e8101fc2649999cfad2c900a7640e27
  17. 0x53a741b69e9e51c4a288a74712aa6ac3fb28c8923cd3e6461d161c4f2d48b31a
  18. 0x050f2978b537f7afb21ee1551577cdf146d1c56f4df12d24315ae5e69366b0a4
  19. 0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e
Day root
0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
Chained
0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
Published
On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af

How to check it · This row as JSON