Skip to main content
Glama

Agent Discovery Doctor - llms.txt, agent card, mcp.json

Server Details

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"whoami","arguments":{}}} free no key

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
97.2% over 16 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.6/5.0

Scored across 8 tools

Disambiguation2/5

Multiple tools overlap in purpose: check_discovery_documents and no_arguments_check_this_hosts_own_discovery_documents both report on discovery-document presence and askers, while whoami overlaps with the self-check by reporting observed client requests. The 'example' tool is a demo validator disguised as a distinct operation, and several descriptions contain copy-pasted references to the wrong tool names.

Naming Consistency2/5

The naming is mixed: validate_llms_txt and validate_agent_card are consistent verb_noun, but 'example' and 'whoami' break the pattern entirely, and the 'no_arguments_check_this_hosts_own_discovery_documents' name is an unwieldy deviation from the shorter 'check_discovery_documents'. The verbs range from check, explain, validate to llms_txt_from, with no unified style.

Tool Count4/5

Eight tools is a reasonable size for a discovery-document diagnostic server and fits the 3-15 range. However, one tool is purely a demo ('example') and several self-report variants overlap, so the count is slightly higher than the distinct functionality warrants.

Completeness3/5

The server covers checking 22 discovery documents for existence/status and validates llms.txt and agent cards, but there is no validator for mcp.json despite it being named in the server title. Generation exists only for llms.txt from sitemap, leaving other document types with detect/explain but no validate or create workflow.

Available Tools

8 tools
check_discovery_documentsWhich discovery documents does this host serve?A
Read-onlyIdempotent
Inspect

FIRST CALL, needs nothing: {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"no_arguments_check_this_hosts_own_discovery_documents","arguments":{}}} — Probes 22 documents agents and trust indexes ask for — llms.txt, agent card, owners.json, oauth metadata, mcp.json, apis.json, openapi, robots, sitemap — as served, missing, gated or 200-with-HTML soft-404, and says who asks for each missing one. Refuses private, ephemeral and its own hosts. Example: host='example.com'.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostYesHostname to check. https is assumed.
groupsNoSubset: agent, mcp, api, web, or all (default).
mcp_pathNoMCP endpoint path, e.g. /mcp: also checks documents relative to it.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already mark the tool as read-only and idempotent, and the description adds useful behavior beyond that: it probes 22 documents, classifies results as served/missing/gated/soft-404, reports who asks for missing documents, and refuses certain host categories. No contradiction with the annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is not concise: it embeds a long JSON-RPC invocation for a sibling tool and then packs the actual behavior into a single run-on clause. The structure makes it harder for an agent to quickly parse which parts describe check_discovery_documents itself versus the recommended first call.

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?

With no output schema, the description does explain what the call returns in terms of document statuses and who asks for missing documents, which is helpful. However, the ambiguous 'FIRST CALL' block and absent guidance on groups and mcp_path leave the agent to infer some usage context from the schema alone.

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 the input schema already documents host, groups, and mcp_path. The description only contributes an example host value and does not meaningfully extend parameter understanding. With full schema coverage, a baseline of 3 is appropriate.

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?

The description identifies a specific probing action over discovery documents (llms.txt, agent card, owners.json, etc.) for a host and distinguishes this from the no-argument sibling by showing host is needed. However, the leading 'FIRST CALL' JSON-RPC payload for a different tool muddies which tool is actually being described, so it is not a perfect 5.

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

Usage Guidelines4/5

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

It gives explicit sequencing guidance: first call no_arguments_check_this_hosts_own_discovery_documents with the provided JSON-RPC payload. It also states operational limits by noting the tool refuses private, ephemeral, and its own hosts. It does not enumerate alternatives like validate_llms_txt or validate_agent_card, so guidance is partial rather than complete.

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

