addrbookFor publishers
← The evidence ledger

Evidence row 41212

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.mario-andreschak/mcp-whatsapp-web
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
e9f74cc0c950b34f27a75d74ebffed469dc4b206cb79319c192e08462f14ef72
Leaf
0xa20101ac3fe970d8d6df4d0d27fdb6d4adf7b1faf923a585122927404c416800

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/mario-andreschak/mcp-whatsapp-web"
    ]
  ],
  "name": "WhatsApp Web MCP Server",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-09-05T19:08:01.099784Z",
        "status": "active",
        "statusChangedAt": "2026-09-05T19:08:01.099784Z",
        "updatedAt": "2026-09-05T19:08:01.099784Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "WhatsApp MCP via web.js or browserless Baileys: messages, media, chats, groups and contacts",
      "icons": [
        {
          "mimeType": "image/png",
          "sizes": [
            "391x389"
          ],
          "src": "https://raw.githubusercontent.com/mario-andreschak/mcp-whatsapp-web/main/public/logo.png"
        }
      ],
      "name": "io.github.mario-andreschak/mcp-whatsapp-web",
      "packages": [
        {
          "environmentVariables": [
            {
              "choices": [
                "webjs",
                "baileys"
              ],
              "default": "webjs",
              "description": "WhatsApp backend: webjs uses a persistent browser profile; baileys connects without a browser and requires separate pairing",
              "format": "string",
              "name": "WHATSAPP_BACKEND"
            },
            {
              "description": "Baileys credentials and synchronized history directory (default: <working directory>/baileys-sessions). Use a private absolute path, owned by one server process.",
              "format": "filepath",
              "name": "BAILEYS_SESSION_DIR"
            },
            {
              "choices": [
                "trace",
                "debug",
                "info",
                "warn",
                "error",
                "fatal"
              ],
              "default": "info",
              "description": "Log level for the log file (logs/mcp-whatsapp.log)",
              "format": "string",
              "name": "LOG_LEVEL"
            },
            {
              "choices": [
                "trace",
                "debug",
                "info",
                "warn",
                "error",
                "fatal"
              ],
              "default": "warn",
              "description": "Log level for stderr (visible in most MCP client logs)",
              "format": "string",
              "name": "LOG_STDERR_LEVEL"
            },
            {
              "description": "webjs only: set to false to show the browser window instead of running headless",
              "format": "boolean",
              "name": "WHATSAPP_HEADLESS"
            },
            {
              "default": "false",
              "description": "webjs only: explicitly disable the browser sandbox for containers that require it. The sandbox is enabled by default.",
              "format": "boolean",
              "name": "WHATSAPP_NO_SANDBOX"
            },
            {
              "description": "webjs only: browser executable. Chrome and Edge are auto-detected; set this to use a specific browser. Chrome/Edge is required for sending videos and GIFs.",
              "format": "filepath",
              "name": "BROWSER_EXECUTABLE_PATH"
            },
            {
              "description": "webjs only: persistent browser profile directory (default: <working directory>/whatsapp-sessions)",
              "format": "filepath",
              "name": "WHATSAPP_SESSION_DIR"
            },
            {
              "description": "Phone number pairing: when set (international, symbol-free format, e.g. 4915112345678), an 8-character pairing code is logged to stderr on startup instead of relying on the QR code",
              "format": "string",
              "name": "WHATSAPP_PAIRING_PHONE_NUMBER"
            },
            {
              "description": "Path to an ffmpeg binary (only needed to override the ffmpeg installed automatically via the ffmpeg-static npm package)",
              "format": "filepath",
              "name": "FFMPEG_PATH"
            },
            {
              "description": "webjs only: pin the WhatsApp Web version if a WhatsApp-side update breaks the client.",
              "format": "string",
              "name": "WA_WEB_VERSION"
            },
            {
              "default": "60000",
              "description": "webjs only: connection health check interval in milliseconds (<=0 disables)",
              "format": "number",
              "name": "HEALTH_CHECK_INTERVAL_MS"
            },
            {
              "default": "45000",
              "description": "How long tool calls wait for the WhatsApp client to become ready before erroring",
              "format": "number",
              "name": "TOOL_READY_TIMEOUT_MS"
            },
            {
              "description": "When set, additionally exposes the MCP endpoint at http://127.0.0.1:<port>/mcp (Streamable HTTP) from the same process",
              "format": "number",
              "name": "MCP_HTTP_PORT"
            },
            {
              "default": "127.0.0.1",
              "description": "Bind address for the HTTP endpoint (do not expose publicly; the endpoint controls your personal WhatsApp account)",
              "format": "string",
              "name": "MCP_HTTP_HOST"
            },
            {
              "description": "Enable OAuth for the HTTP endpoint: /mcp requires a bearer token and clients authenticate via a browser page showing the WhatsApp QR code / pairing form",
              "format": "boolean",
              "name": "MCP_OAUTH"
            }
          ],
          "identifier": "mcp-whatsapp-web",
          "registryBaseUrl": "https://registry.npmjs.org",
          "registryType": "npm",
          "runtimeHint": "npx",
          "transport": {
            "type": "stdio"
          },
          "version": "1.2.0"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/mario-andreschak/mcp-whatsapp-web"
      },
      "title": "WhatsApp Web MCP Server",
      "version": "1.2.0",
      "websiteUrl": "https://github.com/mario-andreschak/mcp-whatsapp-web"
    }
  },
  "source": "mcp_registry",
  "summary": "WhatsApp MCP via web.js or browserless Baileys: messages, media, chats, groups and contacts"
}

