The canonical Python stdlib oracle for AI coding agents — exact symbols, exact sections, exact versions, offline, always free, always MIT, token-frugal.
python-docs-mcp-server demonstrates solid definition quality with clear naming, comprehensive parameter schemas, and descriptive documentation. All 7 tools follow verb_noun naming convention (search_, get_, list_, detect_, compare_, package_). Parameter descriptions are present and reasonably detailed. However, output schemas are not explicitly documented in the provided source, and some descriptions lack actionable detail about return types and error conditions. Tool composition is well-designed with clear single responsibilities.
Compare Python documentation across two versions for the same symbol or page.
Detect the user's current Python version and match it to available indexed versions.
Retrieve full documentation for a specific page, optionally filtered to a section anchor.
Retrieve documentation content with pagination support.
List all available Python documentation versions in the index.
Retrieve documentation and metadata for a PyPI package.
Search Python documentation by query, kind (symbol/page/section/example/auto), version, and result limit.
Output schemas not explicitly documented. While input schemas are comprehensive with type constraints, enum values, and min/max bounds, the tools lack documented return types and field structures. LLMs cannot reliably plan downstream operations without knowing what fields to expect.
Error handling descriptions missing. No guidance on recovery strategies, retryable vs fatal errors, or actionable error messages. E.g., what happens when a symbol is not found in a given Python version? Should the LLM try a different version or fall back to search?
Tools return max_chars parameter, but output truncation behavior is not described. LLMs need to know: does the response indicate when it's truncated? Is there a next_cursor or is pagination the only way to get more?
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2025-06-18+ | v2 |
compare_versions tool lacks clarity on what format differences are returned in. Are they diffs, side-by-side tables, or unstructured text? This affects how LLMs can reason about version changes.
package_docs tool description is generic ('Retrieve documentation and metadata for a PyPI package'). It does not clarify: Does it fetch from PyPI's JSON API or parse docs.python.org? Does it return the README, docstrings, or a URL to external docs? What metadata is included?