addrbookFor publishers
← The evidence ledger

Evidence row 3149851

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.A1-x-Tech/mcp-google-forms
Recorded
Previous row
#1499923
Body SHA-256
e1847e5e2845005b8a138c3623b69f6c9f33000960cf93103082cc2505c56de3
Leaf
0x3fa2072d5004830db3fe5d9e1ed644703e1b6746f7112018a82875c080fb3910

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/A1-x-Tech/mcp-google-forms"
    ]
  ],
  "name": "Google Forms MCP",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-11-04T22:24:28.104572Z",
        "status": "active",
        "statusChangedAt": "2026-11-04T22:24:28.104572Z",
        "updatedAt": "2026-11-04T22:24:28.104572Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "MCP server for the Google Forms API: create forms, manage questions, read responses and watches.",
      "name": "io.github.A1-x-Tech/mcp-google-forms",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Google OAuth2 client id (refresh-token flow).",
              "name": "GOOGLE_FORMS_CLIENT_ID"
            },
            {
              "description": "Google OAuth2 client secret (refresh-token flow). Treat it as a secret.",
              "isSecret": true,
              "name": "GOOGLE_FORMS_CLIENT_SECRET"
            },
            {
              "description": "Google OAuth2 refresh token, exchanged for access tokens automatically. Treat it as a secret.",
              "isSecret": true,
              "name": "GOOGLE_FORMS_REFRESH_TOKEN"
            },
            {
              "description": "Static OAuth2 access token (~1h lifetime) — alternative to the refresh-token trio, mostly for testing.",
              "isSecret": true,
              "name": "GOOGLE_FORMS_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_FORMS_OAUTH_PORT"
            },
            {
              "default": "https://forms.googleapis.com",
              "description": "API root override.",
              "name": "GOOGLE_FORMS_API_BASE"
            },
            {
              "default": "60000",
              "description": "Per-request timeout in milliseconds.",
              "name": "GOOGLE_FORMS_TIMEOUT_MS"
            },
            {
              "default": "3",
              "description": "Retries on transient errors (429 always; 5xx/network for reads).",
              "name": "GOOGLE_FORMS_MAX_RETRIES"
            }
          ],
          "identifier": "mcp-google-forms",
          "registryBaseUrl": "https://registry.npmjs.org",
          "registryType": "npm",
          "transport": {
            "type": "stdio"
          },
          "version": "1.3.2"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/A1-x-Tech/mcp-google-forms"
      },
      "title": "Google Forms MCP",
      "version": "1.3.2",
      "websiteUrl": "https://github.com/A1-x-Tech/mcp-google-forms#readme"
    }
  },
  "source": "mcp_registry",
  "summary": "MCP server for the Google Forms API: create forms, manage questions, read responses and watches."
}

What the leaf hashes

{"body":"e1847e5e2845005b8a138c3623b69f6c9f33000960cf93103082cc2505c56de3","id":3149851,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793834466790605,"prev":1499923,"subject":"mcp_registry:io.github.A1-x-Tech/mcp-google-forms","subject_kind":"source_record"}

Proof

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

  1. 0x3fa22fa3f6c92274f8e942b6f2d59c0cb156f68890d559c9a205d92b9ca836c7
  2. 0x2ba01ece4fea5dd73fcf6bea0ffc37f89fa96bbe14b0cd830d6ee12178553507
  3. 0x63b820483197d83a68e3c90fb95c2e5c90268008d2eb95c128ccee46385eb512
  4. 0x39a023d755c0fd0a5cb4ba06d0a1fe63f295627146c4d23b4d8bf89b6a9cc37e
  5. 0x10a9a84c46a0ac304c11a7229bfb3ed6a7652cff9ca9aa4c7b6c3b647ef119a0
  6. 0x0c4e274f33271dd12c97ab752ae8456574d63a014da1abab6e481db09eae7878
  7. 0xe7e4d8188f11b24ca13645940bff02ac7ad878c2b30e3afde23e6f720f2d937b
  8. 0x99533c624e658aa52eff890f908ce01cb8a1c5e6fe325cce860830a243dcb432
  9. 0x885ffc0802bad079d6d3b854c99f000b335cf60aa8d16d7848bda8ecead1a3a1
  10. 0x584d3728a6e50990692b90fcbc05c6610c6623fb75245c76bf698bc6ae18fc02
  11. 0xec07224030c75f9331b7e5f51839dc476c702adf2c8a1a0d24620db8ed46d492
  12. 0xb929cb97ae919408df98ed45d386359fecab4e5b8b097202c5e08f3fe23c7fc3
  13. 0xdec29d7e4054f7f2feeecfedca93a5f55f6fef0ef1d96f5adbaa18d4720c8c77
  14. 0x5d4b40cb7f9ad30e5c7ff0e3fa47a02233729423e5c48ec0640a59e60b744db9
  15. 0x0e7da910ed6633cc83110a62e4cfaf050cec994a935be0ff6262890125f0d2d8
  16. 0xc8267b28cec4406122f99bfc9732f9bb7e0af530b05633084110c1bdbc4a7cd5
  17. 0x84ade16fc3dc3a4a6aa46b581fe43195d593a51802c7d0a75e650bfd9c3ea4df
  18. 0x02f64ca19e7d9b09718851d2ce3abf641982580de99411626d894607cf386cd5
  19. 0x10067354f57fa0cd86b7423e67cc1c7d107d7c9c6823df5246c4fb63b60575e5
Day root
0xd4eed8c0ea3c90ec6f262b19fcc3b849f30cb82a0f84b8b89569e48af7d0c1ee
Chained
0x59305749c32724a02a23c368834d8a36ae9908da93a915e2962fffe01b4e591b
Published
On Arc Testnet, block 70772483: 0x813d56041c1efd407e56047129b597b154a1cb26458bb2768fd0a4630ac97345

How to check it · This row as JSON