addrbookFor publishers
← The evidence ledger

Evidence row 1487416

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.A1-x-Tech/mcp-google-forms
Recorded
Previous row
#25210
Body SHA-256
71004d2fd1e80d698bc1cb5af934d978481526c06cc5e7970cb0d51d3ef6353a
Leaf
0x4f5219d9587e7e1f910fb15236a6214e4b6a89349dee3bf60c2fe9b71fb03037

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-10-31T12:29:04.636342Z",
        "status": "active",
        "statusChangedAt": "2026-10-31T12:29:04.636342Z",
        "updatedAt": "2026-10-31T12:29:04.636342Z"
      }
    },
    "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.0"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/A1-x-Tech/mcp-google-forms"
      },
      "title": "Google Forms MCP",
      "version": "1.3.0",
      "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":"71004d2fd1e80d698bc1cb5af934d978481526c06cc5e7970cb0d51d3ef6353a","id":1487416,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793452567857893,"prev":25210,"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 (246033 rows).

  1. 0x4f5279c7c93ec03115811150b5073047eb32aee638ae08bfed110cba197c06e4
  2. 0x893c599556428dea49d085928ce1f950e471d2e51494ded73f650ec4844adacf
  3. 0x209e246b7ded073a979856dcb94cd52297992a4b947991fb68021824b8425f78
  4. 0xa1cae05857b9d0733bc1d589ca5c36a2e8039c88b71c190eac6ae05aa1b67503
  5. 0xae7d08d01dcec74052c60fa25b0dabd73c5f74844e30fe460769c70a7ea9cc30
  6. 0x30870a8ee0a5b2bb7b949fa7069e915a5f031ac4a91d14c10a5d7064c100f87b
  7. 0xf6fc1aaee5bbfbefeffcee59dcf9aaf7f08d9896703ad34f60c8ced8b5a898f1
  8. 0xf14ddc00051fdd4902e9fcb4556af3af2036ddc2407e842f6ebb62dcd2dd54c8
  9. 0x48dff8d5534d8a003a126f35144e6b7c141895ebae062143308d12053a8d675c
  10. 0x90b5005ee644d0b9cafe792d700d56a981d35b242e6b6adda4aa6d0f9c765566
  11. 0x3a88088fcd179b7a35347105d76d829dfe47cc77159a4a03fbb72bfea9c7bb27
  12. 0x8346ae9b76ea078d18c864debbba102f364e842abbb6c07088f229c84b60d909
  13. 0x3b31ad2e230b4adddfd3db6e960243f893810b5bd12d29f0e9a17684e7acb3b6
  14. 0xa61ca0b664c5ff2f545d3f92e3125f2b38c2b4e58fd9a71badfd8a85dda4c936
  15. 0x37f0ccf90cd9ba8759ef0154382593820880794592760020f095a3628e43fc3f
  16. 0xad4540f06e3fdfe46524d8592f8d854d4849e16217bc047eaf024f0abebe34b0
  17. 0xa00a931d72706fa2402bfc9b441a12eb7c6a61ff42a542916106e3637177f101
  18. 0x59f83f7228f07febe2780660e422e171b0359b8aa031ee3be07e991118130c15
Day root
0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab
Chained
0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980
Published
On Arc Testnet, block 70093156: 0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0

How to check it · This row as JSON