# docvet

Checks Python docstrings for missing coverage, code mismatches, and stale documentation signals. Useful when reviewing or maintaining project docs.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 10
- Author: Alberto-Codes
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Alberto-Codes/docvet
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/mcp/docvet

## What it does

docvet gives an agent access to Python documentation checks. It can find missing docstrings, incomplete sections, unmatched parameters and attributes, absent examples, and broken cross-references. Freshness rules use Git history to flag changes to signatures, function bodies, imports, or other documented code.

The server also covers package visibility and Griffe rendering diagnostics. In `pyproject.toml`, findings can be treated as warnings or made to fail the check; coverage thresholds can be configured separately. Griffe checks require the `docvet[griffe]` extra, so they are unavailable without that dependency.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add docvet -- uvx docvet
```
uvx runs the command named after the package; if the README names another one, use uvx --from docvet <command>

### Codex

**Platform CLI**
```bash
codex mcp add docvet -- uvx docvet
```
uvx runs the command named after the package; if the README names another one, use uvx --from docvet <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "docvet": {
            "command": "uvx",
            "args": [
                "docvet"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from docvet <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "docvet": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "docvet"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from docvet <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add docvet uvx docvet
```
uvx runs the command named after the package; if the README names another one, use uvx --from docvet <command>

## When to use it
- find public code without docstrings
- compare documented sections with code structure
- flag docs that may be stale after Git changes
- check package coverage and missing `__init__.py` files
- surface Griffe rendering warnings

## Example prompts
- Check this Python project for missing and incomplete docstrings.
- Find documentation that may be stale after the recent Git changes.
- Run the coverage and Griffe checks for this package.

## Similar
- [docs-guard](https://affpapa.org/en/nevibecode/skills/docs-guard.md) — skill · 4000 installs
- [code-documentation](https://affpapa.org/en/nevibecode/skills/aj-geddes-code-documentation.md) — skill · 492 installs
- [sphinx](https://affpapa.org/en/nevibecode/rules/sphinx.md) — rule · ★ 3579
- [code-reviewer](https://affpapa.org/en/nevibecode/skills/code-reviewer.md) — skill · 1130 installs
- [adr-review](https://affpapa.org/en/nevibecode/skills/adr-review.md) — skill · 745 installs
- [write-pr](https://affpapa.org/en/nevibecode/skills/write-pr.md) — skill · 419 installs

From the same set: [alberto-codes/docvet](https://affpapa.org/en/nevibecode/by/alberto-codes/docvet.md) — 2 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
