MCP server for comprehensive documentation lifecycle management
Project description
Documentation Manager
Comprehensive documentation lifecycle management powered by an MCP (Model Context Protocol) server. Automates documentation creation, maintenance, quality assessment, and synchronization for software projects.
Features
- Automatic change detection - Track code changes and affected documentation
- Link validation - Find broken links and missing assets
- Quality assessment - Evaluate docs against 7 quality criteria
- Symbol tracking - TreeSitter-based code symbol extraction (Python, Go, TypeScript, Rust)
- Dependency mapping - Automatic code-to-docs relationships
- Platform detection - Auto-detect MkDocs, Sphinx, Hugo, Docusaurus, etc.
- Documentation migration - Restructure docs with git history preservation
Installation
Claude Code Plugin (Recommended)
The doc-management plugin provides an interactive documentation workflow with specialized agents and quick commands, powered by the doc-manager MCP server.
Install:
# Add the marketplace
/plugin marketplace add arimxyer/doc-manager-mcp
# Install the plugin (automatically configures MCP server)
/plugin install doc-manager@doc-manager-suite
What you get:
@doc-expert- Documentation expert who analyzes state and directs next steps@doc-writer- Content specialist who creates/updates docs/doc-status,/doc-sync,/doc-quality- Quick commands for common workflows
Example workflow:
You: "Set up documentation management"
Claude: [Invokes @doc-expert to detect platform and initialize]
You: "/doc-sync"
Claude: [Detects changes, updates docs via @doc-writer, validates, updates baselines]
You: "Check quality before release"
Claude: [Runs quality assessment and shows actionable findings]
See the Claude Code Plugin guide for details.
Standalone MCP Server
For using the MCP server without the plugin.
Claude Code:
claude mcp add doc-manager --scope project -- uvx doc-manager-mcp
Claude Desktop:
Add to your claude_desktop_config.json:
{
"mcpServers": {
"doc-manager": {
"command": "uvx",
"args": ["doc-manager-mcp"]
}
}
}
Restart your client. Your AI assistant can then use the 8 doc-manager tools directly.
Other MCP clients:
See Installation Guide for local development setup and alternative installation methods.
Quick Start
With Claude Code plugin:
You: "Set up documentation management for this project"
You: "/doc-sync"
With any MCP client:
Ask your AI assistant to initialize documentation management, check sync status, or validate quality. The AI will use the appropriate tools (docmgr_init, docmgr_sync, etc.) automatically.
See Quick Start Guide for complete workflows and examples.
MCP Server Tools
The doc-manager MCP server provides 8 tools for documentation management:
docmgr_init- Initialize doc-manager for a project (modes:existing,bootstrap)docmgr_detect_changes- Detect code/doc changes (read-only, never writes baselines)docmgr_detect_platform- Auto-detect documentation platform (MkDocs, Sphinx, Hugo, etc.)docmgr_validate_docs- Check for broken links, missing assets, invalid code snippetsdocmgr_assess_quality- Evaluate documentation against 7 quality criteriadocmgr_update_baseline- Update all baselines atomically (repo, symbols, dependencies)docmgr_sync- Orchestrate change detection + validation + quality + baseline updatesdocmgr_migrate- Restructure/migrate documentation with git history preservation
See Tools Reference for complete API documentation.
Architecture
Baseline System
Doc-manager maintains 3 baseline files in .doc-manager/memory/:
repo-baseline.json- File checksums and metadatasymbol-baseline.json- TreeSitter code symbols (functions, classes, config fields)dependencies.json- Code-to-docs dependency mappings
Workflow:
1. docmgr_init → Create initial baselines
2. (make code changes)
3. docmgr_detect_changes → Detect changes (read-only)
4. (update documentation)
5. docmgr_update_baseline → Refresh baselines
Or use docmgr_sync mode="resync" to combine steps 3-5.
Configuration
Example .doc-manager.yml:
platform: mkdocs
use_gitignore: true
exclude:
- "tests/**"
sources:
- "src/**/*.py"
docs_path: docs
metadata:
language: Python
created: '2025-01-19T20:00:00'
version: '2.0.0'
See Configuration Reference for all options.
Development
Running tests
# All tests
uv run pytest
# Unit tests only
uv run pytest tests/unit/
# With coverage
uv run pytest --cov=doc_manager_mcp
Running the server locally
# Install in development mode
pip install -e .
# Run server (stdio transport)
doc-manager-mcp
# Or with uv
uvx --from . doc-manager-mcp
Linting
# Ruff (linter + formatter)
uv run ruff check .
uv run ruff format .
# Pyright (type checker)
uv run pyright
Adding new tools
- Create implementation in
doc_manager_mcp/tools/ - Define Pydantic model in
doc_manager_mcp/models.py - Register tool in
doc_manager_mcp/server.pywith@mcp.tool - Add tests in
tests/unit/andtests/integration/ - Update documentation
Documentation
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file doc_manager_mcp-1.2.6.tar.gz.
File metadata
- Download URL: doc_manager_mcp-1.2.6.tar.gz
- Upload date:
- Size: 371.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55409a7f9c6e60df82ec792f296d106c96016633201d115c005d87e194382854
|
|
| MD5 |
b1255113854fd60671f0501bb1f84243
|
|
| BLAKE2b-256 |
5e409c373fe7ea18130c4bfbf03340b4aed721c9eb5213d6a42634dc0121c88f
|
Provenance
The following attestation bundles were made for doc_manager_mcp-1.2.6.tar.gz:
Publisher:
publish.yml on arimxyer/doc-manager-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
doc_manager_mcp-1.2.6.tar.gz -
Subject digest:
55409a7f9c6e60df82ec792f296d106c96016633201d115c005d87e194382854 - Sigstore transparency entry: 886550064
- Sigstore integration time:
-
Permalink:
arimxyer/doc-manager-mcp@ea3d2473409ca083656033341326bc97b7d5a215 -
Branch / Tag:
refs/tags/v1.2.6 - Owner: https://github.com/arimxyer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ea3d2473409ca083656033341326bc97b7d5a215 -
Trigger Event:
release
-
Statement type:
File details
Details for the file doc_manager_mcp-1.2.6-py3-none-any.whl.
File metadata
- Download URL: doc_manager_mcp-1.2.6-py3-none-any.whl
- Upload date:
- Size: 178.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
677bc9761bafe6bde47874faa1f9419856f69655f56f201502fda050671cf9d8
|
|
| MD5 |
a242eebbffdd5172c3f028bde84d5b20
|
|
| BLAKE2b-256 |
d401b58cef0f78a7802ca141089c56a917d4499710041becb44d9a720666a67d
|
Provenance
The following attestation bundles were made for doc_manager_mcp-1.2.6-py3-none-any.whl:
Publisher:
publish.yml on arimxyer/doc-manager-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
doc_manager_mcp-1.2.6-py3-none-any.whl -
Subject digest:
677bc9761bafe6bde47874faa1f9419856f69655f56f201502fda050671cf9d8 - Sigstore transparency entry: 886550078
- Sigstore integration time:
-
Permalink:
arimxyer/doc-manager-mcp@ea3d2473409ca083656033341326bc97b7d5a215 -
Branch / Tag:
refs/tags/v1.2.6 - Owner: https://github.com/arimxyer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ea3d2473409ca083656033341326bc97b7d5a215 -
Trigger Event:
release
-
Statement type: