b59.link
Server Details
Short links, QR codes and page-view trackers for AI agents, with click stats and email-code sign-up. An agent can sign itself up with an email code, or start without signing in at a low rate limit. Tools: shorten_url, generate_qr, make_qr_image, create_tracker, lookup_url, get_stats_url, auth. Stats are shown on the website: the tools return stats page URLs, not raw visitor data. Docs: https://b59.link/mcp-glama-b59link · Made by Biz59 LLC, New York. Submitted by the b59.link team.
- Status
- Healthy
- Uptime
- 99.6% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 9 tools
Most tools target clearly different resources: shortening, QR creation, tracker creation, stats lookup, and link watching are separable. The only genuinely confusable pairs are generate_qr vs make_qr_image and watch_printed_links vs get_watch_report, but the descriptions explicitly disambiguate them (scans counted vs static image; create watch vs read results).
All names are snake_case with a verb_noun shape, so the convention is predictable. Minor deviations: the bare verb 'auth' and the use of two different verbs ('generate' vs 'make') for closely related QR operations break the pattern slightly.
Nine tools for a link-shortening/QR/tracking service is well-scoped, and each tool covers a distinct capability (auth, shorten, lookup, two QR modes, tracker, stats URL, watch create/report). No filler tools are present.
Core creation and read paths are covered, but there is no tool to list, update, or delete existing short links or trackers from an account, and watch management only exists via a returned manage_url rather than a tool. These are notable gaps for a service centered on owning and managing links.
Available Tools
9 toolsauthSign in to b59.linkAInspect
Sign in to b59.link to own what you create (and for 300 requests/minute on the REST API). Pass api_key to get a session key straight away. Or pass email to have a 6-digit code emailed, then call again with email and otp to get a session key (new emails are signed up and also get their api_key). Send the session key as the HTTP header 'Authorization: Bearer <session_key>'.
| Name | Required | Description | Default |
|---|---|---|---|
| otp | No | The 6-digit code from the email. | |
| No | Email to send a one-time code to. | ||
| api_key | No | The account's 256-character API key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the generic non-readonly/non-idempotent/open-world profile; the description adds the substantive traits: a 300 req/min rate-limit payoff, the exact header format for the returned session key, and the significant side effect that unknown emails are auto-signed-up and issued an api_key. That side effect is precisely the kind of non-obvious behavior an agent must know before calling.
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?
Four dense sentences, front-loaded with purpose then the two paths then the output header convention; essentially no filler. Slightly long as a single undifferentiated paragraph, and the parenthetical about new signups is easy to miss.
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?
No output schema exists, and the description compensates by naming the return value (session key) and how to transmit it. For a zero-required-parameter auth tool with three alternative inputs, everything an agent needs to complete either flow is present.
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 coverage is 100%, so baseline is 3; the description adds relational semantics the schema cannot express — that otp is only meaningful paired with email, and that the two credentials are mutually exclusive alternatives rather than combinable inputs. Required parameters are zero, yet the description makes the effective requirements clear.
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 ('Sign in to b59.link') and immediately qualifies it with the concrete benefits (ownership of created resources, 300 req/min). Siblings are all content-creation/lookup tools, so authentication is unambiguously distinguishable without opening the schema.
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?
Explicitly lays out the two invocation paths — pass api_key for an immediate session key, or pass email then email+otp — which is exactly the branching guidance an agent needs. It stops short of saying when to call this relative to the sibling tools (e.g. 'call first if you need higher rate limits or ownership'), so no explicit exclusion/precedence rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_trackerCreate a page-view trackerAInspect
Create a free page-view tracker for a website. Returns the tag image URL and ready-to-paste snippets for the site's pages, plus the stats URL where views, visitors, pages and referrers are shown. When signed in, the tracker belongs to the account; otherwise keep the manage_token to claim it later.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional display name for the tracker. | |
| site_url | Yes | The site's address, e.g. example.com. Views are only counted on this domain and its subdomains. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the mutation/safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the description's job is to add context — and it does, disclosing that the response includes the tag image URL, paste-ready snippets, and a stats URL, plus the auth-dependent ownership behavior and the need to retain manage_token. That is real behavioral detail beyond the annotations, though rate limits and token lifetime are unstated.
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?
Three tight sentences, front-loaded with the core action and then the return payload and ownership rule. Every sentence carries information an agent needs.
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 no output schema, the description usefully explains what comes back (tag URL, snippets, stats URL) and how ownership works. It stops short of clarifying how the manage_token is surfaced in the response or any creation constraints, but it is otherwise sufficient for correct invocation.
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 the schema already documents both name and site_url (including the domain/subdomain counting rule), making 3 the baseline. The description adds no parameter-level meaning beyond that.
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?
Opens with a specific verb+resource ('Create a free page-view tracker for a website'), which is clearly distinguishable from siblings like shorten_url, generate_qr and get_stats_url. The scope (page-view tracking on a website) is unambiguous.
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 implied by the creation framing, and the description adds useful context about signed-in vs anonymous ownership, but it never states when to prefer this over an alternative tool or what preconditions must hold before calling it. No explicit exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_qrMake a tracked QR codeAIdempotentInspect
Generate a trackable QR code for a URL. Creates a b59.link short URL at the same time so scans are counted. Returns the short URL, a stats URL, and the QR code as a base64-encoded PNG.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to generate a QR code for. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare write (readOnlyHint=false), idempotent, and non-destructive. The description adds genuinely useful behavior beyond that: it creates a short link as a side effect and names the three returned artifacts, including the base64 PNG encoding. It does not mention idempotency or any rate/creation limits, but the core behavior is well disclosed.
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?
Three short sentences, each earning its place: purpose, side effect, return shape. Information is front-loaded with zero filler.
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 no output schema, the description helpfully enumerates the return values (short URL, stats URL, base64 PNG), which is exactly what is needed. The only gap is the absent guidance on when to prefer this over the sibling QR/shorten 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?
One parameter with 100% schema coverage, so the schema already fully documents 'url'. The description adds no syntax, validation, or format detail beyond the schema, which is the expected baseline.
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 (generate a trackable QR code) and immediately discloses the side effect of creating a b59.link short URL, which distinguishes it from the plain code generator. It never names make_qr_image or shorten_url explicitly, so the sibling differentiation is left to inference.
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 implies the use case (you want scans counted) but gives no explicit when-to-use vs make_qr_image or shorten_url, both of which likely produce overlapping artifacts. An agent can guess, but there is no routing guidance or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stats_urlFind a stats pageARead-onlyIdempotentInspect
Get the stats page URL for anything b59.link tracks: a slug or short URL, the destination URL of a short link or QR code, a tracker id or tag URL, or any page URL / domain that has a tracker tag. Stats themselves are viewed on b59.link; this returns where.
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | Slug, short URL, page URL, domain, tracker id or tag URL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds real value beyond that by clarifying the return contract (a URL to view elsewhere, not the stats themselves), which prevents a wrong follow-up call. It says nothing about failure modes, e.g. what happens when the identifier has no tracker tag.
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?
Front-loaded with the verb and resource, then a compact enumeration of accepted inputs, then a short clarifying sentence. It is a bit dense in one sentence but every clause carries information; nothing reads as filler.
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 one-parameter, read-only lookup with no output schema, the description supplies the two things the agent needs: what inputs are valid and that the result is a location rather than stats data. Annotations cover safety. Only the error/not-found behavior is left unspecified, which is a minor gap for this tool shape.
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% and the single parameter is fully documented, so the baseline is 3. The description's list of accepted identifier types closely mirrors the schema text ("Slug, short URL, page URL, domain, tracker id or tag URL"), adding no format, normalization, or ambiguity-resolution 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+resource ("Get the stats page URL") and enumerates exactly which kinds of identifiers it accepts (slug, short URL, destination URL, tracker id/tag URL, page URL/domain). The second sentence reinforces the output semantics: it returns the location of stats, not stats data. It never names or contrasts with the close sibling lookup_url, which accepts overlapping input types (slug/short URL), so the agent must infer when to pick this one.
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?
It clearly frames the usage context ("for anything b59.link tracks") and pre-answers the likely follow-up question by stating stats are viewed on b59.link rather than returned here. There is no explicit when-not guidance or comparison to lookup_url / create_tracker, so an agent facing an ambiguous slug input has no rule for choosing between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_watch_reportGet a printed-link watch reportARead-onlyIdempotentInspect
Get the state of every link in a printed-link watch: working, dead, moved, deactivated page, redirect changed or certificate expiring, what changed since the first check, the latest redirect chain and the last 30 days.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The watch's slug or its page_url (b59.link/w/<slug>). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavioral content: the report spans 'what changed since the first check,' the 'latest redirect chain,' and a bounded 'last 30 days' window. It does not mention pagination, per-link limits, or behavior for an unknown slug, so it falls short of a 5.
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 names the resource first and then packs the enumerated statuses and time window without filler. No redundant restatement of the title or name.
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?
There is no output schema, so the description carries the burden of describing return content — and it does, listing status categories, change history, redirect chain and the 30-day horizon. Missing only error/edge-case behavior (unknown slug, watch with zero links) and any note on report size.
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?
With one parameter at 100% schema description coverage, the schema already explains that 'slug' accepts either a watch slug or its page_url. The description adds nothing about the parameter, so the baseline of 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 ('Get') and a specific resource ('the state of every link in a printed-link watch'), then enumerates the exact dimensions returned: working, dead, moved, deactivated page, redirect changed, certificate expiring. That level of specificity clearly separates it from siblings like get_stats_url and watch_printed_links.
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 by the noun 'watch' — an agent can guess this is the read side of watch_printed_links, but the description never says so, nor does it state prerequisites (must a watch exist first?) or when to prefer get_stats_url instead. No explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_urlLook up an existing short linkARead-onlyIdempotentInspect
Check whether a URL already has a b59.link short URL. Handles variations: http/https, www prefix, trailing slash. Returns the existing short URL and QR code if found.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to look up. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false), so the bar is lower. The description still adds genuinely useful behavior: it normalizes http/https, www prefix, and trailing slash before matching, and it discloses the return payload (short URL plus QR code when found). Missing is what happens on a miss, which with no output schema leaves a small gap.
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?
Three short sentences, front-loaded with the core purpose, then matching behavior, then return value. No filler or redundancy; every sentence contributes.
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 one-parameter read-only lookup with no output schema, the description covers purpose, URL-matching semantics, and the shape of the result. The only omission is the not-found behavior, which is implied ('if found') but not stated explicitly.
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% for the single 'url' parameter, so the schema carries the parameter documentation. The description adds matching semantics (variation tolerance) rather than per-parameter meaning, which qualifies as marginal added value over structured data — baseline 3.
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 gives a specific verb and resource ('Check whether a URL already has a b59.link short URL') and even names the service domain, so an agent immediately understands this is a lookup rather than a creation. It does not explicitly name the sibling it contrasts with (shorten_url), but the 'already has' framing makes the distinction inferable.
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 implied — you would call this to de-duplicate before shortening — but the description never states when to prefer this over shorten_url or get_stats_url, nor any preconditions or exclusions. The context is guessable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
make_qr_imageMake a QR code imageARead-onlyIdempotentInspect
Make a QR code image for any text (URL, Wi-Fi string, phone, email, plain text) without creating a short link. Supports colors, size and SVG. Returns the image plus a permanent image URL that can be embedded with . Use generate_qr instead when scans should be counted.
| Name | Required | Description | Default |
|---|---|---|---|
| bg | No | Background hex color, e.g. ffffff. | |
| fg | No | Foreground hex color, e.g. 000000. | |
| data | Yes | Text to encode (max 1500 chars). | |
| size | No | Width/height in pixels, 64-1200 (default 300). | |
| format | No | Image format (default png). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/non-open-world, so the safety profile is covered. The description adds genuinely new behavioral context: it does not create a short link, and it returns the image plus a permanent embeddable image URL. No rate limits or error behavior, but the key output trait is disclosed.
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?
Three tight sentences: what it makes, what it supports, what it returns, and the routing rule. Front-loaded with the core action and zero filler.
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 no output schema, the description carries the return-value burden and does so ('the image plus a permanent image URL that can be embedded with <img src>'), while constraints like char limit and size range live in a fully documented schema. Nothing material for correct invocation is missing.
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 coverage is 100%, so baseline is 3, but the description goes beyond the schema by enumerating acceptable payloads for the required 'data' parameter (URL, Wi-Fi string, phone, email, plain text) and confirming the color/size/SVG options. That adds semantic value the schema's terse property descriptions do not.
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 ('Make a QR code image') and immediately scopes it against the sibling: 'without creating a short link' vs. 'Use generate_qr instead when scans should be counted.' An agent can separate this from generate_qr without opening either schema.
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?
Gives an explicit exclusion rule plus the named alternative: use generate_qr when scans should be counted, use this tool otherwise. That is the exact when/when-not/alternative structure the dimension asks for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shorten_urlShorten a URLAIdempotentInspect
Shorten a long URL and get a memorable b59.link short URL. Optionally specify a custom slug. Returns the short URL and a stats URL.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to shorten. | |
| slug | No | Optional custom slug (letters, digits, hyphens, underscores, max 100 chars). A random slug is used if omitted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the write/idempotency profile is covered structurally. The description adds the domain (b59.link) and the return payload (short URL plus stats URL), but says nothing about auth requirements, collision behavior when a custom slug is taken, or why the operation is idempotent.
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?
Three short sentences, front-loaded with the primary action and outcome, with the optional parameter and return values following in order of relevance. Nothing is padded or redundant.
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 two-parameter tool with no output schema, the description usefully discloses what comes back (short URL and stats URL) and the target domain, which an agent needs to chain into get_stats_url. The main gap is the absence of any authentication or error-condition context.
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%: the url and slug parameters, including the slug's character set and 100-char limit, are already fully documented in the schema. The description only restates that the slug is optional and that a random one is used otherwise, adding no new semantics.
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 ('Shorten a long URL'), names the concrete product outcome (b59.link short URL), and clarifies the custom-slug option. It is distinguishable from lookup_url and get_stats_url, though it never names a sibling to draw the boundary explicitly.
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 implied by the purpose - an agent can infer this is the creation step - but there is no explicit when-to-use guidance, no mention of prerequisites such as authentication, and no comparison to lookup_url or create_tracker for retrieving or managing existing links.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watch_printed_linksWatch printed linksAInspect
Watch up to 25 printed links (QR codes on menus, short links on flyers, posters, packaging, cards). Checks each one now and then once a day, and records the whole redirect chain. A link is flagged when it dies (fails twice, 6 hours apart), lands somewhere new, lands on a QR or short-link vendor's 'deactivated' page or a parked domain, changes how it redirects, or its certificate expires within 14 days. Returns the first results, page_url (a result page to hand to the person; shareable) and manage_url (private: edit, re-check, delete). No key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Optional address for alerts; nothing is sent to it until it is confirmed with a code on the result page. | ||
| links | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations: it discloses the checking cadence (now, then daily), the exact failure threshold (fails twice, 6 hours apart), what constitutes a flag (deactivated page, parked domain, redirect change, cert expiring within 14 days), and the two return handles (shareable page_url, private manage_url). With annotations covering mutability/open-world, this adds substantial operational context.
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?
Information-dense and front-loaded: purpose, checking behavior, flag criteria, and return values in a tight sequence. Slightly run-on in the middle sentence listing flag conditions, but nearly every clause carries operational value.
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 no output schema, the description correctly explains the returns (page_url and manage_url) and their sharing semantics. It covers enough to invoke the tool, though it omits how to retrieve later results (presumably get_watch_report) and the email-verification detail is left entirely to the schema.
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 coverage is 50% and the schema already documents email, url, and label well. The description adds the 25-link cap and the existence of result URLs, but does not clarify parameter behavior such as the email confirmation flow or how labels affect results, so it neither compensates for the coverage gap nor adds much 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 and resource ('Watch up to 25 printed links') with concrete examples of what a printed link is (QR codes on menus, short links on flyers). It is clearly not a shortening or lookup tool, though it never distinguishes itself from close siblings like create_tracker or get_watch_report.
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 printed-link use case is strongly implied by the examples and the 25-link cap, and 'No key needed' helps the agent know it can call without auth. However, there is no explicit when-to-use versus create_tracker, get_watch_report, or the other siblings.
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.
2 tool updates
- Added
get_watch_report - Added
watch_printed_links
7 tool updates
- First observed
auth - First observed
create_tracker - First observed
generate_qr - First observed
get_stats_url - First observed
lookup_url - First observed
make_qr_image - First observed
shorten_url
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs115 npm58 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1623 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.