NestDaddy

qURL

io.github.layervai/qurl-mcp ยท v0.10.0

Mint, resolve, audit, and rotate scope-limited expiring access links (qURLs) for AI agents.

Connect Runs on your machine

Terminal
claude mcp add qurl-mcp -e QURL_API_KEY=<QURL_API_KEY> -e QURL_API_URL=<QURL_API_URL> -e QURL_CONNECTOR_URL=<QURL_CONNECTOR_URL> -e QURL_LINK_HOSTS=<QURL_LINK_HOSTS> -e QURL_MCP_CONFIG=<QURL_MCP_CONFIG> -e MCP_MAX_UPLOAD_FILE_DATA_BYTES=<MCP_MAX_UPLOAD_FILE_DATA_BYTES> -e QURL_SMTP_HOST=<QURL_SMTP_HOST> -e QURL_SMTP_PORT=<QURL_SMTP_PORT> -e QURL_SMTP_SECURE=<QURL_SMTP_SECURE> -e QURL_SMTP_USERNAME=<QURL_SMTP_USERNAME> -e QURL_SMTP_PASSWORD=<QURL_SMTP_PASSWORD> -e QURL_SMTP_FROM_EMAIL=<QURL_SMTP_FROM_EMAIL> -e QURL_SMTP_FROM_NAME=<QURL_SMTP_FROM_NAME> -e QURL_SMTP_ALLOWED_RECIPIENTS=<QURL_SMTP_ALLOWED_RECIPIENTS> -e QURL_SMTP_ALLOWED_RECIPIENT_DOMAINS=<QURL_SMTP_ALLOWED_RECIPIENT_DOMAINS> -e QURL_SMTP_MAX_RECIPIENTS_PER_MESSAGE=<QURL_SMTP_MAX_RECIPIENTS_PER_MESSAGE> -e QURL_SMTP_MAX_RECIPIENTS_PER_HOUR=<QURL_SMTP_MAX_RECIPIENTS_PER_HOUR> -e QURL_MCP_FEEDBACK=<QURL_MCP_FEEDBACK> -- npx -y @layervai/[email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "qurl-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@layervai/[email protected]"
      ],
      "env": {
        "QURL_API_KEY": "<QURL_API_KEY>",
        "QURL_API_URL": "<QURL_API_URL>",
        "QURL_CONNECTOR_URL": "<QURL_CONNECTOR_URL>",
        "QURL_LINK_HOSTS": "<QURL_LINK_HOSTS>",
        "QURL_MCP_CONFIG": "<QURL_MCP_CONFIG>",
        "MCP_MAX_UPLOAD_FILE_DATA_BYTES": "<MCP_MAX_UPLOAD_FILE_DATA_BYTES>",
        "QURL_SMTP_HOST": "<QURL_SMTP_HOST>",
        "QURL_SMTP_PORT": "<QURL_SMTP_PORT>",
        "QURL_SMTP_SECURE": "<QURL_SMTP_SECURE>",
        "QURL_SMTP_USERNAME": "<QURL_SMTP_USERNAME>",
        "QURL_SMTP_PASSWORD": "<QURL_SMTP_PASSWORD>",
        "QURL_SMTP_FROM_EMAIL": "<QURL_SMTP_FROM_EMAIL>",
        "QURL_SMTP_FROM_NAME": "<QURL_SMTP_FROM_NAME>",
        "QURL_SMTP_ALLOWED_RECIPIENTS": "<QURL_SMTP_ALLOWED_RECIPIENTS>",
        "QURL_SMTP_ALLOWED_RECIPIENT_DOMAINS": "<QURL_SMTP_ALLOWED_RECIPIENT_DOMAINS>",
        "QURL_SMTP_MAX_RECIPIENTS_PER_MESSAGE": "<QURL_SMTP_MAX_RECIPIENTS_PER_MESSAGE>",
        "QURL_SMTP_MAX_RECIPIENTS_PER_HOUR": "<QURL_SMTP_MAX_RECIPIENTS_PER_HOUR>",
        "QURL_MCP_FEEDBACK": "<QURL_MCP_FEEDBACK>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "qurl-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@layervai/[email protected]"
      ],
      "env": {
        "QURL_API_KEY": "<QURL_API_KEY>",
        "QURL_API_URL": "<QURL_API_URL>",
        "QURL_CONNECTOR_URL": "<QURL_CONNECTOR_URL>",
        "QURL_LINK_HOSTS": "<QURL_LINK_HOSTS>",
        "QURL_MCP_CONFIG": "<QURL_MCP_CONFIG>",
        "MCP_MAX_UPLOAD_FILE_DATA_BYTES": "<MCP_MAX_UPLOAD_FILE_DATA_BYTES>",
        "QURL_SMTP_HOST": "<QURL_SMTP_HOST>",
        "QURL_SMTP_PORT": "<QURL_SMTP_PORT>",
        "QURL_SMTP_SECURE": "<QURL_SMTP_SECURE>",
        "QURL_SMTP_USERNAME": "<QURL_SMTP_USERNAME>",
        "QURL_SMTP_PASSWORD": "<QURL_SMTP_PASSWORD>",
        "QURL_SMTP_FROM_EMAIL": "<QURL_SMTP_FROM_EMAIL>",
        "QURL_SMTP_FROM_NAME": "<QURL_SMTP_FROM_NAME>",
        "QURL_SMTP_ALLOWED_RECIPIENTS": "<QURL_SMTP_ALLOWED_RECIPIENTS>",
        "QURL_SMTP_ALLOWED_RECIPIENT_DOMAINS": "<QURL_SMTP_ALLOWED_RECIPIENT_DOMAINS>",
        "QURL_SMTP_MAX_RECIPIENTS_PER_MESSAGE": "<QURL_SMTP_MAX_RECIPIENTS_PER_MESSAGE>",
        "QURL_SMTP_MAX_RECIPIENTS_PER_HOUR": "<QURL_SMTP_MAX_RECIPIENTS_PER_HOUR>",
        "QURL_MCP_FEEDBACK": "<QURL_MCP_FEEDBACK>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "qurl-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@layervai/[email protected]"
      ],
      "env": {
        "QURL_API_KEY": "<QURL_API_KEY>",
        "QURL_API_URL": "<QURL_API_URL>",
        "QURL_CONNECTOR_URL": "<QURL_CONNECTOR_URL>",
        "QURL_LINK_HOSTS": "<QURL_LINK_HOSTS>",
        "QURL_MCP_CONFIG": "<QURL_MCP_CONFIG>",
        "MCP_MAX_UPLOAD_FILE_DATA_BYTES": "<MCP_MAX_UPLOAD_FILE_DATA_BYTES>",
        "QURL_SMTP_HOST": "<QURL_SMTP_HOST>",
        "QURL_SMTP_PORT": "<QURL_SMTP_PORT>",
        "QURL_SMTP_SECURE": "<QURL_SMTP_SECURE>",
        "QURL_SMTP_USERNAME": "<QURL_SMTP_USERNAME>",
        "QURL_SMTP_PASSWORD": "<QURL_SMTP_PASSWORD>",
        "QURL_SMTP_FROM_EMAIL": "<QURL_SMTP_FROM_EMAIL>",
        "QURL_SMTP_FROM_NAME": "<QURL_SMTP_FROM_NAME>",
        "QURL_SMTP_ALLOWED_RECIPIENTS": "<QURL_SMTP_ALLOWED_RECIPIENTS>",
        "QURL_SMTP_ALLOWED_RECIPIENT_DOMAINS": "<QURL_SMTP_ALLOWED_RECIPIENT_DOMAINS>",
        "QURL_SMTP_MAX_RECIPIENTS_PER_MESSAGE": "<QURL_SMTP_MAX_RECIPIENTS_PER_MESSAGE>",
        "QURL_SMTP_MAX_RECIPIENTS_PER_HOUR": "<QURL_SMTP_MAX_RECIPIENTS_PER_HOUR>",
        "QURL_MCP_FEEDBACK": "<QURL_MCP_FEEDBACK>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
QURL_API_KEY
Optional, secret
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.
QURL_API_URL
Optional
qURL API base URL. Defaults to https://api.layerv.ai. Override only for testing against a non-production qURL backend.
QURL_CONNECTOR_URL
Optional
Connector base URL used by local-file, file-data, and text-to-PDF upload tools before minting a qURL.
QURL_LINK_HOSTS
Optional
Optional comma-separated exact hostnames or IPs for uploaded-file links. No schemes, ports, or wildcards. Blank values retain any file-configured policy.
QURL_MCP_CONFIG
Optional
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.
MCP_MAX_UPLOAD_FILE_DATA_BYTES
Optional
Maximum decoded/local upload size. Accepts bytes or units such as 10mb; capped at 100mb.
QURL_SMTP_HOST
Optional
SMTP hostname for optional qURL link delivery.
QURL_SMTP_PORT
Optional
SMTP port for optional qURL link delivery.
QURL_SMTP_SECURE
Optional
Whether SMTP uses an implicit TLS connection (true/false).
QURL_SMTP_USERNAME
Optional, secret
SMTP authentication username.
QURL_SMTP_PASSWORD
Optional, secret
SMTP authentication password or app-specific credential.
QURL_SMTP_FROM_EMAIL
Optional
Validated sender email address for qURL delivery.
QURL_SMTP_FROM_NAME
Optional
Optional sender display name for qURL delivery.
QURL_SMTP_ALLOWED_RECIPIENTS
Optional
Optional comma-separated exact recipient allowlist.
QURL_SMTP_ALLOWED_RECIPIENT_DOMAINS
Optional
Optional comma-separated recipient-domain allowlist.
QURL_SMTP_MAX_RECIPIENTS_PER_MESSAGE
Optional
Maximum recipients in one delivery request (default 10).
QURL_SMTP_MAX_RECIPIENTS_PER_HOUR
Optional
Maximum attempted recipients per qURL key per fixed hourly window (default 100).
QURL_MCP_FEEDBACK
Optional
Set to off to hide and disable outbound LayerV product feedback. Default on. Feedback is sent only by an explicit submit_feedback tool call.

Details

Package@layervai/[email protected] (NPM, stdio)
First published10 Nov 2026
Last updated10 Nov 2026
Registry nameio.github.layervai/qurl-mcp

More ai and media servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.