Skip to main content
Glama
thenavidm
by thenavidm

List all links

list_links
Read-onlyIdempotent

Retrieve a paginated list of short links for the authenticated workspace. Filter by domain, tags, folders, users, or search terms.

Instructions

Retrieve a paginated list of links for the authenticated workspace.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoDEPRECATED. Use `startingAfter` instead.
domainNoThe domain to filter the links by. E.g. `ac.me`. If not provided, all links for the workspace will be returned.
searchNoThe search term to filter the links by. The search term will be matched against the short link slug and the destination url.
tag_idNoDeprecated: Use `tagIds` instead. The tag ID to filter the links by.
accountNoExact configured private workspace profile label; not a tenant or provider account ID.
tag_idsNoThe tag IDs to filter the links by.
user_idNoThe user ID to filter the links by.
folder_idNoThe folder ID to filter the links by.
page_sizeNoThe number of items per page.
tag_namesNoThe unique name of the tags assigned to the short link (case insensitive).
tenant_idNoThe ID of the tenant that created the link inside your system. If set, will only return links for the specified tenant.
with_tagsNoDEPRECATED. Filter for links that have at least one tag assigned to them.
ending_beforeNoIf specified, the query only searches for results before this cursor. Mutually exclusive with `startingAfter`.
show_archivedNoWhether to include archived links in the response. Defaults to `false` if not provided.
starting_afterNoIf specified, the query only searches for results after this cursor. Mutually exclusive with `endingBefore`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnly=true, idempotent=true, openWorld=true, destructive=false, so the safety profile is fully covered. The description adds that results are paginated and scoped to the authenticated workspace, but says nothing about default filtering behavior (archived links excluded, default page size) or pagination mechanics, which is thin for a 15-parameter read.

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?

A single front-loaded sentence with zero filler, stating the resource and scope immediately. It is efficient, though arguably under-sized for a tool with this many filtering and pagination options.

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

Completeness3/5

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

Annotations cover safety and the schema covers all parameters, but with no output schema the description could have described the returned list shape, and it omits notable behaviors such as archived-link exclusion and the deprecated-vs-preferred pagination parameters. Adequate but with clear gaps for a tool of this complexity.

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

Parameters3/5

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

Schema description coverage is 100%, so every one of the 15 parameters (including deprecated page, tag_id, with_tags and the cursor pair starting_after/ending_before) is already documented in the schema. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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

Purpose4/5

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

Specific verb (Retrieve) plus resource (links) plus scope (paginated, authenticated workspace), which is enough for an agent to understand the operation. It does not explicitly differentiate from close siblings like get_link (singular) or get_links_count, but the plural 'list' framing makes the distinction reasonably inferable.

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

Usage Guidelines2/5

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

No when-to-use guidance, no mention of alternatives (e.g., get_link for a single link, get_links_count for totals), and no stated preconditions or exclusions. The agent must infer all routing decisions from the name alone.

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