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.1.0.tar.gz (52.0 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.1.0-py3-none-any.whl (59.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: llmsdottxt_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 52.0 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.1.0.tar.gz
Algorithm Hash digest
SHA256 1157e03e3b02d1c93f1cd2a977ce71d0c6109ec3aaaeb3113a2a0edb9bb5b6ce
MD5 172295e74fce6a91c95504dafa4d9dd8
BLAKE2b-256 9ea058a31fdc9a75dcb0092fb730542afe7f073d76e0ac1f43942f9e76f2efb4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: llmsdottxt_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 59.8 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b593003661129d9fd29599c648c538e932a17a8c68d02e1b3eb5f2cc8e0043e7
MD5 ae1bb7b9a342295f7e0cf5c513acb8a8
BLAKE2b-256 d2348c628f31c43489a9d8a45ca2a0c88a7385ce0b975751f4de98abb2aa27e3

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