layervai avatar

qURL

layervai/qurl-mcp

Connects Claude or any MCP client to LayerV's qURL API for generating scope-limited, expiring access links. You get nine tools covering the full lifecycle: create_qurl and batch_create_qurls for minting new links, resolve_qurl to exchange tokens for target URLs, list_qurls and get_qurl for inventory, plus delete, extend, and update for lifecycle management. Requires a LayerV API key with qurl:read, qurl:write, or qurl:resolve scopes depending on which operations you need. Reach for this when you're building agent workflows that need to grant temporary, auditable access to protected resources without embedding long-lived credentials or manually rotating tokens.

GitHub stars
4
tools
24
auth
Secret needed
transport
STDIO
env vars
18
last updated
Nov 10, 2026

Tools

24 tools

Public tool metadata for what this MCP can expose to an agent.

publish_cridPublish a local app or URL privately and return its CRID

Publish a local app or URL privately and return its CRID

No parameter schema in public metadata yet.

share_by_cridMake a short-lived access link for a CRID this machine published

Make a short-lived access link for a CRID this machine published

No parameter schema in public metadata yet.

list_cridsList this machine's published resources (read-only)

List this machine's published resources (read-only)

No parameter schema in public metadata yet.

manage_crid_requestsList, approve by code, or deny access requests; list or remove approved people; turn requests on or off

List, approve by code, or deny access requests; list or remove approved people; turn requests on or off

No parameter schema in public metadata yet.

manage_crid_accessPrivate access policy, invitations, and consumer grants

Private access policy, invitations, and consumer grants

No parameter schema in public metadata yet.

set_crid_sharingStop, start, or restart sharing a local app

Stop, start, or restart sharing a local app

No parameter schema in public metadata yet.

delete_cridDelete a resource permanently

Delete a resource permanently

No parameter schema in public metadata yet.

create_qurlCreate a new qURL

Create a new qURL

No parameter schema in public metadata yet.

resolve_qurlResolve an access token into a protected target URL

Resolve an access token into a protected target URL

No parameter schema in public metadata yet.

list_qurlsList qURL resources

List qURL resources

No parameter schema in public metadata yet.

get_qurlFetch details for a single qURL

Fetch details for a single qURL

No parameter schema in public metadata yet.

delete_qurlDelete a qURL

Delete a qURL

No parameter schema in public metadata yet.

extend_qurlExtend a link's expiration (needs `qurl:read` too)

Extend a link's expiration (needs `qurl:read` too)

No parameter schema in public metadata yet.

update_qurlUpdate qURL metadata or expiration

Update qURL metadata or expiration

No parameter schema in public metadata yet.

mint_linkMint a new access link for an existing resource

Mint a new access link for an existing resource

No parameter schema in public metadata yet.

batch_create_qurlsCreate multiple qURLs in one request

Create multiple qURLs in one request

No parameter schema in public metadata yet.

revoke_qurl_tokenRevoke a specific token

Revoke a specific token

No parameter schema in public metadata yet.

update_qurl_tokenUpdate a specific token

Update a specific token

No parameter schema in public metadata yet.

list_qurl_sessionsList active access sessions

List active access sessions

No parameter schema in public metadata yet.

terminate_qurl_sessionsTerminate one or all active sessions

Terminate one or all active sessions

No parameter schema in public metadata yet.

upload_file_qurlUpload a local file and mint a qURL

Upload a local file and mint a qURL

No parameter schema in public metadata yet.

upload_file_data_qurlUpload base64 file content and mint a qURL

Upload base64 file content and mint a qURL

No parameter schema in public metadata yet.

upload_text_qurlUpload text content and mint a qURL

Upload text content and mint a qURL

No parameter schema in public metadata yet.

mint_uploaded_file_linkMint a link for a stored upload without uploading bytes again

Mint a link for a stored upload without uploading bytes again

No parameter schema in public metadata yet.

Sponsors

Configuration

QURL_API_KEYsecret

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_URLdefault: https://api.layerv.ai

qURL API base URL. Defaults to https://api.layerv.ai. Override only for testing against a non-production qURL backend.

QURL_CONNECTOR_URL

Connector base URL used by local-file, file-data, and text-to-PDF upload tools before minting a qURL.

QURL_LINK_HOSTS

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 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_BYTESdefault: 10mb

Maximum decoded/local upload size. Accepts bytes or units such as 10mb; capped at 100mb.

QURL_SMTP_HOST

SMTP hostname for optional qURL link delivery.

QURL_SMTP_PORT

SMTP port for optional qURL link delivery.

QURL_SMTP_SECURE

Whether SMTP uses an implicit TLS connection (true/false).

QURL_SMTP_USERNAMEsecret

SMTP authentication username.

QURL_SMTP_PASSWORDsecret

SMTP authentication password or app-specific credential.

QURL_SMTP_FROM_EMAIL

Validated sender email address for qURL delivery.

QURL_SMTP_FROM_NAME

Optional sender display name for qURL delivery.

QURL_SMTP_ALLOWED_RECIPIENTS

Optional comma-separated exact recipient allowlist.

QURL_SMTP_ALLOWED_RECIPIENT_DOMAINS

Optional comma-separated recipient-domain allowlist.

QURL_SMTP_MAX_RECIPIENTS_PER_MESSAGEdefault: 10

Maximum recipients in one delivery request (default 10).

QURL_SMTP_MAX_RECIPIENTS_PER_HOURdefault: 100

Maximum attempted recipients per qURL key per fixed hourly window (default 100).

QURL_MCP_FEEDBACKdefault: on

Set to off to hide and disable outbound LayerV product feedback. Default on. Feedback is sent only by an explicit submit_feedback tool call.

Readme

qURL MCP server for temporary access links

npm version

Give an AI agent tools to share localhost web apps, private APIs, and selected files through expiring qURL™ by LayerV access links. This repository implements the Model Context Protocol server for that workflow. The @layervai/qurl-mcp package runs as a local stdio server backed by the qURL CLI or API, or as an authenticated remote HTTP server backed by the API.

Start with the no-account local quickstart or account-backed client configuration, then choose the tools for your task. In local mode, publish_crid runs the installed CLI to publish an app that is already running; share_by_crid issues its access link. Creating a link alone does not publish an app or restrict an existing public URL. Uploads require the account-backed tool set and use a separate connector lifecycle; see upload tools for their supported options and limits.


View the full README on GitHub

Details

Repository
github.com/layervai/qurl-mcp
Website
layerv.ai
Package
@layervai/qurl-mcp
Transport
STDIO
Auth
Required
Registry
MCP registry, active