MCP server that fetches and searches latest stable documentation for packages on PyPI, npm, and crates.io.
Project description
scoutdocs-mcp
MCP server that fetches and searches the latest stable documentation for any package. Keeps AI coding agents in sync with current APIs instead of relying on stale training data.
Two ways to run it:
- Local stdio (Python) — installs into Claude Code / Claude Desktop / Cursor, can read your project's manifests.
- Hosted Worker (Cloudflare) — public HTTPS endpoint at
/mcp, no install required.
Why
LLMs are trained on a snapshot — the docs they "know" may be months or years old. scoutdocs-mcp gives any MCP client live access to the latest stable version info, READMEs, and search results across docs sites for packages on PyPI, npm, and crates.io.
How it works
Tools
| Tool | Where | What it does |
|---|---|---|
get_package_info |
local + hosted | Latest stable version, docs URL, repo, license |
get_package_docs |
local + hosted | README / long-description content |
search_package_docs |
local + hosted | Bounded discovery: docs URL, llms.txt / llms-full.txt, sitemap, same-host links — ranks pages by query match |
detect_project_dependencies |
local only | Reads pyproject/requirements/uv.lock, package.json/package-lock, Cargo.toml/Cargo.lock |
cache_stats |
local only | Local SQLite cache stats |
Quickstart
Local (Python stdio)
pip install scoutdocs-mcp # or: uv tool install scoutdocs-mcp
Add to Claude Code's MCP config (~/.claude/claude_code_config.json):
{
"mcpServers": {
"scoutdocs": {
"command": "uvx",
"args": ["--from", "scoutdocs-mcp", "scoutdocs-mcp"]
}
}
}
For Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS), use the same shape.
Hosted (Cloudflare Worker)
Point any MCP client at the public Streamable HTTP endpoint:
https://scoutdocs-mcp.<workers-subdomain>.workers.dev/mcp
The hosted endpoint is unauthenticated and rate-limited (60 MCP req/min, 10 search req/min per client IP). Search results are capped tighter than local (8 discovered pages × 18k chars / 200k total backstop) but well within Cloudflare free-tier headroom.
Example prompts
> What's the latest version of flask?
> Show me the docs for the serde crate
> Search the httpx docs for "transport"
> What dependencies does this project declare?
Configuration
GitHub token (optional, local only)
Unauthenticated GitHub API allows 60 req/hr. A token (any scope) raises that to 5,000/hr — useful when fetching READMEs in bulk:
export GITHUB_TOKEN=ghp_your_token_here
Cache
- Local stdio: SQLite at
~/.cache/scoutdocs-mcp/cache.db, 24h TTL. - Hosted Worker: Cloudflare KV, same 24h TTL, scoped per binding.
Search caps
The README is always included as a free first page. The max_pages cap
governs how many discovered pages we add on top of it.
| Hosted | Local default | |
|---|---|---|
| Discovered pages | 8 (max 20 via max_pages arg) |
15 (max 30 via max_pages arg) |
| Chars/page | 18,000 | 24,000 |
| Total backstop | 200,000 | 500,000 |
Supported ecosystems
| Ecosystem | Registry | Aliases |
|---|---|---|
| Python | PyPI | python, pypi, pip |
| JavaScript / TypeScript | npm | javascript, typescript, npm, js, ts |
| Rust | crates.io | rust, cargo, crate |
If no ecosystem is specified, registries are tried in order.
Repository layout
src/scoutdocs_mcp/ Python stdio server (published as scoutdocs-mcp)
worker/ Cloudflare Worker (TypeScript) for the hosted endpoint
tests/ pytest suite (mocked HTTP)
worker/test/ Vitest suite (Cloudflare workers pool)
docs/RELEASE.md Release & deployment runbook
Status
Beta (0.2.0b1). API stable; some discovery sources may evolve. Filed issues welcome at https://github.com/eshaanmathakari/scoutdocs-mcp/issues.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scoutdocs_mcp-0.2.0b1.tar.gz.
File metadata
- Download URL: scoutdocs_mcp-0.2.0b1.tar.gz
- Upload date:
- Size: 119.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b48c103c404b7f86a89d1bdcf5b74cd973c32d12b9a14f4848711951c58a2a3
|
|
| MD5 |
087bee073f631ba01845496c888319e5
|
|
| BLAKE2b-256 |
990c9b8546bfe30fb031a95f22257917137ac79ae091a231059cc490e26c0487
|
File details
Details for the file scoutdocs_mcp-0.2.0b1-py3-none-any.whl.
File metadata
- Download URL: scoutdocs_mcp-0.2.0b1-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
859ff55104d0f2c1b9643746c51ec881f2f7ffee34659a80b0e5d7a04cbf6439
|
|
| MD5 |
5000d9b0a693130aff03d02680cb55d4
|
|
| BLAKE2b-256 |
4a50e2e4476dad6e6f01fe7b568f2d3eb01815c30421e48a9c56ab5f1bdee8ed
|