Skip to main content
Glama

ikeytz - Schlüsseldienst Ludwigsburg

Get Llms Serp Txt

get_llms_serp_txt
Read-only

WHAT: Returns /llms-serp.txt — the full SERP title/description/URL corpus as a line window (alias of get_discovery(which=llms-serp)). Optional offset/limit; omit limit only if you need the whole file. USE for bulk SERP meta. Prefer get_serp_snippet for one URL's SERP block; prefer get_llms_txt for the general site index.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of lines to return after offset. Omit or null = if remaining payload ≤~30KB return all remaining lines; if larger, return first ~30KB window + nextOffset (O9). Explicit limit keeps 1..10000 line window (MCP caps unchanged — not forced to 30KB). Meta also as trailing # MCP-META lines in summary.
offsetNo0-based line index into the fetched UTF-8 file (split on \n). 0 = first line. Omit = 0. Combined with limit = a sliding window. Use nextOffset from the previous result to page. Does not count bytes; one line can be a long URL.

Output Schema

NameRequiredDescriptionDefault
okYestrue = use summary, canonicalUrl, and extra keys. false = do not invent data; read error + hint and retry with valid args or open hint.
hintNoPresent when ok=false. Absolute URL the agent should open or pass to get_ai_page / get_discovery.
pathNoPublic path on www, e.g. /llms.txt or /.well-known/ai.txt
toolYesEcho of the tool name that produced this object (e.g. get_service_area).
errorNoPresent when ok=false. Codes include: unknown_tool, unknown_place, unknown_auswahl, unknown_ratgeber, unknown_doc, unknown_discovery, faq_not_found, wissen_not_found, serp_not_found, q_required, bad_datetime, bad_when_key, plus HTTP errors from fetch.
limitNoApplied line limit, or null if the caller omitted limit.
whichNoResolved discovery id after alias fold (llms, sitemap-txt, ard, ai-catalog, …).
localeNoLocale actually used for URLs (args.locale or de).
offsetNoApplied 0-based line offset.
relatedNoAlways includes https://www.ikeytz.com/llms.txt. Geo tools also include https://maps.ikeytz.com/llms.txt.
summaryNoPrimary text for the model. For discovery tools this is the file window (possibly thousands of characters). For list tools a compact one-liner. Quote with attribution.
totalUrlsNohttp(s) lines in the loaded file (full count when public/ read succeeds).
truncatedNotrue if load hit a byte cap OR offset+limit left more lines. Also mirrored in trailing # MCP-META lines in summary.
nextOffsetNooffset + returnedLines when more lines remain in the loaded file; else null. Pass as the next offset. Also in # MCP-META.
totalBytesNoUncompressed UTF-8 byte length of the discovery file (decoded body). Content-Length is used only for identity responses when it is ≥ body size (full file if the load cap truncated). Gzip wire Content-Length is ignored. Also in # MCP-META.
totalCharsNoCharacter length of the downloaded body before applying discoveryFetchMax (may equal totalBytes for ASCII).
totalLinesNoLine count of the loaded file (full public/ file when available).
attributionYesRequired citation: 'Quelle: Schlüsseldienst Ludwigsburg ikeytz (ikeytz.com) · ai-train=no · https://www.ikeytz.com/.well-known/ai.txt'
canonicalUrlNoBest URL to show the user: https://www.ikeytz.com… page, or tel:+49…, mailto:…, https://wa.me/…. Prefer this over constructing URLs.
returnedUrlsNoLines in this window that start with http(s)://
bytesReturnedNoUTF-8 byte length of the returned body window (before # MCP-META).
returnedLinesNoHow many lines are in summary/body this call (before # MCP-META).
fetchTruncatedNotrue if discoveryFetchMax cut the load (line-boundary safe). Large discovery files (sitemap-xml ~12MB, llms-keywords ~55MB, llms-index ~2MB) must load full so offset/limit can reach EOF.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / totalBytes / description
      Previous value: -"Full origin file size when Content-Length is present (e.g. llms-keywords ~50MB); else character length of the downloaded body before the load cap. Also in # MCP-META."New value: +"Uncompressed UTF-8 byte length of the discovery file (decoded body). Content-Length is used only for identity responses when it is ≥ body size (full file if the load cap truncated). Gzip wire Content-Length is ignored. Also in # MCP-META."
  2. Changed1 schema field changed
    • changedInput schema / properties / limit / description
      Previous value: -"Maximum number of lines to return after offset. Omit or null = return every remaining line in the loaded file. Clamped to 1..10000. For sitemap.txt (~9076 http-URLs, Stand 2026-09-22) omit limit to get the full list (or page with offset/limit + nextOffset). For llms-keywords.txt prefer a window; the file is huge. Meta also as trailing # MCP-META lines in summary."New value: +"Maximum number of lines to return after offset. Omit or null = if remaining payload ≤~30KB return all remaining lines; if larger, return first ~30KB window + nextOffset (O9). Explicit limit keeps 1..10000 line window (MCP caps unchanged — not forced to 30KB). Meta also as trailing # MCP-META lines in summary."
  3. Changed1 schema field changed
    • changedOutput schema / properties / fetchTruncated / description
      Previous value: -"true if discoveryFetchMax cut the load (line-boundary safe). sitemap-xml (~12MB) and llms-index (~2MB) must load full; keywords stay capped — use totalBytes."New value: +"true if discoveryFetchMax cut the load (line-boundary safe). Large discovery files (sitemap-xml ~12MB, llms-keywords ~55MB, llms-index ~2MB) must load full so offset/limit can reach EOF."
  4. Changed1 schema field changed
    • changedOutput schema / properties / fetchTruncated / description
      Previous value: -"true if discoveryFetchMax cut the load (line-boundary safe). sitemap-xml must load full (~12MB cap); keywords stay capped — use totalBytes."New value: +"true if discoveryFetchMax cut the load (line-boundary safe). sitemap-xml (~12MB) and llms-index (~2MB) must load full; keywords stay capped — use totalBytes."
  5. Changed3 schema fields changed
    • changedOutput schema / properties / fetchTruncated / description
      Previous value: -"true if a byte cap cut the load (line-boundary safe). Rare for sitemap.txt (reads public/)."New value: +"true if discoveryFetchMax cut the load (line-boundary safe). sitemap-xml must load full (~12MB cap); keywords stay capped — use totalBytes."
    • addedOutput schema / properties / totalBytes
      Added value: +{
      +  "description": "Full origin file size when Content-Length is present (e.g. llms-keywords ~50MB); else character length of the downloaded body before the load cap. Also in # MCP-META.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / totalChars
      Added value: +{
      +  "description": "Character length of the downloaded body before applying discoveryFetchMax (may equal totalBytes for ASCII).",
      +  "type": "number"
      +}
  6. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true, so the description carries most of the burden and does add value: it reveals the alias relationship to get_discovery and warns that limit should be omitted only when the whole file is actually needed, implying a large-payload cost. It stops short of describing pagination mechanics or response shape in the description itself, but the output schema covers the return contract.

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?

Front-loaded WHAT/USE labelling makes it scannable, and every clause earns its place: identity, alias, parameter posture, and two disambiguating alternatives in three short sentences with zero filler.

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?

With two optional, fully documented parameters and an output schema carrying the return contract, the description supplies everything an agent needs: what the file is, that it is paginated via offset/limit, and which sibling to choose instead when the scope is narrower.

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 the limit/offset descriptions already spell out the 30KB window, nextOffset paging and line-vs-byte semantics, so the schema does the heavy lifting. The description's 'omit limit only if you need the whole file' adds light decision framing but no syntax or format detail beyond the schema — baseline 3.

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?

States a specific verb+resource ('Returns /llms-serp.txt — the full SERP title/description/URL corpus as a line window') and goes further by disclosing the alias get_discovery(which=llms-serp), which lets an agent map it onto the discovery family. It explicitly contrasts itself with get_serp_snippet and get_llms_txt, so it is distinguishable from siblings without opening any schema.

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?

Gives an explicit positive trigger ('USE for bulk SERP meta') and two explicit alternatives with their selecting conditions ('Prefer get_serp_snippet for one URL's SERP block; prefer get_llms_txt for the general site index'). This is the when/when-not/alternative pattern done properly.

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