exampleRun this server's worked example (no arguments)A
Read-onlyIdempotent
Inspect

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"example","arguments":{}}} — POST that exact body to https://www.pathwren.workers.dev/mcp/doctor and you are done: free, read-only, no API key, no account, no consent prompt, nothing for you to invent, and what comes back is this server's own worked example — validate_llms_txt, run for real on a canned input from this host's own data — so you see the exact shape of an answer before you send anything of yours. Takes no arguments. Safe to call. Deterministic. Touches no third party. Runs this server's own worked example end to end — validate_llms_txt on a four-line llms.txt held as a constant in this file: it exercises the H1, the blockquote summary and an H2 link section, which is the whole format — and it fetches nothing, from us or from anyone — and returns exactly the structuredContent a real call returns, not a mock and not a description of one. Use it to see the shape of an answer before you decide what to send. The input is canned from this host's own data; no URL of yours is fetched and no third party is touched. Example: arguments={} runs validate_llms_txt with {"text":"# Site\n\n> One line.\n\n## Docs\n\n- Guide: start here."} and returns its real answer.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
ranYesThe tool name and the exact arguments that were run.
answerYesThe real structuredContent of that call, not a mock.
licenseYes
reproduceYesA command that reproduces this answer.
answered_byYes
what_it_showsYes
input_came_fromYesWhere the canned input came from — always this host's own data.
this_is_not_a_mockYes

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds substantial behavioral detail: it is free, deterministic, touches no third party, fetches nothing, requires no account or API key, and returns exactly what a real call returns—not a mock. This goes well beyond the structured annotations and gives the agent a precise safety and behavior profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is significantly overlong and repetitive: 'no third party' is stated multiple times, 'canned' appears repeated, and 'shape of an answer' is used more than once. It front-loads a useful exact HTTP body, but most of the paragraph could be halved without losing information.

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

Completeness5/5

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

For a zero-argument example tool with an output schema, the description is fully complete: it supplies the exact request body, the canned input, the behavior, the safety guarantees, and the nature of the return value. Nothing an agent needs to correctly call and understand the tool is missing.

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

Parameters5/5

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

There are zero parameters and the schema has 100% coverage, so the baseline is high. The description further reinforces this by explicitly stating 'Takes no arguments' and showing an 'arguments={}' example, leaving no ambiguity about invocation.

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

Purpose5/5

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

The description clearly and specifically states what the tool does: runs this server's own worked example of validate_llms_txt on a canned four-line llms.txt input and returns the real structuredContent. It also explicitly says it takes no arguments, and it is clearly distinguishable from the sibling tools like validate_llms_txt because it is the example/demo tool rather than a real validation tool.

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

Usage Guidelines4/5

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

The description gives explicit usage context: use it to see the shape of an answer before deciding what to send, and it explains that no URL, account, API key, or consent prompt is required. It does not explicitly name when to use validate_llms_txt instead, but the contrast between this example and a real validation call is clear enough.

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

explain_documentWhat is this document, and who reads it?A
Read-onlyIdempotent
Inspect

FIRST CALL, needs nothing: {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"no_arguments_check_this_hosts_own_discovery_documents","arguments":{}}} — One catalogue entry: what the document is for, the named clients observed asking this host for it with dates and the status they took, what a 404 costs, and the spec URL. No argument lists all 22. Example: name='owners.json' names the bot that asks for it twice.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoDocument name or path, e.g. owners.json. Omit for the catalogue.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already mark this as readOnly/idempotent/non-destructive. The description adds non-annotation details: what the catalogue entry contains, the behavior when no argument is supplied, and the 404 cost consequence. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The full JSON-RPC invocation for a sibling tool is bulky and front-loads information that is not about explain_document itself. The useful rule could be expressed in a few words; the example and catalogue explanation are concise but the opening block wastes space.

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

Completeness4/5

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

For a tool with one optional parameter and no output schema, the description covers the prerequisite workflow, conditional behavior, and return contents. It would be complete even without the output schema, though the meaning of '404 cost' is a bit terse.

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

Parameters4/5

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