What the leaf hashes

{"body":"e9f74cc0c950b34f27a75d74ebffed469dc4b206cb79319c192e08462f14ef72","id":41212,"kind":"listing","method":"baseline/1","observed_us":1793025398570808,"prev":null,"subject":"mcp_registry:io.github.mario-andreschak/mcp-whatsapp-web","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. 0xa2011778486ade28b89c63ba963e4556d72ad47dfc383971c9af59b370636c2b
  2. 0x4b84812ec144bb6668e6f9956bb5f544b5f62b1c4520afc15f24e7acd964fe14
  3. 0x4b6601268db1b043451a812f3aa39abf066a4293c7578923ad9c8191e7f97f16
  4. 0xf6edbe50ed3d58b68ea16b1be3cf2d3ddb7da8cc90c1b6b9f4be992c67554dc9
  5. 0x14a8875ccfcc0a4f9c649ccedea091ff832e56fa970363fd0d8aeace5dd5474d
  6. 0x019573f3b9dcbc085aec09c7c8cfc811313376ef5d2fe41663cc377b0de19f98
  7. 0xb1d7930563afe5eb47dd76fabb897d3b1e2c727af3bfe6625117a081502679e3
  8. 0x8adfa5fdc5337c3eab219eb50840e6cebfb892cea13f4fbd01b1dca0aa2f8a02
  9. 0x33c43c2dd42247d4d2b030b625088f223c6c20020a9de52dfb3252e2a60a0a2a
  10. 0xb3f8079d3f950c3f93c2829ed52d6d83dba720fdb1aef8897303edba370e9d0f
  11. 0x9ca444fcd24e94bee95de2e8d69f385e59ecdaff6c1b017632bff037809c381b
  12. 0x95576cc3dd18642c859f679cefa1cf80bfc6c690b065916c3585b14e8ef4b1b3
  13. 0xf8d3e004d9a208d2c5e82ab676956d80f8a3c78387c61dad15a3a8269efee0d8
  14. 0x6713795704ddd9c528d421fadd9cc96b0200a4ddbba84f88e718d4968dde888b
  15. 0x62a900133713919f4eed33d8336876b7a6d538233b8a4f3ed03b29aa44f5bad0
  16. 0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f
  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