mcpField
L
llms.txt

llms.txt

Local
basitalisandhu.github.ioDeveloper Tools1Updated 2d ago

About llms.txt

llms.txt is an MCP server for generating and checking llms.txt files from local Markdown or a sitemap.xml. It helps developers prepare the convention-based index without fetching URLs or writing files.

Key features

  1. 01Generate from local Markdown
  2. 02Generate entries from a sitemap
  3. 03Check llms.txt format and structure
  4. 04Return skipped files and findings

Use cases

  1. 01Create an index from project documentation
  2. 02Build entries from a local sitemap
  3. 03Check an existing llms.txt before publishing

MCP support

The MCP server exposes tools to generate and check llms.txt content to MCP clients. It reads local files only and returns generated text without writing it.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"basitalisandhu-mcp-llms-txt": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/basitalisandhu/mcp-llms-txt:0.3.0"
]
}
}
}
Run commanddocker run -i --rm ghcr.io/basitalisandhu/mcp-llms-txt:0.3.0

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocighcr.io/basitalisandhu/mcp-llms-txt:0.3.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

llms-txt MCP server

Generates an llms.txt from a directory of Markdown or from a local sitemap.xml, and checks an existing llms.txt against the convention. Reads local files only; never writes and never fetches a URL.

Part of dev-mcp-servers. Stdio transport only; the server never opens a port.

Tools

ToolInputWhat it returns
generate_llms_txtdirectory, title, description?, details?, base_url?, url_style?, max_files?, include_dirs?, optional_sections?Scans .md, .mdx and .markdown files (skipping node_modules, .git, build output and hidden directories), takes each title from frontmatter, the first H1 or the file name and the notes from frontmatter or the first paragraph, groups by top-level folder, and returns the text plus the entries and anything skipped.
generate_from_sitemappath, title, description?, details?, include_prefix?, exclude_prefix?, optional_sections?, max_urls?One link per <url>, grouped by first path segment, titles derived from the URL (pages are not fetched).
check_llms_txtpath or contentErrors, warnings and info with line numbers: single H1 first, blockquote summary, H2 sections of - [name](url): notes, no deeper headings, no duplicates, modest size.

Install

Claude Code:

claude mcp add llms-txt -- docker run --rm -i -v "$PWD:/work:ro" ghcr.io/basitalisandhu/mcp-llms-txt:0.2.2

Add -s user to make it available in every project. Any client that reads .mcp.json (Claude Code, Claude Desktop, Cursor):

{
  "mcpServers": {
    "llms-txt": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-v", "/path/to/your/project:/work:ro", "ghcr.io/basitalisandhu/mcp-llms-txt:0.2.2"]
    }
  }
}

Pin the version as shown so that an update cannot change what runs in your editor without you noticing. The container sees only the mounted directory, so pass paths under /work. The package is not on npmjs.com yet, so npx does not work; see the repository README for GitHub Packages npm. From a checkout, use "command": "node", "args": ["<path>/packages/llms-txt/dist/index.js"] after npm install && npm run build at the repository root.

What it touches

  • Network: None.
  • Local files: Reads Markdown files under the directory you name (up to 1000 files, 1 MB each, 12 levels deep) or the one sitemap or llms.txt you name (up to 2 MB).
  • Telemetry: none.

Notes

  • The output is returned as text; write it to llms.txt yourself after reviewing it.
  • Sitemap-derived files have empty notes because page content is not fetched; fill them in before publishing.

Build and test

npm install        # at the repository root
npm run build -w @basitalisandhu/mcp-llms-txt
npm test -w @basitalisandhu/mcp-llms-txt

Tests use node:test and the SDK's in-memory transport; they do not reach the network.

Licence

MIT. See LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.