← 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).
- 0xb8387fcf6fb81c8238f0cd8984048d9597c31412e5b094a37ae183329c321335
- 0x5c40dda3fd7667d346a088b5d4bbd5b2cf909ef779445763f3d17aff0ca2b4c3
- 0xc943aa50992f6acf3a47c491a6e62ca6da4c2d403d040ee6753dc7f0e3f1dda8
- 0x54c4dc2ba821b1d5532e36dd9a93b26b7906c1d206d4dbdcd547dd18ef227144
- 0x5b6ff1a745698200942d49c496dcd8584c2fb9bf2ada70d64bee452705d5f543
- 0xac60862496313da440cd5942e74366ab1dc2eb3308d1ace973d4d8f26bb9b3c0
- 0xe2a04dbb973ae633d40433c2c5daf0dd4a51d53a16dc583e6d8f539c8b4869c5
- 0x14c97314f754fd27e1da1df129853cbca0263d67fd452588aab956ab84c371db
- 0x09d6e24a08f8a4a1e005e5e1422d6f851fb62c9664eb29fa77589b2b49fdcf6f
- 0x305a3f47b3689c4a43df7d5c5f208a0395fe7436d6b4555db7943094d45d61a1
- 0x930671b38b693880d085315beda88a1c227f3639e9a0e0be6b0665bb173a65db
- 0xb6efd79902cac6d5a402ebecb8069402f00961ab80cd71b4d647fbc686d975ec
- 0x2f43fe2b2533a5f40c107c114e458e226102f5f8ae91f097e964345880e30928
- 0xf692ce2b0a640ec9f75aa960e5fb1c2c7091a04e24881798735752c19014e519
- 0x9f68b5e15459cb62b8c0cd4c124fa61c74147b4a5755a200fbecd21a581635d1
- 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
- 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae