get_link
Fetch one short link by id. Requires links:read scope.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Fetch one short link by id. Requires links:read scope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral traits. It states the tool fetches a link and requires a scope, but does not disclose what happens on missing id, rate limits, or response format. Minimal disclosure beyond the scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at two sentences. Each sentence has clear value: the first states the core function, the second specifies an important requirement. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple fetch tool with one parameter and no output schema, the description lacks critical context about return values, error handling, and invalid input behavior. It is incomplete for reliable usage, especially given the complexity of sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning beyond 'by id'. It does not explain what the 'id' parameter represents (e.g., the short link ID) or provide constraints. The description fails to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Fetch') and the resource ('one short link by id'). It distinguishes itself from siblings like list_links (multiple), create_link, and delete_link by specifying 'one' and using 'by id'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a scope requirement ('Requires links:read scope'), providing context for authorization. However, it does not explicitly guide when to use this tool versus alternatives (e.g., list_links for multiple links) or mention conditions like link existence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool targets a distinct operation (create, delete, update, list, etc.) on specific resources (links, folders, tags, analytics). No two tools have overlapping purposes.
All tool names follow a consistent verb_noun pattern using snake_case, such as create_link, list_folders, and get_link_analytics. No deviations or mixed styles.
With 12 tools, the server covers the essential operations for a URL shortener (CRUD, analytics, QR codes, folders, tags) without being bloated or incomplete.
The tool set provides full lifecycle management for short links (create, read, update, delete, enable/disable), plus analytics, folders, tags, QR generation, and account usage. No obvious gaps.