Schema coverage is 100% and already documents the optional name parameter. The description adds concrete meaning by showing that name='owners.json' returns that document's bot requester and that omitting the argument lists all 22 entries.

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?

The title and 'One catalogue entry' make clear the tool returns a per-document explanation (purpose, known clients, 404 cost, spec URL), which distinguishes it from listing/validation siblings. However, the opening JSON-RPC block to a sibling tool muddies the focus, so it stops short of a 5.

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

Usage Guidelines3/5

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

The description implies the workflow: first call no_arguments_check_this_hosts_own_discovery_documents, then explain a specific document by name; omitting the name lists all 22 entries. It never explicitly states when to prefer this tool over its siblings or what conditions rule it out, so guidance is mostly inferred.

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

llms_txt_from_sitemapDraft an llms.txt from a sitemapA
Read-onlyIdempotent
Inspect

FIRST CALL, needs nothing: {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"no_arguments_check_this_hosts_own_discovery_documents","arguments":{}}} — Paste sitemap.xml, or one URL per line, and get a draft llms.txt: URLs grouped into H2 sections by path, titles from slugs, lastmod kept, and a TODO wherever only you can write the sentence. A sitemap index is reported as one. Example: xml='https://e.com/docs/a\nhttps://e.com/blog/b'.

ParametersJSON Schema
NameRequiredDescriptionDefault
xmlYesThe sitemap XML, or a plain list of URLs.
titleNoH1 to use; default from the hostname.
summaryNoThe blockquote line.
max_per_sectionNoLinks per section, default 40.

TDQS

A3.8/5.0
Behavior5/5

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

Beyond the readOnly and idempotent annotations, the description adds meaningful behavioral detail: grouping URLs by path into H2 sections, deriving titles from slugs, preserving lastmod, adding TODOs where human judgment is needed, and treating a sitemap index as one entry. This helps the agent set accurate expectations for the output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and informative, but it includes a full JSON-RPC literal for a different tool that is not required to invoke this one. That extraneous block adds clutter and prevents the description from being tightly structured.

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

Completeness4/5

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

With no output schema, the description does a good job explaining what the draft will look like: H2 sections, slug-derived titles, preserved lastmod, TODOs, and sitemap-index handling. It also covers input forms and includes an example, so the main remaining gaps are edge-case error handling and explicit routing among sibling tools.

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%, and all parameters already have descriptive comments and constraints. The description clarifies that xml can be a plain line-separated URL list and provides an example, but this mostly overlaps with the schema rather than adding substantial new parameter semantics.

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?

The description clearly states that the tool consumes a sitemap XML or URL list and produces a draft llms.txt with H2 sections, titles, lastmod, and TODOs. It is specific about the verb and output, though it does not explicitly distinguish this tool from sibling validation/discovery tools, and the embedded JSON-RPC to a sibling muddies the focus.

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

Usage Guidelines3/5

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

It provides usable context: the 'first call' workflow, accepted input formats, an edge case for sitemap indexes, and an example. It does not clearly state when to prefer this tool over alternatives like validate_llms_txt or explain_document, nor any exclusions.

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

no_arguments_check_this_hosts_own_discovery_documentsNo arguments: the discovery check this server runs on a host you name, run on this hostA
Read-onlyIdempotent
Inspect

