← 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).
- 0xa2011778486ade28b89c63ba963e4556d72ad47dfc383971c9af59b370636c2b
- 0x4b84812ec144bb6668e6f9956bb5f544b5f62b1c4520afc15f24e7acd964fe14
- 0x4b6601268db1b043451a812f3aa39abf066a4293c7578923ad9c8191e7f97f16
- 0xf6edbe50ed3d58b68ea16b1be3cf2d3ddb7da8cc90c1b6b9f4be992c67554dc9
- 0x14a8875ccfcc0a4f9c649ccedea091ff832e56fa970363fd0d8aeace5dd5474d
- 0x019573f3b9dcbc085aec09c7c8cfc811313376ef5d2fe41663cc377b0de19f98
- 0xb1d7930563afe5eb47dd76fabb897d3b1e2c727af3bfe6625117a081502679e3
- 0x8adfa5fdc5337c3eab219eb50840e6cebfb892cea13f4fbd01b1dca0aa2f8a02
- 0x33c43c2dd42247d4d2b030b625088f223c6c20020a9de52dfb3252e2a60a0a2a
- 0xb3f8079d3f950c3f93c2829ed52d6d83dba720fdb1aef8897303edba370e9d0f
- 0x9ca444fcd24e94bee95de2e8d69f385e59ecdaff6c1b017632bff037809c381b
- 0x95576cc3dd18642c859f679cefa1cf80bfc6c690b065916c3585b14e8ef4b1b3
- 0xf8d3e004d9a208d2c5e82ab676956d80f8a3c78387c61dad15a3a8269efee0d8
- 0x6713795704ddd9c528d421fadd9cc96b0200a4ddbba84f88e718d4968dde888b
- 0x62a900133713919f4eed33d8336876b7a6d538233b8a4f3ed03b29aa44f5bad0
- 0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f
- 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae