GenCodeDoc
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GenCodeDocgenerate documentation for my project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
š GenCodeDoc
Smart documentation generator and intelligent versioning system with full MCP support
Intelligent versioning and documentation for modern development workflows
Quick Start ⢠Features ⢠MCP Tools ⢠Documentation
ā” Quick Start
# 1. Install
cd /path/to/gencodedoc
poetry install
# 2. Initialize your project
poetry run gencodedoc init --preset python
# 3. Create your first snapshot
poetry run gencodedoc snapshot create -m "Initial version" -t v1.0
# 4. Generate documentation (Smart Split)
poetry run gencodedoc doc generate --limit 5000
# 5. Visualize Tree
poetry run gencodedoc treešÆ For AI Assistants (Claude/Gemini): See MCP Integration
⨠Features šÆ Core Features šø Smart Snapshots - Create intelligent snapshots with ~70% space savings via SHA256 deduplication š Intelligent Autosave - 3 modes (timer/diff/hybrid) with configurable thresholds š Beautiful Documentation - Generate Markdown docs with syntax highlighting, directory trees, and smart splitting š Advanced Diff - Compare versions with unified, JSON, or AST-based diffs šļø Efficient Storage - zstd compression (~3x reduction) + SQLite with optimized indexes šØ Project Presets - Pre-configured for Python, Node.js, Go, and Web projects š MCP Integration (Model Context Protocol) 26 MCP Tools - Full CLI functionality exposed via MCP for AI Assistants 3 Transports - stdio (Gemini CLI) + SSE (Claude Desktop) + REST API Multi-Project - Manage multiple projects simultaneously Code Intelligence - File history, search, and changelog generation Live Status - Real-time project statistics and snapshot management š¦ Installation Prerequisites Python 3.10+ Poetry (dependency manager) Install Poetry Bash
Linux/macOS
curl -sSL https://install.python-poetry.org | python3 -
Windows (PowerShell)
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py - Install GenCodeDoc Bash
Clone or navigate to the project
cd /home/fkomp/Bureau/oracle/utilitaires/gencodedoc/gencodedoc
Install dependencies
poetry install
Verify installation
poetry run gencodedoc --help šÆ Usage š CLI Usage Initialize a Project Bash
Basic initialization
gencodedoc init
With Python preset (recommended for Oracle projects)
gencodedoc init --preset python
Available presets: python, nodejs, go, web
Snapshot Management Bash
Create snapshot
gencodedoc snapshot create --message "Feature X completed" --tag v1.0
List snapshots
gencodedoc snapshot list --limit 10
Show snapshot details
gencodedoc snapshot show v1.0
View file content at specific version (NEW)
gencodedoc snapshot cat v1.0 src/main.py
List files in a snapshot (NEW)
gencodedoc snapshot files v1.0 --pattern "*.py"
Compare versions
gencodedoc snapshot diff v1.0 v2.0
Restore snapshot (full or partial)
gencodedoc snapshot restore v1.0 --force gencodedoc snapshot restore v1.0 --filter "src/*.py" # Partial restore
Export snapshot (NEW)
gencodedoc snapshot export v1.0 ./dist-v1 --archive # Creates .tar.gz
Delete snapshot
gencodedoc snapshot delete old-version --force
Cleanup orphaned data (NEW)
gencodedoc snapshot cleanup Documentation Generation Bash
Full documentation
gencodedoc doc generate
Custom output
gencodedoc doc generate --output docs/API.md
Specific paths only
gencodedoc doc generate --include src/api/ --include README.md
Structure preview
gencodedoc doc preview --max-depth 3
Project statistics
gencodedoc doc stats Configuration Bash
View configuration
gencodedoc config show
Edit configuration
gencodedoc config edit
Set specific values
gencodedoc config set autosave.enabled true gencodedoc config set autosave.mode hybrid
Apply preset
gencodedoc config preset python
Manage ignore rules
gencodedoc config ignore --add-dir dist gencodedoc config ignore --add-ext .tmp gencodedoc config ignore --list-all
Customizable Presets
Presets are now defined in YAML files (gencodedoc/config/presets/*.yaml)
and can be modified directly in the source code.
Project Status Bash
Show project status
gencodedoc status š MCP Integration GenCodeDoc exposes 22 powerful tools via the Model Context Protocol, compatible with Claude Desktop, Gemini CLI, and any MCP-compatible client.
šÆ Transport Modes Transport Use Case AI Assistants Port stdio CLI integration Gemini CLI, custom scripts stdin/stdout SSE Web/Desktop apps Claude Desktop, web UIs 8000 (HTTP) REST API integration Any HTTP client 8000 (HTTP) š Setup for Gemini CLI (stdio)
Find your Poetry venv path:
Bash
cd /home/fkomp/Bureau/oracle/utilitaires/gencodedoc/gencodedoc poetry env info --path
Copy the path and append /bin/python
Add to ~/.config/gemini-desktop-app/settings.json:
JSON
{ "mcpServers": { "gencodedoc": { "command": "/path/to/your/venv/bin/python", "args": ["-m", "gencodedoc.mcp.server_stdio"], "env": { "PROJECT_PATH": "/home/fkomp/Bureau/oracle/utilitaires/gencodedoc/gencodedoc" } } } } 3. Restart Gemini CLI and you`re ready! š
š Setup for Claude Desktop (SSE)
Start the SSE server:
Bash
Terminal 1: Start server
poetry run python -m gencodedoc.mcp.server_sse
Server runs on http://127.0.0.1:8000
Add to Claude Desktop config:
Location:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json Config:
JSON
{ "mcpServers": { "gencodedoc": { "url": "http://127.0.0.1:8000/mcp/sse", "transport": "sse", "description": "GenCodeDoc - Smart documentation and versioning" } } } 3. Restart Claude Desktop and the server must remain running!
š REST API Bash
Start REST server
poetry run python -m gencodedoc.mcp.server
Available endpoints
GET http://127.0.0.1:8000/ # Server info GET http://127.0.0.1:8000/mcp/tools # List tools POST http://127.0.0.1:8000/mcp/execute # Execute tool š ļø MCP Tools (26 Tools)
š§ Code Intelligence (3 tools)
Tool | Description | Key Parameters |
| Track file changes across versions |
|
| Search text in all snapshots |
|
| Generate Keep-a-Changelog |
|
šø Snapshot Management (11 tools)
Tool | Description | Key Parameters |
| Create a new snapshot |
|
| List all snapshots |
|
| Get full snapshot info |
|
| Restore a snapshot (full or partial) |
|
| Restore specific files |
|
| Delete a snapshot |
|
| Compare two versions |
|
| Get content of a single file |
|
| List files in a snapshot |
|
| Export snapshot to folder/archive |
|
| Cleanup unused data | none |
š Documentation (3 tools)
Tool | Description | Key Parameters |
| Generate Markdown docs |
|
| Show directory tree |
|
| Get project statistics | none |
šÆ Project Management (2 tools)
Tool | Description | Key Parameters |
| Initialize gencodedoc |
|
| Get project status |
|
āļø Configuration (4 tools)
Tool | Description | Key Parameters |
| View configuration |
|
| Modify config value |
|
| Apply preset config |
|
| Manage ignore rules |
|
š Autosave (3 tools)
Tool | Description | Key Parameters |
| Start automatic versioning |
|
| Stop automatic versioning |
|
| Get status of all autosaves | none |
š¤ Contributing Contributions welcome! š
š Report bugs via GitHub Issues š” Suggest features via Discussions š§ Submit Pull Requests
Development workflow:
Fork the repo
Create a feature branch (
git checkout -b feature/amazing)Make your changes
Run tests (
make test)Submit PR
š License MIT License - See LICENSE file
š Issues: GitHub Issues š¬ Discussions: GitHub Discussions š Website: esprit-artificiel.com š§ Email: support@esprit-artificiel.com
š” Pro Tip: Use GenCodeDoc with Gemini CLI or Claude Desktop for AI-powered version control!
ā Star this repo if you find it useful! š¤ "Start autosave in hybrid mode for this project" ā Calls: start_autosave(project_path="...", mode="hybrid")
š¤ "Stop all autosaves and show me their status" ā Calls: stop_autosave(...) + get_autosave_status() āļø Configuration Configuration File (.gencodedoc.yaml) YAML
project_name: "my-project"
Files/directories to ignore
ignore: dirs: - node_modules - venv - .venv - pycache - .git - dist - build files: - "*.log" - package-lock.json - .DS_Store extensions: - .pyc - .pyo - .exe - .jpg - .png - .pdf patterns: [] # gitignore-style patterns
Intelligent autosave
autosave: enabled: false # Set to true to enable mode: hybrid # timer | diff | hybrid (recommended)
Timer mode: fixed interval
timer: interval: 300 # seconds (5 minutes)
Diff mode: threshold-based
diff_threshold: threshold: 0.05 # Save if 5% of files changed check_interval: 60 # Check every 60 seconds ignore_whitespace: true ignore_comments: false
Hybrid mode: combines timer + diff (RECOMMENDED)
hybrid: min_interval: 180 # Minimum 3 minutes between saves max_interval: 600 # Maximum 10 minutes between saves threshold: 0.03 # Save if 3% of files changed
Retention policy
retention: max_autosaves: 50 # Keep max 50 autosaves compress_after_days: 7 # Compress after 7 days delete_after_days: 30 # Delete after 30 days keep_manual: true # Always keep manual snapshots
Documentation output
output: default_name: "{project}doc{date}.md" include_tree: true include_code: true tree_full_code_select: false # Full tree, selected code only language_detection: true max_file_size: 1000000 # 1 MB max per file
Diff output format
diff_format: default: unified # unified | json | ast unified_context: 3 json_include_content: true ast_enabled: false # Experimental
Storage
storage_path: .gencodedoc compression_enabled: true compression_level: 3 # 1-22 (3 = good balance) Quick Config Commands Bash
Enable autosave
gencodedoc config set autosave.enabled true gencodedoc config set autosave.mode hybrid
Adjust autosave thresholds
gencodedoc config set autosave.hybrid.min_interval 300 gencodedoc config set autosave.hybrid.max_interval 1800 gencodedoc config set autosave.hybrid.threshold 0.03
Add ignore rules
gencodedoc config ignore --add-dir dist gencodedoc config ignore --add-ext .tmp gencodedoc config ignore --add-file debug.log šļø Architecture text
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā GenCodeDoc System ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
āāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāā ā CLI (Typer) ā ā MCP stdio ā ā MCP SSE/REST ā ā ā ā (Gemini CLI) ā ā (Claude/Web) ā āāāāāāāā¬āāāāāāāā āāāāāāāā¬āāāāāāāā āāāāāāāā¬āāāāāāāā ā ā ā āāāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāā ā āāāāāāāāāāāā¼āāāāāāāāāāā ā Core Managers ā āāāāāāāāāāāāāāāāāāāāāā⤠ā ⢠ConfigManager ā ā ⢠VersionManager ā ā ⢠DocGenerator ā ā ⢠AutosaveManager ā āāāāāāāāāāāā¬āāāāāāāāāāā ā āāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāā ā ā ā āāāāāā¼āāāāāā āāāāāāā¼āāāāāāā āāāāāā¼āāāāāāā ā Scanner ā ā Differ ā ā Storage ā ā ā ā ā ā ā ā ⢠Scan ā ā ⢠Unified ā ā ⢠SQLite ā ā ⢠Filter ā ā ⢠JSON ā ā ⢠zstd ā ā ⢠Detect ā ā ⢠AST ā ā ⢠Dedup ā āāāāāāāāāāāā āāāāāāāāāāāāāā āāāāāāāāāāāāā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā Storage Layer ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā⤠ā .gencodedoc/ ā ā āāā gencodedoc.db ā SQLite (metadata) ā ā ā āāā snapshots ā Snapshot records ā ā ā āāā snapshot_files ā File entries ā ā ā āāā file_contents ā Deduplicated content (SHA256) ā ā ā āāā autosave_state ā Autosave status ā ā āāā config/ ā Configuration files ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Key Features: ⢠š SHA256 deduplication ā ~70% space savings ⢠šļø zstd compression ā ~3x size reduction ⢠š Indexed SQLite ā Fast queries ⢠š Watchdog observer ā Real-time file monitoring Project Structure text
gencodedoc/ āāā gencodedoc/ # Source code ā āāā cli/ # CLI commands (Typer) ā ā āāā main.py # Entry point ā ā āāā snapshot_cmd.py ā ā āāā doc_cmd.py ā ā āāā config_cmd.py ā ā āāā mcp_cmd.py ā āāā core/ # Business logic ā ā āāā config.py # Configuration management ā ā āāā scanner.py # File scanning & filtering ā ā āāā versioning.py # Snapshot management ā ā āāā documentation.py ā ā āāā differ.py # Version comparison ā ā āāā autosave.py # Intelligent autosave ā āāā mcp/ # MCP servers ā ā āāā server_stdio.py # stdio transport ā ā āāā server_sse.py # SSE transport ā ā āāā server.py # REST transport ā ā āāā tools.py # Tool definitions ā āāā models/ # Data models (Pydantic) ā ā āāā config.py ā ā āāā snapshot.py ā āāā storage/ # Storage & compression ā ā āāā database.py # SQLite manager ā ā āāā snapshot_store.py ā ā āāā compression.py # zstd compression ā āāā utils/ # Utilities ā āāā filters.py ā āāā formatters.py ā āāā tree.py āāā config/ # Configuration presets ā āāā presets/ ā āāā python.yaml ā āāā nodejs.yaml ā āāā go.yaml ā āāā web.yaml āāā tests/ # Unit tests āāā pyproject.toml # Poetry config āāā Makefile # Dev commands āāā README.md š¬ Advanced Features šÆ Intelligent Deduplication (~70% savings) GenCodeDoc uses SHA256-based deduplication:
ā Identical files across snapshots are stored once ā Massive space savings (~70% on real projects) ā zstd compression for ~3x additional reduction ā Optimized SQLite with indexes
Example: 10 snapshots of a 100 MB project
Without deduplication: 1 GB With GenCodeDoc: ~300 MB (dedup + compression) š Autosave Modes Mode How it works Best for timer Save every X seconds Continuous development diff Save when X% changed Critical projects hybrid ā Min/max interval + threshold General use (recommended) Hybrid mode example:
YAML
hybrid: min_interval: 300 # Don`t save more often than 5 min max_interval: 1800 # Force save after 30 min threshold: 0.03 # OR if 3% of files changed š Diff Formats Format Description Use Case unified Git-style diff Human reading json Structured data Automation ast Semantic diff Code analysis (experimental) Bash
Unified diff (default)
gencodedoc snapshot diff v1.0 v2.0
JSON for scripts
gencodedoc snapshot diff v1.0 v2.0 --format json > changes.json
AST (semantic)
gencodedoc snapshot diff v1.0 v2.0 --format ast š Troubleshooting Common Issues 1ļøā£ MCP Error: notifications/initialized Symptom: Error on MCP startup:
text
MCP ERROR: Unknown method: notifications/initialized Cause: MCP protocol sends notifications that older versions didn`t handle.
Solution: ā Already fixed in current version. The server now silently ignores MCP notifications.
2ļøā£ Snapshots created in wrong location Symptom: All snapshots go to gencodedoc`s own directory instead of target project.
Cause: project_path not properly extracted from MCP tools/call parameters.
Solution: ā Already fixed. The server now correctly extracts project_path from arguments.
Verify fix:
Bash
This should create snapshot in /path/to/project, not gencodedoc
/gencodedoc create_snapshot project_path=/path/to/project tag=test 3ļøā£ Zod validation errors (id=null) Symptom:
text
Error: Expected string or number, received null (path: ["id"]) Cause: JSON-RPC responses with "id": null instead of "id": 0.
Solution: ā Already fixed. All error responses now use request_id or 0.
4ļøā£ Files not properly scanned Symptom: Snapshot shows wrong number of files or files from wrong directory.
Cause: snapshot_store.py used relative paths instead of absolute.
Solution: ā Already fixed. SnapshotStore now receives and uses project_path for absolute file paths.
5ļøā£ DB not initialized Symptom:
text
Error: no such table: snapshots Cause: Project not initialized before creating snapshot.
Solution:
Bash
Always init first (creates tables)
gencodedoc init --preset python
Or via MCP
/gencodedoc init_project project_path=/path/to/project preset=python 6ļøā£ Autosave not starting Symptom: start_autosave tool doesn`t work.
Cause: Autosave requires the MCP server to remain running (it`s a background process).
Solution:
stdio mode: Server runs per-request ā autosave stops when request ends SSE/REST mode: ā Server persistent ā autosave works! Recommended: Use SSE/REST for autosave, stdio for one-off commands.
Debug Mode Bash
Enable verbose logging (if implemented)
export GENCODEDOC_DEBUG=1 poetry run gencodedoc snapshot create --message "test"
Check SQLite DB directly
sqlite3 /path/to/project/.gencodedoc/gencodedoc.db ".tables" sqlite3 /path/to/project/.gencodedoc/gencodedoc.db "SELECT * FROM snapshots;" š§Ŗ Testing Bash
Run all tests
poetry run pytest
With coverage
poetry run pytest --cov=gencodedoc --cov-report=html
Specific tests
poetry run pytest tests/test_scanner.py -v poetry run pytest tests/test_versioning.py -v poetry run pytest tests/test_mcp.py -v
Watch mode (requires pytest-watch)
poetry run ptw š ļø Development Setup Development Environment Bash
Install with dev dependencies
poetry install
Activate virtual environment
poetry shell
Install pre-commit hooks (if configured)
pre-commit install Makefile Commands Bash
make help # Show all commands make install # Install dependencies make test # Run tests make test-cov # Tests with coverage make lint # Check code quality make format # Format code (Black) make clean # Remove temporary files make docs # Generate documentation make serve-mcp-sse # Start SSE server make serve-mcp-stdio # Start stdio server make all # Lint + test + build Code Style Formatter: Black (line length 100) Linter: Ruff Type hints: Enforced with Pydantic Docstrings: Google style šÆ Use Cases 1ļøā£ Continuous Documentation Bash
Initialize with autosave
gencodedoc init --preset python gencodedoc config set autosave.enabled true gencodedoc config set autosave.mode hybrid
Documentation is always up-to-date
gencodedoc doc generate --output docs/API.md 2ļøā£ Safe Refactoring Bash
Snapshot before critical changes
gencodedoc snapshot create
--message "Before refactoring authentication system"
--tag before-refactor
... make changes ...
Snapshot after
gencodedoc snapshot create
--message "After refactoring - tests passing"
--tag after-refactor
Compare
gencodedoc snapshot diff before-refactor after-refactor
Rollback if needed
gencodedoc snapshot restore before-refactor --force 3ļøā£ Selective API Documentation Bash
Document only specific modules
gencodedoc doc generate
--include src/api/
--include src/models/
--include README.md
--output docs/API_Reference.md
4ļøā£ AI-Assisted Workflow (Gemini/Claude)
Bash
1. Configure MCP (once)
Add gencodedoc to your AI assistant config
2. Use natural language
"Create a snapshot with tag v2.0" "Compare v1.0 and v2.0" "Show me project statistics" "Start autosave in hybrid mode" "Generate complete documentation"
AI automatically calls the right MCP tools! š
š Roadmap Git integration (auto-snapshot on commit) Cloud backup (S3, GCS) Web UI dashboard AST-based semantic diff (full implementation) Multi-language presets (Rust, Java, C++) Snapshot encryption Collaborative features (shared snapshots) š License MIT License - See LICENSE file
š¤ Contributing Contributions welcome! š
š Report bugs via GitHub Issues š” Suggest features via Discussions š§ Submit Pull Requests Development workflow:
Fork the repo Create a feature branch (git checkout -b feature/amazing) Make your changes Run tests (make test) Submit PR š Support š Issues: GitHub Issues š¬ Discussions: GitHub Discussions š Website: esprit-artificiel.com š§ Email: support@esprit-artificiel.com š Acknowledgments Built with these amazing tools:
FastAPI - MCP server framework Pydantic - Data validation Typer - CLI framework Rich - Terminal formatting zstandard - Compression Watchdog - File monitoring SQLite - Embedded database
š” Pro Tip: Use GenCodeDoc with Gemini CLI or Claude Desktop for AI-powered version control!
ā Star this repo if you find it useful!
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityBmaintenanceDocuMCP is an intelligent Model Context Protocol (MCP) server that revolutionizes documentation deployment for open-source projects. It provides deep repository analysis, intelligent static site generator recommendations, and automated GitHub Pages deployment workflows.52349MIT
- AlicenseNot gradedqualityCmaintenanceAI-native project management with persistent memory for coding agents. 17 MCP tools for features, stories, sprints, architecture decisions, knowledge base, and session tracking.3MIT
- AlicenseAqualityCmaintenanceComprehensive documentation lifecycle management powered by an MCP server. Automates documentation creation, maintenance, quality assessment, and synchronization for software projects.86MIT
- AlicenseAqualityDmaintenanceAn intelligent code version management system based on the MCP protocol, providing AI-enhanced code snapshots, project versioning, and smart change detection for AI-assisted programming.171MIT
Related MCP Connectors
MCP-native collaborative markdown editor with real-time AI document editing
Shared long-term memory vault for AI agents with 20 MCP tools.
Package intelligence MCP for AI agents ā 22 tools, 19 ecosystems, AGPL SDK, free.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fkom13/gencodedoc'
If you have feedback or need assistance with the MCP directory API, please join our Discord server