TAKES NO ARGUMENTS. POST {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"no_arguments_check_this_hosts_own_discovery_documents","arguments":{}}} to https://www.pathwren.workers.dev/mcp/doctor — the answer is the whole agent-discovery catalogue checked against THIS host — every document this server tracks, whether this host serves it, its size and content type, which ones are missing, and the part only this server can add: the named clients it has watched ask for each file, when, and the status that request took. There is nothing to fill in: the input schema is literally empty, arguments: {} and no arguments key at all both work, and the subject is a file this host already publishes, so the answer does not depend on you at all. No key, no account, no OAuth, no session to open first, read-only, and nothing for you to invent. Nothing is fetched to build it — no request leaves this edge, and none is made to you. whoami and example are here too and take nothing either. Every other tool on this server wants a file pasted in; this one wants nothing. The siblings answer one question each under the tool named beside them: /mcp (whoami), /mcp/lint (whoami), /mcp/triage (no_arguments_triage_this_hosts_own_crawler_log), /mcp/robots (no_arguments_lint_this_hosts_robots_txt), /mcp/netcheck (no_arguments_report_the_crawler_ip_ranges_this_host_mirrors), /mcp/markdown (markdown_lane_self_report). Example: the complete call, exactly as written, nothing to fill in — {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"no_arguments_check_this_hosts_own_discovery_documents","arguments":{}}} returns a present/missing verdict per tracked document with its byte size, the group each belongs to, the score out of the catalogue, and the observed askers per document with the date and status each one got.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
caveatsYes
licenseYes
reproduceYes
answered_byYes
independentYes
what_this_isYes
this_call_touchedYes
takes_no_argumentsYes
no_request_was_madeYes
what_is_missing_hereYes
to_do_this_for_your_own_hostNo
this_hosts_discovery_documentsYesPer-document verdicts, the group rollup and the score.
who_has_been_observed_asking_for_theseYes

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint false), the description discloses meaningful behavioral traits: no request leaves this edge, nothing is fetched to build the answer, no key/account/OAuth/session is required, and the result is independent of caller input. These are genuinely additive facts an agent could not infer from the schema or annotations alone, and nothing contradicts the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a very long single paragraph with heavy redundancy: 'takes no arguments / nothing to fill in / takes nothing / wants nothing' is restated at least five times, and the full JSON-RPC example call appears twice. It is front-loaded with the most critical fact ('TAKES NO ARGUMENTS'), but many sentences repeat rather than earn their place, and the wall-of-text structure hurts readability.

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

Completeness5/5

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

For a zero-parameter, read-only tool with rich annotations and an output schema, the description is complete: it names the endpoint, the exact JSON-RPC call shape, the return contents (present/missing verdict, byte size, group, score, askers with date and status), and sibling routing. Nothing an agent needs to invoke it correctly is missing.

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

Parameters5/5

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

With zero parameters the baseline is 4, and the description adds real semantics on top: 'the input schema is literally empty, `arguments: {}` and no `arguments` key at all both work.' This tells an agent exactly how to construct a valid call and confirms there is nothing to invent.

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

Purpose5/5

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

The description states a specific verb and resource: it checks THIS host's own agent-discovery catalogue, reporting per tracked document whether this host serves it, its size and content type, which are missing, and observed askers with dates and statuses. It also distinguishes itself from siblings by name, implicitly contrasting with check_discovery_documents ('the discovery check this server runs on a host you name, run on this host'). Confusing as the tool name is, the description leaves no doubt about what the tool does.

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

Usage Guidelines5/5

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

Explicit routing is provided: 'Every other tool on this server wants a file pasted in; this one wants nothing,' and each sibling is listed with the one question it answers (e.g., /mcp/triage maps to no_arguments_triage_this_hosts_own_crawler_log, /mcp/netcheck to the crawler IP ranges tool). The condition for choosing this tool is also stated — the subject is a file this host already publishes, so the answer does not depend on the caller.

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

validate_agent_cardCheck a pasted A2A agent cardA
Read-onlyIdempotent
Inspect

FIRST CALL, needs nothing: {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"no_arguments_check_this_hosts_own_discovery_documents","arguments":{}}} — Validates a pasted /.well-known/agent-card.json against the nine fields A2A marks required and each skill's id/name/description/tags, and warns on capabilities declared true that a reader will then try. Example: json='{"name":"a"}' returns the eight missing fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
jsonYesThe agent card JSON itself, not a URL.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and idempotentHint, and the description adds meaningful behavior: checking nine required fields, validating skill fields, warning on capabilities declared true, and giving a concrete example where json='{"name":"a"}' returns the eight missing fields. This goes well beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core description is tight and informative, but the embedded full JSON-RPC first-call invocation is verbose and could be misread as saying validate_agent_card itself needs no arguments, contradicting the required json parameter. This structural confusion reduces clarity.

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

