addrbookFor publishers
← The evidence ledger

Evidence row 1499968

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.layervai/qurl-mcp
Recorded
Previous row
#40432
Body SHA-256
24eeb58fc875e5cd99e80c8766a46c7b7c5a267eabc7b0cb461b9e11ba823dce
Leaf
0xfa68cd5b1e70cbf45eb169433c3900561c623de09e782eee36b9983ebbb4bc23

What was observed

{
  "endpoints": [
    [
      "web",
      "https://layerv.ai/"
    ]
  ],
  "name": "qURL",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-10-31T16:32:24.547319Z",
        "status": "active",
        "statusChangedAt": "2026-10-31T16:32:24.547319Z",
        "updatedAt": "2026-10-31T16:32:24.547319Z"
      }
    },
    "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 comma-separated exact hostnames or IPs for uploaded-file links. No schemes, ports, or wildcards. Blank values retain any file-configured policy.",
              "format": "string",
              "name": "QURL_LINK_HOSTS"
            },
            {
              "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"
            },
            {
              "default": "on",
              "description": "Set to off to hide and disable outbound LayerV product feedback. Default on. Feedback is sent only by an explicit submit_feedback tool call.",
              "format": "string",
              "name": "QURL_MCP_FEEDBACK"
            }
          ],
          "identifier": "@layervai/qurl-mcp",
          "registryType": "npm",
          "transport": {
            "type": "stdio"
          },
          "version": "0.9.0"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/layervai/qurl-mcp"
      },
      "title": "qURL",
      "version": "0.9.0",
      "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":"24eeb58fc875e5cd99e80c8766a46c7b7c5a267eabc7b0cb461b9e11ba823dce","id":1499968,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793466973383807,"prev":40432,"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 (246033 rows).

  1. 0xfa688da73a43a0b76db58291e20cd9a0f844a377d3a4a96207440011a92425e7
  2. 0x7acd8ade7b9cef384fdcf8cf722533d23c66898ffe9728742eefc4b484d482ac
  3. 0xee6e1d68bceb89a3059d4f2affd4318bab3ebbbb8f451f2fb5d5a181cdc99ae2
  4. 0x98bb06044b2c1b9f6dbbdc6c909fe7f8a1eac3f1ba14848244dce510b6d5f407
  5. 0xc3985c4ed9596249c0d46cb890066f76df647dd31d992d891dca49f78ca72bf2
  6. 0x73e4ed03a7b9ac440cf54d1ea09f2775b0d9e05586d14621c297ba4dd58e2db0
  7. 0xab913835db1ef2cb157b93f94cfe7c506e445f6b06eadd1bf721b1a11252d53e
  8. 0x72e201ebe26b75ad27e4c796819056d77ac4ea52139e8aab21a40653a0a35505
  9. 0x666333f441df1817907c420d8463b906c007cf9d6c039ab38b814212b1dc36fb
  10. 0xb0f58ef89e241ec9d8a371ff79e90899f27a0cb5e69df1d0a7f7d2c341b4a0d1
  11. 0xa470bb25a307dc8633ca10b35449c5637b8c1fb77db0102361e7beeb044dace4
  12. 0x9cd09c1785461d3cfeb035d08e6094fb1b0bca07134e4585843a4a2ad5eaac5d
  13. 0x6c4324d3edf63f1c5818a600ecde74e6316cc337c4218b73b366a817b8e059b6
  14. 0xe2a6611300abdb7312e664a37fe7f1b470ff8ebe48733a7b7064c0db1f012dd5
  15. 0xe9e97d8cdaf19b6da06606a22b4eea548063df6bacb661abea4c37aa637b5c3b
  16. 0x4befbbd74452b2a3a89b7e1e809ba011f1be78aeb8153059503fda47c454d086
  17. 0xa1146af524f673843507e7427a575964580eef01bc0e0eae466a7920df017ab2
  18. 0x0504a25438f3c7932125463198ca74c5064f23f71a5c92763b3fc96a98cc8b57
Day root
0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab
Chained
0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980
Published
On Arc Testnet, block 70093156: 0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0

How to check it · This row as JSON