Skip to main content
Glama

Markdown Lane Check - llms.txt, .md twins, Accept: text/markdown

Parse and critique an llms.txt

explain_llms_txt
Read-onlyIdempotent

FIRST CALL, needs nothing: {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"markdown_lane_self_report","arguments":{}}} — Parses an llms.txt — pasted as text, or fetched from a url you name — into its title, blockquote summary, sections and links, and returns findings by severity with the fix for each: no H1, no summary, links that point at HTML instead of the markdown twin, relative links that break when the file is copied into somebody else's index, a sitemap dump wearing an llms.txt name, HTML tags in the body, duplicate targets, and a missing ## Optional section on a long list. Returns a ready-to-edit skeleton with every answer. Pasted text is parsed in the request and discarded; nothing is stored. Example: arguments={"url":"https://example.com"} fetches https://example.com/llms.txt and critiques it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoWhere to read it from. A bare origin means <origin>/llms.txt; a full path to llms.txt or llms-full.txt is taken as given. Ignored when `text` is present.
textNoThe contents of an llms.txt. When present nothing is fetched at all.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

B3.4/5.0
Behavior4/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 useful behavioral detail: it fetches a URL or parses pasted text, performs a specific list of checks, returns findings with fixes, and explicitly says pasted text is discarded and nothing is stored. No annotation 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 a long run-on that opens with a bloat of JSON-RPC for a different tool instead of the tool's purpose. The detailed list of checks and the example are useful, but the structure is not front-loaded and the irrelevant first-call text should be removed.

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 two-parameter, no-output-schema analysis tool, the description is fairly complete: it covers both input modes, the categories of findings, the returned skeleton, and the privacy behavior. The main deficiency is the confusing first-call preamble, but the essential operational details are present.

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%, so the baseline is 3. The description adds value by exemplifying the url argument and clarifying the mutually exclusive text/url modes, which helps an agent choose the right argument.

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 core purpose is explicit: 'Parses an llms.txt ... and returns findings by severity with the fix for each', naming the resource and the main output. It is not differentiated from siblings by name, and the opening 'FIRST CALL' command to invoke markdown_lane_self_report adds confusion, but the actual function is still specific.

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

Usage Guidelines2/5

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

There is no guidance on when to prefer this tool over siblings such as check_markdown_lane or whoami. The embedded 'FIRST CALL' instruction is actually a JSON-RPC example for markdown_lane_self_report, not for this tool, so it provides confusing sequencing rather than clear usage criteria.

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.

TDQS

A3.6/5.0
Disambiguation2/5

check_markdown_lane and explain_llms_txt are clearly distinct, but markdown_lane_self_report and whoami overlap heavily in what they report about the caller's fetched markdown lanes, and both claim to be the 'FIRST CALL'. The example tool adds further confusion by being a demo rather than a distinct analysis operation.

Naming Consistency2/5

Tool names mix styles: check_markdown_lane and explain_llms_txt use verb_noun, markdown_lane_self_report is a noun phrase, while whoami and example are single generic words. There is no consistent naming convention across the set.

Tool Count4/5

Five tools is a reasonable size for a focused checker, and the core check/explain pair earns its place. However, example is arguably unnecessary and the self-report/whoami pair could be consolidated without losing functionality.

Completeness4/5

The core domain is well covered: check_markdown_lane tests the six markdown lane affordances, and explain_llms_txt critiques llms.txt content. Minor gaps exist, such as no direct tool for checking an individual .md twin's status independent of the full lane check, but the main workflows have no dead ends.

Resources