Skip to content
VS Code

qURL for VS Code

io.github.layervai/qurl-mcp

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

client:VS Code transport:stdio runtime:npm

Install qURL in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "qurl-api-key",
      "description": "QURL_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "qurl-api-url",
      "description": "QURL_API_URL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "qurl-connector-url",
      "description": "QURL_CONNECTOR_URL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "qurl-mcp-config",
      "description": "QURL_MCP_CONFIG",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-max-upload-file-data-bytes",
      "description": "MCP_MAX_UPLOAD_FILE_DATA_BYTES",
      "password": true
    },
    {
      "type": "promptString",
      "id": "qurl-smtp-host",
      "description": "QURL_SMTP_HOST",
      "password": true
    },
    {
      "type": "promptString",
      "id": "qurl-smtp-port",
      "description": "QURL_SMTP_PORT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "qurl-smtp-secure",
      "description": "QURL_SMTP_SECURE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "qurl-smtp-username",
      "description": "QURL_SMTP_USERNAME",
      "password": true
    },
    {
      "type": "promptString",
      "id": "qurl-smtp-password",
      "description": "QURL_SMTP_PASSWORD",
      "password": true
    },
    {
      "type": "promptString",
      "id": "qurl-smtp-from-email",
      "description": "QURL_SMTP_FROM_EMAIL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "qurl-smtp-from-name",
      "description": "QURL_SMTP_FROM_NAME",
      "password": true
    },
    {
      "type": "promptString",
      "id": "qurl-smtp-allowed-recipients",
      "description": "QURL_SMTP_ALLOWED_RECIPIENTS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "qurl-smtp-allowed-recipient-domains",
      "description": "QURL_SMTP_ALLOWED_RECIPIENT_DOMAINS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "qurl-smtp-max-recipients-per-message",
      "description": "QURL_SMTP_MAX_RECIPIENTS_PER_MESSAGE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "qurl-smtp-max-recipients-per-hour",
      "description": "QURL_SMTP_MAX_RECIPIENTS_PER_HOUR",
      "password": true
    }
  ],
  "servers": {
    "qurl-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@layervai/qurl-mcp"
      ],
      "env": {
        "QURL_API_KEY": "${input:qurl-api-key}",
        "QURL_API_URL": "${input:qurl-api-url}",
        "QURL_CONNECTOR_URL": "${input:qurl-connector-url}",
        "QURL_MCP_CONFIG": "${input:qurl-mcp-config}",
        "MCP_MAX_UPLOAD_FILE_DATA_BYTES": "${input:mcp-max-upload-file-data-bytes}",
        "QURL_SMTP_HOST": "${input:qurl-smtp-host}",
        "QURL_SMTP_PORT": "${input:qurl-smtp-port}",
        "QURL_SMTP_SECURE": "${input:qurl-smtp-secure}",
        "QURL_SMTP_USERNAME": "${input:qurl-smtp-username}",
        "QURL_SMTP_PASSWORD": "${input:qurl-smtp-password}",
        "QURL_SMTP_FROM_EMAIL": "${input:qurl-smtp-from-email}",
        "QURL_SMTP_FROM_NAME": "${input:qurl-smtp-from-name}",
        "QURL_SMTP_ALLOWED_RECIPIENTS": "${input:qurl-smtp-allowed-recipients}",
        "QURL_SMTP_ALLOWED_RECIPIENT_DOMAINS": "${input:qurl-smtp-allowed-recipient-domains}",
        "QURL_SMTP_MAX_RECIPIENTS_PER_MESSAGE": "${input:qurl-smtp-max-recipients-per-message}",
        "QURL_SMTP_MAX_RECIPIENTS_PER_HOUR": "${input:qurl-smtp-max-recipients-per-hour}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

qURL in other clients