python-docs-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_docsA | Search Python documentation. Use kind='symbol' for API lookups (asyncio.TaskGroup), kind='example' for code samples, kind='auto' otherwise. When version is omitted, searches across all versions. Pass the version from each hit's version field to get_docs for consistent results. |
| get_docsA | Retrieve a documentation page or specific section. Provide anchor for section-only retrieval (much cheaper). Pagination via start_index. |
| lookup_package_docsA | Look up package-declared docs/homepage/source URLs via official PyPI metadata. This is not generic web search: it only queries PyPI's JSON API and returns official PyPI metadata plus package-declared project URLs. |
| list_versionsA | List Python documentation versions available in this index. |
| detect_python_versionA | Detect the Python version in the user's environment. Returns the detected version, how it was found, and whether it matches an indexed documentation set. |
| compare_versionsA | Diff a Python stdlib symbol between two indexed versions. Returns change=added|removed|changed|unchanged with optional new_in, changed_in, deprecated_in, signature_delta (advisory), see_also_added/removed, section_diff, and note fields. Both versions must be indexed; otherwise an actionable error names the available versions. |
| whatsnew_for_versionA | Browse indexed official What's New sections in document order. Use kind to narrow the release topics. Sections are bounded; for full text use get_docs(slug='whatsnew/X.Y', version='X.Y', anchor=section.anchor). Pagination start_index counts nonempty sections after kind filtering. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a reasonably distinct role: search_docs finds, get_docs retrieves, compare_versions diffs symbols, and lookup_package_docs queries PyPI metadata rather than docs. The main overlap is that whatsnew_for_version partly duplicates get_docs(slug='whatsnew/X.Y'), which the description itself acknowledges, but the ordered browsing and kind filtering give it a separate niche.
All seven tools use snake_case and a verb_noun or verb_object pattern (get_docs, list_versions, search_docs, compare_versions, detect_python_version, lookup_package_docs). The only off-pattern name is whatsnew_for_version, where the leading token is not a verb, but it remains readable and predictable.
Seven tools is well within the ideal 3-15 range for a documentation server. Each tool maps to a distinct capability (retrieval, search, versioning, detection, package metadata, changelog browsing) and none feel redundant.
The surface covers discovery (list_versions, detect_python_version), search, retrieval, cross-version diffing, changelog browsing, and third-party package URLs. Minor gaps exist, such as listing all symbols in a module or enumerating searchable kinds/scopes without trial, but core agent workflows are fully supported.