Skip to main content
Glama

Lint a robots.txt

lint_robots_txt
Read-onlyIdempotent

FIRST CALL, needs nothing: {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"no_arguments_lint_this_hosts_robots_txt","arguments":{}}} — Parse a robots.txt you paste and report every fault that makes it do something other than what it looks like: misspelled directives, a full UA string where a product token belongs, rules before any User-agent line, duplicate groups, noindex (unsupported since 2019), relative Sitemap URLs, BOM. Each finding carries the line number and the fix. Example: robots_txt='User-agent: GPTBot\nDisallow: /\n\nUser-agent: *\nAllow: /\n' — paste the whole file, it is never fetched for you. Also callable without MCP, same implementation: GET https://www.pathwren.workers.dev/tools/robots-lint?robots_txt=&s=client-dossiers — or POST the file as the raw body to the same URL.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
robots_txtYesThe contents of the robots.txt file.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description aligns with them. It adds substantial behavioral detail: it reports line numbers and fixes, flags specific fault types, and emphasizes the file is never fetched. There is no contradiction.

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 overlong and front-loaded with a JSON-RPC call to a sibling tool rather than this tool's own usage. The alternate HTTP endpoint and embedded workflow instruction add noise, making the genuinely useful guidance harder for an agent to parse.

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 simple one-string read-only linter with no output schema, the description sufficiently covers what to pass, how to pass it, what will be analyzed, and what the results contain. The main gap is the confusing FIRST CALL workflow, which slightly reduces completeness.

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 provides 100% coverage for the single robots_txt parameter, so this is a baseline 3. The description adds value by explicitly requiring the whole file, giving an example, and clarifying that a URL or hostname is not an acceptable substitute.

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 action and resource: 'Parse a robots.txt you paste and report every fault', and lists the kinds of faults in detail. It is distinguishable from siblings like am_i_allowed or diff_robots_txt, though the opening JSON-RPC call to no_arguments_lint_this_hosts_robots_txt 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?

The phrase 'paste the whole file, it is never fetched for you' implies when this tool is appropriate (user-supplied content) and hints that fetching is not part of this tool. However, it never explicitly contrasts this tool with the sibling no_arguments_lint_this_hosts_robots_txt or says when to prefer one over the other.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources