tollbooth-shortlinks
Server Details
Ephemeral, human-friendly short URLs for Tollbooth MCP services
- Status
- Healthy
- Uptime
- 100.0% over 59 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- lonniev/tollbooth-shortlinks
- GitHub Stars
- 0
- Server Listing
- tollbooth-shortlinks
TDQS
Scored across 4 tools
Each tool maps to a clearly distinct action: create, delete, resolve (lookup), and status (health check). There is no overlap in purpose, so an agent can select the right tool unambiguously.
Three tools follow a clean verb_noun pattern (create_shortlink, delete_shortlink, resolve_shortlink), but shortlink_status flips to noun_noun, a minor deviation from the otherwise consistent convention.
Four tools is well-scoped for a small ephemeral shortlink service, covering the core lifecycle plus health. It is slightly lean—a list/existence tool is absent—but nothing feels redundant or bloated.
The surface covers creation, deletion, resolution, and status monitoring of ephemeral links, which is most of the lifecycle. Minor gaps exist (no list or bulk operations), but core workflows have no dead ends.
Available Tools
4 toolscreate_shortlinkCreate ShortlinkBInspect
Create an ephemeral short URL that expires after 24 hours.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The target URL to redirect to. | |
| slug | No | Optional custom slug. If omitted, a memorable phrase is generated (e.g. ``brave-otter-finds-gold``). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full burden. It does disclose an important behavioral trait — the link is ephemeral and expires after 24 hours — but says nothing about the write/mutation nature, permission or auth requirements, or rate limits. For a creation tool with zero annotation coverage, this is partial.
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?
A single front-loaded sentence that states the action and the key constraint with zero waste. Nothing should be trimmed.
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?
An output schema exists, so return values need no explanation, and both params are fully covered by the schema. The description supplies the critical TTL constraint; only permissions/side-effect context is absent, which is a minor gap.
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 100%, so url and slug are already fully documented (including slug's auto-generation behavior). The description adds no parameter-level detail beyond the schema, so baseline 3 applies.
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?
States a specific verb+resource (create a short URL) and adds a meaningful qualifier — ephemeral, 24-hour expiry — that separates it from the durable-shortlink use case. It doesn't explicitly contrast with siblings, but the create verb is naturally distinct from delete/resolve/status.
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?
No when-to-use or when-not-to-use guidance, and no mention of the alternative siblings (resolve_shortlink, shortlink_status) or conditions that should steer the agent here. The 24-hour expiry hints at a transient use case but this is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_shortlinkDelete ShortlinkCInspect
Delete a shortlink before it expires.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The shortlink slug to delete. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It implies an irreversible destructive mutation but says nothing about whether deletion is recoverable, whether ownership or permission is required, or what happens if the slug does not exist or has already expired. 'Before it expires' is the only behavioral hint and it is ambiguous.
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?
One tight, front-loaded sentence with no filler; the verb and resource come first. The trailing qualifier is serviceable but slightly vague, keeping it just short of a 5.
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?
An output schema exists so return values need no explanation, and the single required parameter is fully documented. However, for a destructive operation with zero annotation coverage, the description should disclose irreversibility, permission needs, or error behavior, which it does not.
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?
There is a single parameter and schema description coverage is 100%, with the schema already documenting 'The shortlink slug to delete.' Baseline 3 applies because the description adds no syntax, format, or identification detail beyond the schema.
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?
States a specific verb (delete) and resource (shortlink), with the added qualifier 'before it expires' that scopes the operation. It is distinguishable from create_shortlink/resolve_shortlink/shortlink_status, though it never names a sibling explicitly, so it does not reach the 5 level.
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 phrase 'before it expires' hints at timing but gives no actual when-to-use guidance, no exclusions, and no alternatives among the three sibling tools. Nothing tells the agent when deletion is appropriate versus letting a link expire naturally.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_shortlinkResolve ShortlinkAInspect
Look up where a slug points without redirecting.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The shortlink slug to resolve. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses the non-redirecting behavior (implying a side-effect-free lookup), but says nothing about auth requirements, whether the lookup is recorded as a click, or what happens for an unknown slug.
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?
A single front-loaded sentence with no filler. The core action and its key constraint are both delivered immediately.
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?
An output schema exists, so return values need not be described, and with one required parameter the tool is simple. The definition is complete enough to call correctly, though it stops just short of covering failure behavior and usage routing.
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 100% with a single documented 'slug' parameter, so the baseline is 3. The description adds no format or syntax detail beyond what the schema already states.
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?
States a specific verb and resource: look up (resolve) where a slug points. The phrase 'without redirecting' sharpens the scope meaningfully, but the description never names the sibling tools (create_shortlink, delete_shortlink, shortlink_status), so differentiation is inferred rather than explicit.
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?
Usage is only implied. 'Without redirecting' hints that this is a metadata inspection rather than a navigation or hit-counting operation, but there is no statement of when to prefer this over shortlink_status or any prerequisites. Adequate but leaves the agent to infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shortlink_statusShortlink StatusAInspect
Health check — shows the number of active shortlinks and TTL.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden, but for a zero-parameter read-only status tool the risk surface is minimal. It discloses what is returned but says nothing about auth requirements, caching, or whether the TTL is per-link or aggregate.
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?
A single front-loaded sentence with no filler; the purpose and payload are both delivered immediately.
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?
With an output schema present, the description does not need to enumerate return fields, and with zero parameters there is nothing else to cover. It is adequate, though slightly more on what 'TTL' refers to would remove residual ambiguity.
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?
The tool takes no parameters, so the schema-baseline of 4 applies. There is no parameter syntax or semantics left to clarify.
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?
States a specific operation (health check) and the exact payload it surfaces (active shortlink count and TTL), which clearly separates it from the create/delete/resolve siblings. It stops short of a 5 only because 'shows' is a soft verb rather than an explicit read/status verb.
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 'Health check' framing implies a monitoring/diagnostic use case, but there is no explicit statement of when to call this versus the action siblings or any preconditions. Usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
create_shortlink - First observed
delete_shortlink - First observed
resolve_shortlink - First observed
shortlink_status
Related MCP Connectors
Create and manage short links, track clicks, and automate URL management
Short links with branded domains, cookie-less analytics and QR codes. Sign in with OAuth or a token
Make and manage short links on your own domain, with analytics and routing rules.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA stateless gateway that turns any OpenAPI spec into MCP tools on the fly.1MIT
- AlicenseBqualityBmaintenanceMCP production gateway — Streamable HTTP proxy to stdio/HTTP backends with API-key auth, per-key rate limiting, TTL cache, per-backend circuit breaker, Prometheus metrics.2MIT
- AlicenseNot gradedqualityBmaintenanceSecure MCP protocol proxy with OAuth2 + Dynamic Client Registration (DCR), JWT auth, RBAC, rate limiting, multi-server aggregation, and a monitoring/admin dashboard.321 PyPI12MIT
- AlicenseNot gradedqualityAmaintenanceEnables you to publish remote MCP tools from your own Lambda behind a single HTTP API endpoint, with selectable authorization (IAM, API key, JWT, Lambda, or Google Workspace), stage throttling, JSON access logs, and RFC 9728 resource metadata discovery. No session table or sticky routing is needed, so any invocation can answer any request.19 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.