SnapDoczilla MCP server
Offline docs-as-code for any backend and any frontend, driven by your AI agent. SnapDoczilla keeps a
documentation/ folder inside your repo: a static HTML site (MkDocs Material, local Mermaid diagrams, ADRs,
API map and component pages with real code and real usage) that anyone opens with a double click and any dev
refreshes with one command.
This MCP server gives your agent the deterministic half of that workflow. The agent writes the docs from your code; the server installs, tracks what changed since the last documented commit, writes pages safely, and builds the site.
Install
Needs uv (for uvx), git, and bash (on Windows: Git for Windows). Building the site
also needs Python 3 on PATH, and internet the first time (MkDocs and Mermaid are downloaded once).
Claude Code
claude mcp add snapdoczilla -- uvx snapdoczilla-mcp
Claude Desktop, Cursor and other clients that use mcpServers JSON
{
"mcpServers": {
"snapdoczilla": {
"command": "uvx",
"args": ["snapdoczilla-mcp"]
}
}
}
Codex CLI (~/.codex/config.toml)
[mcp_servers.snapdoczilla]
command = "uvx"
args = ["snapdoczilla-mcp"]
This server does not read your source code. Your client does, with its own file tools (Claude Code, Cursor and Codex have them; in Claude Desktop add a filesystem server).
Tools
| Tool | What it does |
|---|---|
snapdoczilla_status |
Installed? Areas, commits not yet documented per area, existing pages, next ADR number, suggested next step. Start here. |
snapdoczilla_install |
Scaffolds documentation/ (templates, update script, pre-push reminder), writes areas.conf, downloads Mermaid once. Refuses to touch a documentation/ it did not create. |
snapdoczilla_get_rules |
Returns the rules the pages must follow (language, never invent, embed real code). |
snapdoczilla_changes_since_sync |
Files, commits and diffstat of an area since its last documented commit, so only affected pages are updated. |
snapdoczilla_write_page |
Creates or overwrites one Markdown page, confined to documentation/source/, and adds it to nav. |
snapdoczilla_build_html |
Strict MkDocs build into documentation/html/. A failed build keeps the previous site. No AI agent is invoked. |
snapdoczilla_mark_synced |
Records HEAD as the last documented commit of an area. |
There is also a prompt, document_project, that starts the whole flow.
Typical use
Ask your agent: "Document this project" (or "update the docs"). It checks status, installs if needed, reads the
real code, writes the pages, builds, and marks the areas as synced. It never commits or pushes: you review git diff.
Also available as a plain Agent Skill
The same workflow ships as a SKILL.md
for Claude Code, Codex, OpenCode, Gemini CLI and more. See the
repository for screenshots, the examples/shop result and the full documentation.
MIT License.
Metadata
Release files for snapdoczilla-mcp 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| snapdoczilla_mcp-1.0.0.tar.gz | 24.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| snapdoczilla_mcp-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.3 kB
Release files / snapdoczilla_mcp-1.0.0.tar.gz
| Download URL | snapdoczilla_mcp-1.0.0.tar.gz |
|---|---|
| Size | 24.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a6e5af074066d7465081a585b39ca4ae2b7c5cb25b716740f5751336c848431f
|
|
BLAKE2b-256 checksum How to use checksums |
a2f0fe0905f7a0cf5772633fa4238009d202e7ecb84be1d869833b694d966327
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.0
|
Release files / snapdoczilla_mcp-1.0.0-py3-none-any.whl
| Download URL | snapdoczilla_mcp-1.0.0-py3-none-any.whl |
|---|---|
| Size | 28.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba11bf6d8f0d017756c859068673ebc1b3c2d4136e2d875761bd60c5efc270ae
|
|
BLAKE2b-256 checksum How to use checksums |
0ac4ced795b65bdabd68a193ea362e6c85bf31ea5312d891dabdd5f0693f9022
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.0
|