内容
# llmsdottxt-mcp
**自动发现项目依赖中的 [`llms.txt`](https://llmstxt.org),为 AI 编程代理提供可读文档。无需额外设置。**
`llmsdottxt-mcp` 扫描项目的依赖项,发现每个包的 `llms.txt` 文档端点,获取并在本地索引内容,然后通过模型上下文协议将内容提供给 AI 编程代理。这样,代理可以直接读取一手文档,而无需猜测或抓取。
## 为什么选择 llmsdottxt-mcp
与基于抓取的文档工具不同,llmsdottxt-mcp **优先考虑本地化** 和 **原生 llms.txt 支持**:自动从真实依赖项中发现,平台感知获取(Mintlify、Read the Docs、Docusaurus、GitHub Pages),持久化可搜索索引,以及安全处理大型 `llms-full.txt` 文件。
它还具备抵御文档托管方阻挠的能力:遇到真正的 `429`/`503` 错误时会重试并退避(遵守 `Retry-After` 指令),而遇到无法解决的机器人挑战(如 Cloudflare、DataDome、Imperva、AWS WAF、Akamai、Sucuri)时会检测并报告为 **已屏蔽**(需要浏览器才能通过),从而避免被错误地计为“无文档”。
## 状态
- 项目状态:1.0 版本前公开预览。
- Python:3.14+。
- API 稳定性:MCP 工具名称和响应模式可能会在 1.0 版本前更改。
- 支持:通过 GitHub 问题报告漏洞和功能需求;通过私有的安全报告机制报告安全漏洞。
## 安装与运行
```sh
uvx llmsdottxt-mcp scan # 索引当前项目的依赖项
uvx llmsdottxt-mcp status # 显示已索引的包
uvx llmsdottxt-mcp serve # 在标准输入/输出上启动 MCP 服务器
uvx llmsdottxt-mcp doctor # 诊断路径、写入权限、注册表连接
```
将其添加到 MCP 客户端(例如 Claude Code)中,作为运行 `llmsdottxt-mcp serve` 的标准输入/输出服务器。
## MCP 接口
**工具:** `index_deps`、`search`、`browse`、`status`。
**资源:** `llmstxt://packages`、`llmstxt://package/{ecosystem}/{name}`。
**提示:** `find_docs_for_import`。
## 配置
所有配置均基于约定;可通过 `LLMSTXT_*` 环境变量覆盖(参见 [`.env.example`](./.env.example))。索引存储在 `~/.llms.txt.d/` 中。
## 支持的生态系统
四个生态系统得到端到端支持——每个生态系统都配有一款清单扫描器和一款注册表解析器:
| 生态系统 | 清单文件 | 注册表 | 文档来源 |
| --- | --- | --- | --- |
| Python | `pyproject.toml`、`requirements.txt` | PyPI JSON API | 项目 URL / 首页 |
| Node | `package.json` | npm 注册表 | 首页 |
| Rust | `Cargo.toml` | crates.io API | `documentation` / 首页 |
| Go | `go.mod` | proxy.golang.org | pkg.go.dev |
通过在注册表中添加 `BaseScanner` 和 `BaseResolver` 可以支持新的生态系统——参见 [`ROADMAP.md`](./ROADMAP.md)。
## 开发
```sh
uv sync --all-groups
uv run ruff check && uv run ty check && uv run basedpyright
uv run lint-imports && uv run pytest -n auto
```
参见 [`AGENTS.md`](./AGENTS.md) 了解架构和约定。