Docstring quality vetting for Python -- enrichment, freshness, coverage, and presence checks
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Better docstrings, better AI.
ruff checks how your docstrings look. interrogate checks if they exist (but is unmaintained). docvet checks if they're right β and now covers presence too. Existing tools cover style; docvet delivers the layers they miss:
| Layer | Check | ruff | interrogate | pydoclint | docvet |
|---|---|---|---|---|---|
| 1. Presence | "Does a docstring exist?" | -- | Yes (unmaintained) | -- | Yes |
| 2. Style | "Is it formatted correctly?" | Yes | -- | -- | -- |
| 3. Completeness | "Does it have all required sections?" | -- | -- | Partial | Yes |
| 4. Accuracy | "Does it match the current code?" | -- | -- | -- | Yes |
| 5. Rendering | "Will mkdocs render it correctly?" | -- | -- | -- | Yes |
| 6. Visibility | "Will mkdocs even see the file?" | -- | -- | -- | Yes |
pydoclint covers 3 structural categories (Args, Returns, Raises). docvet's enrichment alone has 20 rules, including Raises, Yields, Receives, Warns, Attributes, Examples, cross-references, parameter agreement, and more. Add presence (coverage metrics + threshold enforcement), freshness (git diff/blame staleness detection), griffe rendering compatibility, and mkdocs coverage: 31 rules across 5 checks, in territory no other tool touches.
Quickstart | GitHub Action | Pre-commit | Configuration | AI Agent Integration | Docs
Presence (existence) -- 2 rules:
missing-docstring overload-has-docstring
Enrichment (completeness) -- 20 rules:
missing-raises missing-returns missing-yields missing-receives missing-warns missing-deprecation missing-param-in-docstring extra-param-in-docstring missing-other-parameters missing-attributes undocumented-init-params missing-typed-attributes missing-examples missing-cross-references extra-raises-in-docstring extra-yields-in-docstring extra-returns-in-docstring missing-return-type trivial-docstring prefer-fenced-code-blocks
Freshness (accuracy) -- 5 rules:
stale-signature stale-body stale-import stale-drift stale-age
Griffe (rendering) -- 3 rules:
griffe-unknown-param griffe-missing-type griffe-format-warning
Coverage (visibility) -- 1 rule:
missing-init
For optional griffe rendering checks:
Example output:
Configure via [tool.docvet] in your pyproject.toml. All checks run and print findings. Checks listed in fail-on cause a non-zero exit code; unlisted checks are treated as warnings.
Add to your .pre-commit-config.yaml:
For griffe rendering checks, add the optional dependency:
Add docvet to your GitHub Actions workflow β findings appear as inline annotations on your PR:
Select specific checks or pin a version:
For griffe rendering checks, install griffe before running docvet:
For tool-specific integration snippets, see the full AI Agent Integration guide.
Add docvet to your AI coding workflow. Drop this into your CLAUDE.md, .cursorrules, or agent configuration:
Recommended pyproject.toml configuration:
| Command | Description |
|---|---|
docvet check | Run all enabled checks (default: git diff files) |
docvet check --all | Run all checks on entire codebase |
docvet check --staged | Run all checks on staged files only |
docvet presence | Check for missing docstrings with coverage metrics |
docvet enrichment | Check for missing docstring sections |
docvet freshness | Detect stale docstrings via git |
docvet freshness --mode drift | Sweep for long-stale docstrings via git blame |
docvet coverage | Find files invisible to mkdocs |
docvet griffe | Check mkdocs rendering compatibility |
docvet fix | Scaffold missing docstring sections |
docvet fix --dry-run | Preview scaffolding changes without writing files |
docvet config | Show effective configuration with source annotations |
docvet lsp | Start LSP server for real-time editor diagnostics |
docvet mcp | Start MCP server for AI agent integration |
AI coding agents rely on docstrings as context when generating and modifying code. Agents modify code but often leave docstrings stale, and research shows stale or incorrect documentation is actively harmful, worse than no docs at all:
As the 2025 DORA report puts it: "AI doesn't fix a team; it amplifies what's already there." The only signal correlating with AI productivity is code quality.
docvet's freshness checking catches the accuracy gap that stale docs create, and its enrichment rules ensure the docstring sections that agents use as context are complete. Run docvet check in your CI, pre-commit hooks, or agent toolchain.
Add a badge to your project to show your docs are vetted:
Are you using docvet? Open a pull request to add your project here.
MIT -- see LICENSE for details.
mcp-name: io.github.Alberto-Codes/docvet
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/docvet)<a href="https://allmcps.com/mcp/docvet"><img src="https://allmcps.com/api/badge/docvet?style=directory" alt="Docvet on AllMCPs" /></a>