Completeness5/5

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

For a single-parameter, read-only validation tool with no output schema, the description covers input expectations, validation criteria, warning behavior, and an example return. An agent has enough information to call it correctly and interpret the result.

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

Parameters4/5

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

The schema already describes the json parameter as 'The agent card JSON itself, not a URL', and the description reinforces this with 'pasted' and an example. With 100% schema coverage, the baseline is 3; the example and emphasis on pasted JSON lift it to 4.

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

Purpose5/5

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

The description states a specific action: validates a pasted /.well-known/agent-card.json against the nine fields A2A requires, plus each skill's id/name/description/tags. This clearly distinguishes it from sibling validators like validate_llms_txt and check_discovery_documents.

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

Usage Guidelines4/5

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

The 'FIRST CALL, needs nothing' instruction with the JSON-RPC payload guides the agent to first call the no-argument sibling no_arguments_check_this_hosts_own_discovery_documents. The word 'pasted' also clarifies that this tool takes inline JSON rather than a URL. It does not explicitly name alternatives or state when not to use it, so it falls just short of a 5.

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

validate_llms_txtCheck a pasted llms.txtA
Read-onlyIdempotent
Inspect

FIRST CALL, needs nothing: {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"no_arguments_check_this_hosts_own_discovery_documents","arguments":{}}} — Checks pasted llms.txt against the format: one H1, a blockquote summary, H2 sections of - [name](url): notes. Errors and warnings with line numbers and fixes, plus the parsed links. Text in, nothing fetched. Example: text='# Site' warns it has no summary and no sections.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe llms.txt content itself, not a URL.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark this as read-only, idempotent, and non-destructive. The description adds meaningful behavioral detail: it produces 'Errors and warnings with line numbers and fixes, plus the parsed links,' and explicitly states 'nothing fetched.' No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description packs useful information, and the key behavior is front-loaded, but the embedded JSON-RPC literal for a different tool is noisy and distracts from the definition of validate_llms_txt. It could be trimmed to improve readability without losing meaning.

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

Completeness5/5

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

For a one-parameter, read-only, idempotent validator with no output schema, the description covers input constraints, validation rules, output components, side-effect-free behavior, and provides an illustrative example. Nothing essential is missing.

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

Parameters4/5

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

The input schema already fully describes the text parameter at 100% coverage, including 'The llms.txt content itself, not a URL.' The description reinforces this by noting 'pasted' input and 'Text in, nothing fetched,' adding practical nuance beyond the schema.

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

Purpose5/5

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

The description states a specific verb and resource: "Checks pasted llms.txt against the format: one H1, a blockquote summary, H2 sections of `- [name](url): notes`." This clearly distinguishes it from siblings like validate_agent_card, and the validation rules are concrete.

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

Usage Guidelines4/5

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

The opening 'FIRST CALL, needs nothing' plus the JSON-RPC example for no_arguments_check_this_hosts_own_discovery_documents explicitly guides the agent to call that tool first. Saying 'Text in, nothing fetched' also clarifies the intended input style, indirectly distinguishing this from fetching/sitemap tools. It does not explicitly name alternative siblings, but the context is sufficient.

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

