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.1.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.1-py3-none-any.whl (59.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: llmsdottxt_mcp-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 48108aeb1f0c86aeed65f7b75b272d0093d206cd4a51c31403c33b85c3ead278
MD5 78fde7ac36da7cf390bf0b45e62c84c3
BLAKE2b-256 a3531906c0de474dd9c45f1b98c3a064da386b29dc49c0eb6183b53c4ad3dc02

See more details on using hashes here.

File details

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

File metadata

  • Download URL: llmsdottxt_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 59.9 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 96daf6662d1b96eb94fe1eb5e325246dd4a3e5b819458f44a025b2a11b8fd272
MD5 b3e59e3cb21c8e75f5d90c78897b911b
BLAKE2b-256 149f6fee0b0c45571073972734e74762289a01bfabad921fe9a95d45db844aeb

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