Skip to main content
Glama

Share qURL by CRID

share_by_crid

Generate a temporary qURL access link for a known legacy resource using its CRID, with optional TTL. Use this only when the resource lacks consumer_access; remove any leading $ marker first.

Instructions

Only for legacy resources without consumer_access; use manage_crid_access and the policy's invitation or grant flow for consumer_access resources. Use the known resource policy. If qurl:read is available, get_qurl (without the leading $ marker) can check consumer_access. A resolve-only key can share a known legacy resource without that read; if the policy is unknown, ask the publisher, and never treat a denied read as proof that it is legacy. Request a temporary qURL access link for a resource identified by its CRID. When the user supplies a legacy resource CRID with a leading $ marker, remove the marker and use this tool. Set ttl to request a lifetime using Go duration syntax; the total must be a positive whole number of seconds. The service may adjust the lifetime. The link is minted by the qURL API and includes its expiration and single-use metadata.

Input Schema

NameRequiredDescriptionDefault
ttlNoRequested link lifetime in Go duration format, such as "90s", "5m", or "1h30m". The total must be a positive whole number of seconds. The service may adjust the lifetime.
cridYesCRID of the resource to turn into a temporary qURL link. Accepts either the bare CRID or the user-facing "$<CRID>" form.

Output Schema

NameRequiredDescriptionDefault
cridNoCRID associated with the generated link, when available
qurlYesTemporary qURL access link for the supplied CRID
typeYesqURL link type
qurl_idNoDisplay-friendly ID for the minted access token
expires_atNoLink expiration timestamp, when returned
single_useYesWhether the link can be used only once
expires_in_secondsYesLink lifetime in seconds

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.2

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses important operational behavior: the tool is for legacy resources only, may require qurl:read for checking access, can work with a resolve-only key for a known legacy resource, and should not treat a denied read as proof of legacy status. It also notes that the service may adjust the requested TTL and that the minted link includes expiration and single-use metadata.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and front-loads access-policy caveats before the core action, but most sentences carry relevant routing or behavioral information. It is longer than ideal, though the complexity of legacy versus consumer_access handling justifies much of the length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the access-policy nuance, sibling alternatives, annotations, and output schema, the description is complete enough for an agent to call the tool correctly. It covers eligibility, alternative tools, CRID handling, TTL semantics, and relevant failure or policy caveats.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description adds a useful procedural detail about removing a leading `$` marker from the CRID before using the tool. Its TTL explanation largely repeats the schema's Go duration guidance, so it adds only modest extra meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: request a temporary qURL access link for a resource identified by its CRID. It also explicitly limits scope to legacy resources without consumer_access and names the sibling tool to use otherwise, so an agent can distinguish it from manage_crid_access and get_qurl.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use and when-not-to-use guidance: only for legacy resources without consumer_access; use manage_crid_access and the invitation or grant flow for consumer_access resources. It also explains how get_qurl can check consumer_access, what a resolve-only key can do, and what to do when the policy is unknown.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.