addrbookFor publishers
← The evidence ledger

Evidence row 25214

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.A1-x-Tech/mcp-google-sheets
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
93502681e4590a6dcfbaffa5ac34b11219c2ac5b668e1cf20dafd6ad4fbc3064
Leaf
0xc294cf8fc5ea7724c342bf6cd075cc0d93cbb523409949fac42f025b0271d10d

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/A1-x-Tech/mcp-google-sheets"
    ]
  ],
  "name": "Google Sheets MCP",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-09-23T22:46:44.218362Z",
        "status": "active",
        "statusChangedAt": "2026-09-23T22:46:44.218362Z",
        "updatedAt": "2026-09-23T22:46:44.218362Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "MCP server for the Google Sheets API: read and write ranges, sheets, formatting, charts, sharing.",
      "name": "io.github.A1-x-Tech/mcp-google-sheets",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Google OAuth2 client id (refresh-token flow).",
              "name": "GOOGLE_SHEETS_CLIENT_ID"
            },
            {
              "description": "Google OAuth2 client secret (refresh-token flow). Treat it as a secret.",
              "isSecret": true,
              "name": "GOOGLE_SHEETS_CLIENT_SECRET"
            },
            {
              "description": "Google OAuth2 refresh token, exchanged for access tokens automatically. Treat it as a secret.",
              "isSecret": true,
              "name": "GOOGLE_SHEETS_REFRESH_TOKEN"
            },
            {
              "description": "Static OAuth2 access token (~1h lifetime) — alternative to the refresh-token trio, mostly for testing.",
              "isSecret": true,
              "name": "GOOGLE_SHEETS_ACCESS_TOKEN"
            },
            {
              "description": "Fixed port for the loopback listener of the in-chat login (127.0.0.1 + PKCE). Set it when the client runs over SSH port forwarding; otherwise a free port is picked per login.",
              "name": "GOOGLE_SHEETS_OAUTH_PORT"
            },
            {
              "default": "https://sheets.googleapis.com",
              "description": "Sheets API root override.",
              "name": "GOOGLE_SHEETS_API_BASE"
            },
            {
              "default": "60000",
              "description": "Per-request timeout in milliseconds.",
              "name": "GOOGLE_SHEETS_TIMEOUT_MS"
            },
            {
              "default": "3",
              "description": "Retries on transient errors (429 always; 5xx/network for reads).",
              "name": "GOOGLE_SHEETS_MAX_RETRIES"
            }
          ],
          "identifier": "@a1-x-tech/mcp-google-sheets",
          "registryBaseUrl": "https://registry.npmjs.org",
          "registryType": "npm",
          "transport": {
            "type": "stdio"
          },
          "version": "1.0.0"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/A1-x-Tech/mcp-google-sheets"
      },
      "title": "Google Sheets MCP",
      "version": "1.0.0",
      "websiteUrl": "https://github.com/A1-x-Tech/mcp-google-sheets#readme"
    }
  },
  "source": "mcp_registry",
  "summary": "MCP server for the Google Sheets API: read and write ranges, sheets, formatting, charts, sharing."
}

What the leaf hashes

{"body":"93502681e4590a6dcfbaffa5ac34b11219c2ac5b668e1cf20dafd6ad4fbc3064","id":25214,"kind":"listing","method":"baseline/1","observed_us":1793025354335634,"prev":null,"subject":"mcp_registry:io.github.A1-x-Tech/mcp-google-sheets","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. 0xc2946912ff50718bc12e9fcd573ccf6e0901ff0a35cf80b8e45597736c1c025e
  2. 0x8f04800928121f216fa6b7c6eab49425729e70f1781a0104a2a87afa295c042e
  3. 0x2df94d2879029a099aec421b9dab0ec434d4d674a18f4724b81c4952411c05ea
  4. 0x50ccc1b5198d5677dcb14c9c3d03895f07055901aab6afd4ba849dc737036dd8
  5. 0x0ffafc0b65442b423eeec3a1f87de51bd3f0e42a774e914c1bb587bf4648dbe4
  6. 0xb330382610261e9405434a0aa12513cacc5713391d99e1191397e1321d15f586
  7. 0x4b954785e58d9e9ed79ce415fcefde387073fd2f26cceabf659552d604fe4536
  8. 0x4f68fc13ddcc3348e854ae4253a8ee70fa83fe4f7ff34f1d927e425dfaa26ab3
  9. 0x05bcac63f912136a2b7ce542dec6608c1c17db7df9bc946287304090e08e0e05
  10. 0x02fc737af148fc67bfb1f5c370619af324b0ab69f180682480acc58bb0dea50c
  11. 0x7f4ae229fdca48d3ef8476aa02e4d171abb9d529ffe12fe147f9a22b16589b6a
  12. 0x63002f2569d43725bbf2d04d90ec9e6cf925c96b6dda5e7e220ecfbdd9c2444d
  13. 0x641fba1f23ec69d96721e34ace1926954d835b9614cb5eae215a069c056399b8
  14. 0xdbe2e8dd65ea1248b2936612538f18268abd5cf27ebdab3737694571ad496004
  15. 0x9f68b5e15459cb62b8c0cd4c124fa61c74147b4a5755a200fbecd21a581635d1
  16. 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON