Skip to main content

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

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llmsdottxt_mcp-0.2.0.tar.gz (56.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llmsdottxt_mcp-0.2.0-py3-none-any.whl (62.2 kB view details)

Uploaded Python 3

File details

Details for the file llmsdottxt_mcp-0.2.0.tar.gz.

File metadata

  • Download URL: llmsdottxt_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 56.4 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for llmsdottxt_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3652677d4fab069cf7b67ad3a5ad6ec8c9502a62a0f0a44035558683867e5fb9
MD5 bc5278f4b8dd7c4b436c3077e730bfef
BLAKE2b-256 ad530c69fbd479efcdef64bc04e2dedef8b7e11c241a5e9bb34619b12ad72936

See more details on using hashes here.

File details

Details for the file llmsdottxt_mcp-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: llmsdottxt_mcp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 62.2 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for llmsdottxt_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f7441feb204ce5868c7927125cca92ff8bc1b50fa025be56ce1cc4f2699f6a64
MD5 84b1e4f16e09f6a2b3d6be0615279955
BLAKE2b-256 a20cd66fa2a360f459db74dfbed498344d56c779cb8e11163ea9e44e554bc042

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page