check_links
Liveness-only check (no LLM): extracts all cited URLs and reports dead links, homepage redirects, and archive.org availability.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| document | Yes | Document text (markdown or plain text) |
Liveness-only check (no LLM): extracts all cited URLs and reports dead links, homepage redirects, and archive.org availability.
| Name | Required | Description | Default |
|---|---|---|---|
| document | Yes | Document text (markdown or plain text) |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It offers substantive transparency by revealing that the check is liveness-only, does not use an LLM, extracts URLs from citations, and reports dead links, homepage redirects, and archive.org availability. It does not mention return format or network behavior, but the core execution model is well conveyed for a simple read-only tool.
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 a single, compact sentence that is front-loaded with 'Liveness-only check (no LLM)' and efficiently conveys the tool's scope and outputs. No wasted words; every phrase adds 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 tool with one parameter and no output schema, the description adequately covers the tool's behavior and purpose. Missing return format details are a minor gap, but the explanation of what it reports (dead links, homepage redirects, archive.org availability) gives a clear picture of expected results. Given the tool's simplicity and read-only nature, this is nearly complete.
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% with the only parameter 'document' described as 'Document text (markdown or plain text)'. The description adds no additional syntax or format details beyond the schema, but it does clarify that the document contains citations, which aligns with the schema. The baseline 3 is appropriate since the schema fully documents the parameter.
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 tool's function: a liveness-only check that extracts cited URLs and reports dead links, homepage redirects, and archive.org availability. It uses a specific verb ('extracts'/'reports') and resource ('cited URLs'), and it distinguishes itself from sibling tools by focusing on link health rather than overall document quality or claim verification.
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 usage context through 'Liveness-only check (no LLM)', suggesting it is for quick, deterministic link checking. However, it does not explicitly state when to use it versus check_document or verify_claims, nor does it provide any exclusions or alternative guidance. The context is clear but not directly compared to siblings.
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 has a clearly distinct purpose: check_document audits the entire document, check_links focuses solely on link liveness, and verify_claims evaluates individual claim-source pairs with detailed verdicts. There is no meaningful overlap that would cause an agent to pick the wrong tool.
All tool names follow the verb_noun pattern (check_document, check_links, verify_claims), but the mix of 'check' and 'verify' as verbs is a minor inconsistency. The structure is predictable and readable overall.
With 3 tools, the server is well-scoped for its purpose. Each tool earns its place and covers a distinct aspect of citation checking without unnecessary bloat.
The core workflows are covered: whole-document auditing, link validation, and claim verification. Minor gaps exist, such as no standalone URL liveness check or a tool to parse citations independently, but these are workable with the current set.