whoamiWho is calling? — the one call that needs nothing from youA
Read-onlyIdempotent
Inspect

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"whoami","arguments":{}}} — POST that to https://www.pathwren.workers.dev/mcp/doctor and the answer is the user-agent you sent, the class this host's own instrument books it as, whether we have logged you here before — and the part only this server can answer: which of the discovery documents this catalogue tracks (llms.txt, the agent card, mcp.json, apis.json, oauth-protected-resource…) a client like yours has been observed asking THIS host for, when, and what status it took. Takes no arguments. Safe to call. Deterministic. Touches no third party. Nothing is fetched to build it: every fact comes from the headers on your own request or from a file this host already publishes. Only this server answers the last part — its five siblings answer one other question each about you, same empty arguments, each under the tool named beside its path: /mcp (whoami), /mcp/lint (whoami), /mcp/triage (no_arguments_triage_this_hosts_own_crawler_log), /mcp/robots (no_arguments_lint_this_hosts_robots_txt), /mcp/netcheck (no_arguments_report_the_crawler_ip_ranges_this_host_mirrors), /mcp/markdown (markdown_lane_self_report) on https://www.pathwren.workers.dev. Example: arguments={} returns your user-agent, your address, the class we book you as, whether we have seen you here before, and which agent-discovery documents this host has watched a client like yours ask for — the dates, and the status each request took.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
youYesThe user-agent you sent and the address you came from.
caveatsYesWhat this answer does NOT establish — a user-agent is a claim.
licenseYes
answered_byYesWhich server answered, at which endpoint.
independentYesThis host is independent and unaffiliated.
we_book_you_asYesThe class this host's own instrument records for that user-agent.
we_have_seen_youYesWhether this user-agent appears in the published observation window.
this_call_touchedYesExactly which files were read to answer. No third party is contacted.

TDQS

A3.8/5.0
Behavior5/5

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

Beyond the annotations, it adds deterministic, no third-party contact, no fetching (data comes from request headers or already-published files), and exactly which facts are returned. It also explicitly says it takes no arguments and is safe to call, consistent with readOnly/idempotent/destructive hints. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense, rambling paragraph with a full JSON-RPC example, URL, sibling paths, and a duplicate example; the core behavior appears only after a long preamble. Many details could be trimmed or moved to a shorter 'returns' sentence.

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

Completeness4/5

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

For a zero-argument, read-only tool with an output schema, the description is more than sufficient: it explains the output semantics, determinism, no side effects, and no third-party dependencies. Extraneous transport-level detail and a confusing sibling count slightly undermine readability, but nothing essential about invoking the tool is missing.

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

Parameters4/5

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

There are zero parameters and the schema already documents this via empty properties/required. The description reinforces it ('Takes no arguments') and gives an empty-arguments example, which is all that is needed at this level.

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?

The description clearly states the tool returns caller identity data (user-agent, address, classification, prior-visit flag) and the host's observed discovery-document requests with dates/statuses. It also distinguishes it from siblings by noting only this server answers the discovery-log part. However, the purpose is buried under a JSON-RPC/URL preamble and a long list of sibling paths.

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

Usage Guidelines3/5

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

It communicates use context: callable with no args, safe/deterministic, no third-party calls, and suitable for learning what the server knows about the caller. It contrasts with siblings but doesn't give concrete when-to-use/when-not-to-use criteria per sibling beyond 'one other question each about you.' No explicit exclusions or decision rule.

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.

  1. 1 tool update
    • Addedno_arguments_check_this_hosts_own_discovery_documents
  2. 7 tool updates
    • First observedcheck_discovery_documents
    • First observedexample
    • First observedexplain_document
    • First observedllms_txt_from_sitemap
    • First observedvalidate_agent_card
    • First observedvalidate_llms_txt
    • First observedwhoami

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    53 security & enrichment MCP tools for AI agents. Contract scanning, threat intel, OSINT, crypto data, DNS/WAF recon. Pay-per-call via HTTP 402 + USDC on Base mainnet. No API keys. First call free.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Keyless, pay-per-call AI gateway: 248 LLMs plus image/video/voice/music generation and live crypto, DeFi, markets, web-search and research tools through one MCP server. Pay per call in USDC via x402 on Base/Solana — no API key, no signup, free tier.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides real Bitcoin full node data via 17 tools, with pay-per-call in USDC on Base mainnet. Free tools include blockchain info, fees, and mempool; paid tools enable transaction tracking, address analysis, and more.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources