addrbookFor publishers
← The evidence ledger

Evidence row 40432

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.layervai/qurl-mcp
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
f7b16c04014886defb342e325f1e53fece8d66aca75bdd0ef56190f6a938ee90
Leaf
0xb838ae6a5f0b2cd61f0f96487ff91c73af04dea42f18ebd44cd59b969b500b72

What was observed

{
  "endpoints": [
    [
      "web",
      "https://layerv.ai/"
    ]
  ],
  "name": "qURL",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-10-25T21:52:29.407842Z",
        "status": "active",
        "statusChangedAt": "2026-10-25T21:52:29.407842Z",
        "updatedAt": "2026-10-25T21:52:29.407842Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Mint, resolve, audit, and rotate scope-limited expiring access links (qURLs) for AI agents.",
      "name": "io.github.layervai/qurl-mcp",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Optional. Without it, the tools run through the local qURL CLI (qurl), which needs no account. With it, the tools use the qURL API: a key with qurl:read, qurl:write, and/or qurl:resolve scopes from https://layerv.ai.",
              "format": "string",
              "isSecret": true,
              "name": "QURL_API_KEY"
            },
            {
              "default": "https://api.layerv.ai",
              "description": "qURL API base URL. Defaults to https://api.layerv.ai. Override only for testing against a non-production qURL backend.",
              "format": "string",
              "name": "QURL_API_URL"
            },
            {
              "description": "Connector base URL used by local-file, file-data, and text-to-PDF upload tools before minting a qURL.",
              "format": "string",
              "name": "QURL_CONNECTOR_URL"
            },
            {
              "description": "Optional path to a shared qURL MCP config file. Both stdio and HTTP modes can read SMTP, connector, and default API settings from this file.",
              "format": "string",
              "name": "QURL_MCP_CONFIG"
            },
            {
              "default": "10mb",
              "description": "Maximum decoded/local upload size. Accepts bytes or units such as 10mb; capped at 100mb.",
              "format": "string",
              "name": "MCP_MAX_UPLOAD_FILE_DATA_BYTES"
            },
            {
              "description": "SMTP hostname for optional qURL link delivery.",
              "format": "string",
              "name": "QURL_SMTP_HOST"
            },
            {
              "description": "SMTP port for optional qURL link delivery.",
              "format": "string",
              "name": "QURL_SMTP_PORT"
            },
            {
              "description": "Whether SMTP uses an implicit TLS connection (true/false).",
              "format": "string",
              "name": "QURL_SMTP_SECURE"
            },
            {
              "description": "SMTP authentication username.",
              "format": "string",
              "isSecret": true,
              "name": "QURL_SMTP_USERNAME"
            },
            {
              "description": "SMTP authentication password or app-specific credential.",
              "format": "string",
              "isSecret": true,
              "name": "QURL_SMTP_PASSWORD"
            },
            {
              "description": "Validated sender email address for qURL delivery.",
              "format": "string",
              "name": "QURL_SMTP_FROM_EMAIL"
            },
            {
              "description": "Optional sender display name for qURL delivery.",
              "format": "string",
              "name": "QURL_SMTP_FROM_NAME"
            },
            {
              "description": "Optional comma-separated exact recipient allowlist.",
              "format": "string",
              "name": "QURL_SMTP_ALLOWED_RECIPIENTS"
            },
            {
              "description": "Optional comma-separated recipient-domain allowlist.",
              "format": "string",
              "name": "QURL_SMTP_ALLOWED_RECIPIENT_DOMAINS"
            },
            {
              "default": "10",
              "description": "Maximum recipients in one delivery request (default 10).",
              "format": "string",
              "name": "QURL_SMTP_MAX_RECIPIENTS_PER_MESSAGE"
            },
            {
              "default": "100",
              "description": "Maximum attempted recipients per qURL key per fixed hourly window (default 100).",
              "format": "string",
              "name": "QURL_SMTP_MAX_RECIPIENTS_PER_HOUR"
            }
          ],
          "identifier": "@layervai/qurl-mcp",
          "registryType": "npm",
          "transport": {
            "type": "stdio"
          },
          "version": "0.8.3"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/layervai/qurl-mcp"
      },
      "title": "qURL",
      "version": "0.8.3",
      "websiteUrl": "https://layerv.ai"
    }
  },
  "source": "mcp_registry",
  "summary": "Mint, resolve, audit, and rotate scope-limited expiring access links (qURLs) for AI agents."
}

What the leaf hashes

{"body":"f7b16c04014886defb342e325f1e53fece8d66aca75bdd0ef56190f6a938ee90","id":40432,"kind":"listing","method":"baseline/1","observed_us":1793025397336639,"prev":null,"subject":"mcp_registry:io.github.layervai/qurl-mcp","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. 0xb8387fcf6fb81c8238f0cd8984048d9597c31412e5b094a37ae183329c321335
  2. 0x5c40dda3fd7667d346a088b5d4bbd5b2cf909ef779445763f3d17aff0ca2b4c3
  3. 0xc943aa50992f6acf3a47c491a6e62ca6da4c2d403d040ee6753dc7f0e3f1dda8
  4. 0x54c4dc2ba821b1d5532e36dd9a93b26b7906c1d206d4dbdcd547dd18ef227144
  5. 0x5b6ff1a745698200942d49c496dcd8584c2fb9bf2ada70d64bee452705d5f543
  6. 0xac60862496313da440cd5942e74366ab1dc2eb3308d1ace973d4d8f26bb9b3c0
  7. 0xe2a04dbb973ae633d40433c2c5daf0dd4a51d53a16dc583e6d8f539c8b4869c5
  8. 0x14c97314f754fd27e1da1df129853cbca0263d67fd452588aab956ab84c371db
  9. 0x09d6e24a08f8a4a1e005e5e1422d6f851fb62c9664eb29fa77589b2b49fdcf6f
  10. 0x305a3f47b3689c4a43df7d5c5f208a0395fe7436d6b4555db7943094d45d61a1
  11. 0x930671b38b693880d085315beda88a1c227f3639e9a0e0be6b0665bb173a65db
  12. 0xb6efd79902cac6d5a402ebecb8069402f00961ab80cd71b4d647fbc686d975ec
  13. 0x2f43fe2b2533a5f40c107c114e458e226102f5f8ae91f097e964345880e30928
  14. 0xf692ce2b0a640ec9f75aa960e5fb1c2c7091a04e24881798735752c19014e519
  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