Skip to main content

llmsdottxt-mcp

Auto-discover llms.txt from your deps. Docs your agent can read. Zero setup.

llmsdottxt-mcp scans your project's dependencies, discovers each package's llms.txt documentation endpoint, fetches and indexes the content locally, and exposes it to AI coding agents over the Model Context Protocol — so your agent reads first-party docs instead of guessing or scraping.

Why

Unlike scraping-based doc tools, llmsdottxt-mcp is local-first and llms.txt-native: auto-discovery from your real dependencies, platform-aware fetching (Mintlify, Read the Docs, Docusaurus, GitHub Pages), a persistent searchable index, and size-safe handling of large llms-full.txt files.

It is also resilient to docs hosts that push back: a genuine 429/503 is retried with backoff (honoring Retry-After), while an unsolvable bot challenge — Cloudflare, DataDome, Imperva, AWS WAF, Akamai, Sucuri — is detected and reported as blocked (a browser is required to pass it), so it is never silently miscounted as "no docs".

Status

  • Project status: pre-1.0 public preview.
  • Python: 3.14+.
  • API stability: MCP tool names and response schemas may change before 1.0.
  • Support: GitHub issues for bugs and features; private security reports for vulnerabilities.

Install & Run

uvx llmsdottxt-mcp scan      # index the current project's dependencies
uvx llmsdottxt-mcp status    # show indexed packages
uvx llmsdottxt-mcp serve     # start the MCP server on stdio
uvx llmsdottxt-mcp doctor    # diagnose paths, write access, registry connectivity

Add it to an MCP client (e.g. Claude Code) as a stdio server running llmsdottxt-mcp serve.

MCP Surface

Tools: index_deps, search, browse, status. Resources: llmstxt://packages, llmstxt://package/{ecosystem}/{name}. Prompts: find_docs_for_import.

Configuration

Everything is convention-based; override via LLMSTXT_* env vars (see .env.example). The index lives in ~/.llms.txt.d/.

Ecosystems

Four ecosystems are supported end-to-end — each pairs a manifest scanner with a registry resolver:

Ecosystem Manifest(s) Registry Docs source
Python pyproject.toml, requirements.txt PyPI JSON API project URLs / homepage
Node package.json npm registry homepage
Rust Cargo.toml crates.io API documentation / homepage
Go go.mod proxy.golang.org pkg.go.dev

Add an ecosystem by dropping a BaseScanner and BaseResolver into their registries — see ROADMAP.md.

Development

uv sync --all-groups
uv run ruff check && uv run ty check && uv run basedpyright
uv run lint-imports && uv run pytest -n auto

See AGENTS.md for architecture and conventions.

Release files for llmsdottxt-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llmsdottxt-mcp 0.2.0
File Size Uploaded
llmsdottxt_mcp-0.2.0.tar.gz 56.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llmsdottxt-mcp 0.2.0
File Interpreter ABI Platform
llmsdottxt_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 118.6 kB

Release files / llmsdottxt_mcp-0.2.0.tar.gz

Download URL llmsdottxt_mcp-0.2.0.tar.gz
Size 56.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3652677d4fab069cf7b67ad3a5ad6ec8c9502a62a0f0a44035558683867e5fb9
BLAKE2b-256 checksum
How to use checksums
ad530c69fbd479efcdef64bc04e2dedef8b7e11c241a5e9bb34619b12ad72936
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / llmsdottxt_mcp-0.2.0-py3-none-any.whl

Download URL llmsdottxt_mcp-0.2.0-py3-none-any.whl
Size 62.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f7441feb204ce5868c7927125cca92ff8bc1b50fa025be56ce1cc4f2699f6a64
BLAKE2b-256 checksum
How to use checksums
a20cd66fa2a360f459db74dfbed498344d56c779cb8e11163ea9e44e554bc042
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page