Skip to main content
Glama

Generate llms.txt

generate_llms_txt
Read-onlyIdempotent

Generate a production-ready llms.txt file for any URL so AI crawlers (ChatGPT, Claude, Perplexity) can index the site cleanly. Fetches the page, extracts title/description/key links, and emits the standard llms.txt markdown format. Output is a single text blob ready to drop at site-root/llms.txt. Useful for: getting a client's site indexed by AI, drafting llms.txt for your own project, or auditing how an AI crawler would see a competitor.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesFull URL of the site to summarize, e.g. "https://example.com" or a specific landing page.
max_linksNoMaximum number of link entries to include (default 25, max 50).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds valuable context beyond this by explaining the internal process (fetches the page, extracts title/description/key links) and the output format (standard llms.txt markdown blob). This provides insight into how the tool behaves without repeating annotation data.

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

Conciseness5/5

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

The description is compact and front-loaded with the main action. Two sentences plus a 'Useful for' list convey all essential information with no filler. Every sentence contributes meaning, and the structure is easy to scan.

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 tool with only two parameters, no output schema, and informative annotations, the description fully covers what the tool does, how it works, and the output format ('single text blob ready to drop at site-root/llms.txt'). It also gives practical use cases, making it complete for an agent to decide when and how to invoke it.

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?

The input schema already provides 100% coverage for both parameters (url and max_links) with clear descriptions. The tool description does not add additional semantic meaning about the parameters, relying on the schema to carry the detail. Baseline 3 is appropriate for high schema coverage.

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 uses a specific verb ('Generate') plus resource ('a production-ready llms.txt file for any URL') and clearly states the purpose ('so AI crawlers can index the site cleanly'). It distinguishes itself from siblings like ai_visibility_check or scan_competitor_ai_presence by focusing on producing a standardized file for any URL.

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 provides explicit use cases ('getting a client's site indexed by AI, drafting llms.txt for your own project, or auditing how an AI crawler would see a competitor'), giving clear context for when to use it. However, it does not mention alternatives or when NOT to use it, so it falls short of the highest bar.

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.5/5.0
Disambiguation2/5

Several tools overlap heavily: ask_pipeworx and ask_pipeworx_beta are explicitly identical, and ask_pipeworx, ask_pipeworx_grounded, deep_research, discover_tools, and suggest_questions all serve as query/discovery entry points. Polymarket tools also blur together (bet_research, polymarket_edges, polymarket_arbitrage, polymarket_edge_tracker, polymarket_fill_risk). While many tools have distinct purposes, these overlapping clusters create real misselection risk.

Naming Consistency2/5

All names are snake_case but the pattern is inconsistent: some are verb_noun (ask_pipeworx, search_datasets, validate_claim), some are noun_verb (query_layer, layer_info is noun_noun), and some are single vague words (forget, recall, remember). No consistent verb_prefix or resource_suffix convention, and the mix of meta-tools vs data tools makes the naming feel arbitrary.

Tool Count2/5

34 tools is far too many for a server ostensibly named 'Arcgis Lancaster' — only 3 tools relate to GIS. The bulk is an unrelated general-purpose data/prediction-market toolkit, making the count excessive for the apparent scope. Even as a broad data toolset, 34 tools is on the heavy side and would benefit from splitting into focused servers.

Completeness2/5

The tool surface is a grab bag with no coherent domain, so completeness is hard to assess and clearly lopsided. GIS functionality has search/query/info but no lifecycle management, while the data side has many query/analysis tools but no create/update/delete operations except for subscriptions and memory. Obvious gaps exist for a 'Lancaster' server (e.g., no layer creation, editing, or spatial analysis tools), and the unrelated tools make the set feel incomplete for any single stated purpose.