project-docs
this is a MCP server that create uml text based class diagrams, project tree structure and a list of modules anf functions in the project to assist cursor in understanding the project.
Documentation
MCP Docs Tools
A Node.js-based MCP (Model Context Protocol) tool server that provides three focused documentation generation tools for Python projects. Built as an npm package that can be installed directly from the Git repository.
Features
๐ง Three Powerful Tools
1. `create_class_diagram` - Analyzes Python files and generates UML class diagrams in PlantUML format
2. `create_tree_structure` - Creates clean directory tree structure documentation with smart exclusions
3. `create_module_functions` - Documents module-level functions with signatures, decorators, and type hints
๐ Key Benefits
- Zero Configuration: Works out of the box with sensible defaults
- Smart Exclusions: Automatically filters out cache, build, and IDE files
- Rich Documentation: Captures type hints, decorators, docstrings, and inheritance
- MCP Integration: Seamlessly integrates with AI assistants via Model Context Protocol
- Hybrid Architecture: Node.js orchestration + Python AST parsing for reliability
Installation
From Git Repository (Recommended)
# Clone the repository
git clone https://github.com/your-username/mcp-docs-tools.git
cd mcp-docs-tools
# Install dependencies
npm install
# Install globally (optional)
npm install -g .
# Or run directly
npm startDirect Installation from Git
# Install directly from GitHub
npm install -g git+https://github.com/your-username/mcp-docs-tools.git
# Then run
mcp-docs-toolsLocal Development
git clone https://github.com/your-username/mcp-docs-tools.git
cd mcp-docs-tools
npm install
npm startRequirements
- Node.js โฅ18.0.0
- Python 3.x (for AST parsing)
- Git (for cloning the repository)
Python Interpreter Detection and Windows Support
The server automatically detects a working Python 3 interpreter at runtime. On Windows it prefers `py -3` when available, and falls back to `python` or `python3` if they resolve to Python 3. On macOS/Linux it prefers `python3`, then falls back to `python` if it is Python 3.
If no Python 3 interpreter is found, you will see an actionable error:
"Python 3 interpreter not found. Install Python 3 or set MCP_PYTHON (and optional MCP_PYTHON_ARGS). Tried: ..."
Environment Overrides (optional)
You can explicitly specify the interpreter and arguments:
- `MCP_PYTHON`: command or absolute path (e.g., `py`, `python3`, `C:\\Python312\\python.exe`)
- `MCP_PYTHON_ARGS`: space-separated arguments (e.g., `-3`)
Examples:
# Windows PowerShell
$env:MCP_PYTHON = "python"
$env:MCP_PYTHON_ARGS = "-3"
npm start# macOS/Linux bash
export MCP_PYTHON=py
export MCP_PYTHON_ARGS=-3
npm startUsage
As MCP Server
Start the server to expose tools via Model Context Protocol:
# If installed globally
mcp-docs-tools
# Or from the project directory
npm start
# Or run directly with node
node bin/server.jsThe server will listen on stdin/stdout and expose three tools that can be called by MCP clients.
Tool Specifications
1. create_class_diagram
Purpose: Generate UML class diagrams from Python code
Parameters:
- `project_path` (string, required): Root path of the Python project to analyze
Output:
- File: `docs/uml.txt`
- Format: PlantUML syntax
- Content: Classes with public/private methods, attributes, and inheritance relationships
Example:
@startuml
class MyClass {
+public_attr: str
-_private_attr: int
--
+__init__(self, name: str)
+public_method(self, arg: int): bool
-{static} _private_method(): None
}
@enduml2. create_tree_structure
Purpose: Generate project directory tree structure
Parameters:
- `project_path` (string, required): Root path of the project to analyze
Output:
- File: `docs/tree-structure.txt`
- Format: Unicode box-drawing tree
- Content: Complete file/directory structure with smart exclusions
Example:
my-project
โโโ src/
โ โโโ main.py
โ โโโ utils/
โ โโโ helpers.py
โโโ tests/
โ โโโ test_main.py
โโโ README.md3. create_module_functions
Purpose: Document module-level functions and signatures
Parameters:
- `project_path` (string, required): Root path of the Python project to analyze
Output:
- File: `docs/module-functions.txt`
- Format: Hierarchical markdown documentation
- Content: Functions organized by module with full signatures, decorators, and docstrings
Example:
## Module: src.utils.helpers
### `async def process_data(data: List[str], timeout: int = 30) -> Dict[str, Any]`
**Decorators:**
- `@retry(max_attempts=3)`
**Description:**
Process a list of data items with optional timeout.
**Line:** 42Architecture
Hybrid Node.js + Python Approach
The tool uses a hybrid architecture that combines the best of both worlds:
- Node.js Server: Handles MCP protocol, tool registration, and process orchestration
- Python Scripts: Perform robust AST parsing and documentation generation
- Clean Separation: Protocol handling separate from parsing logic
Project Structure
mcp-docs-tools/
โโโ package.json # npm package configuration
โโโ bin/
โ โโโ server.js # Main MCP server entry point
โโโ src/
โ โโโ server.js # MCP server implementation
โ โโโ tools/ # Tool implementations
โ โ โโโ class-diagram.js # UML generation wrapper
โ โ โโโ tree-structure.js # Tree generation wrapper
โ โ โโโ module-functions.js # Function docs wrapper
โ โโโ config/
โ โโโ exclusions.js # Default exclusion patterns
โโโ python/
โ โโโ generate_uml.py # Python AST parsing for classes
โ โโโ generate_tree.py # Directory tree generation
โ โโโ generate_functions.py # Function parsing and documentation
โ โโโ requirements.txt # Python dependencies (none needed)
โโโ README.mdSmart Exclusions
The tools automatically exclude common files and directories that shouldn't be documented:
Python
- `__pycache__`, `*.pyc`, `*.pyo`, `*.pyd`
- `build`, `dist`, `eggs`, `*.egg-info`
- Virtual environments: `venv`, `.venv`, `env`, `virtualenv`
Development Tools
- Version control: `.git`, `.svn`, `.hg`
- IDEs: `.idea`, `.vscode`, `.cursor`
- Testing: `.pytest_cache`, `.coverage`, `.tox`
Build & Package Managers
- `node_modules`, `target`, `out`, `bin`
- `package-lock.json`, `yarn.lock`, `Pipfile.lock`
OS & Temporary
- `.DS_Store`, `Thumbs.db`, `*.tmp`, `*.log`
Integration with AI Assistants
Cursor IDE
The configuration depends on how you installed the tools:
Option A: If you cloned the repository (Recommended method)
Create a `.cursorrules` file in your projects and add this to your Cursor MCP configuration:
{
"mcpServers": {
"docs-tools": {
"command": "node",
"args": ["/path/to/mcp-docs-tools/bin/server.js"],
"cwd": "/path/to/mcp-docs-tools"
}
}
}Replace `/path/to/mcp-docs-tools` with the actual path where you cloned the repository.
For example:
- macOS/Linux: `"/Users/yourname/projects/mcp-docs-tools"`
- Windows: `"C:\\Users\\yourname\\projects\\mcp-docs-tools"`
Option B: If you installed globally with `npm install -g`
{
"mcpServers": {
"docs-tools": {
"command": "mcp-docs-tools"
}
}
}.cursorrules file content (for any installation method)
Create this `.cursorrules` file in your Python projects:
# Documentation Tools Integration
## Available MCP Tools
- `create_class_diagram` - Generate UML class diagrams
- `create_tree_structure` - Generate directory tree
- `create_module_functions` - Document module functions
## Usage
Run these tools at session start to generate documentation in `docs/` directory.
Reference the generated files to understand codebase structure.
## Generated Files
- `docs/uml.txt` - PlantUML class diagrams
- `docs/tree-structure.txt` - Directory structure
- `docs/module-functions.txt` - Function documentationClaude Desktop
Option A: If you cloned the repository (Recommended method)
Add to your Claude Desktop MCP configuration:
{
"mcpServers": {
"docs-tools": {
"command": "node",
"args": ["/path/to/mcp-docs-tools/bin/server.js"],
"cwd": "/path/to/mcp-docs-tools"
}
}
}Replace `/path/to/mcp-docs-tools` with the actual path where you cloned the repository.
Option B: If you installed globally with `npm install -g`
{
"mcpServers": {
"docs-tools": {
"command": "mcp-docs-tools"
}
}
}Quick Setup Guide
1. Clone and install (recommended):
git clone https://github.com/your-username/mcp-docs-tools.git
cd mcp-docs-tools
npm install2. Find your installation path:
pwd
# Copy this path for your MCP configuration3. Update your MCP config with the path from step 2
4. Test the tools in your Python projects!
Error Handling
The tools include comprehensive error handling:
- Python Process Failures: Detailed error messages with stdout/stderr
- Missing Dependencies: Clear instructions for Python installation
- File Permission Issues: Graceful handling with informative messages
- Invalid Project Paths: Path validation before processing
Performance
- Lightweight: Minimal memory footprint with short-lived Python processes
- Fast: Efficient AST parsing with smart file filtering
- Scalable: Handles large codebases with thousands of files
- Concurrent: Multiple tools can run simultaneously
Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request
License
MIT License - see LICENSE file for details.
Support
- Issues: Report bugs and feature requests on GitHub
- Documentation: Full API documentation available in the repository
- Examples: Sample projects and usage patterns in the examples directory
Made with โค๏ธ for the Python development community
Frequently asked questions
What is project-docs?
project-docs is this is a MCP server that create uml text based class diagrams, project tree structure and a list of modules anf functions in the project to assist cursor in understanding the project.
How do I install project-docs?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is project-docs open source?
Yes โ it is hosted on GitHub at https://github.com/osok/project-docs and has 2 stars.
Related MCP tools
๐ OpenHands: Code Less, Make More for the Model Context Protocol. Enhance AI assistants with powerful integrations. Python-based implementation.
Universal memory layer for AI Agents; Announcing OpenMemory MCP - local and secure memory management. Python-based implementation.
ๅบไบๅคงๆจกๅๆญๅปบ็่ๅคฉๆบๅจไบบ๏ผๅๆถๆฏๆ ๅพฎไฟกๅ ฌไผๅทใไผไธๅพฎไฟกๅบ็จใ้ฃไนฆใ้้ ็ญๆฅๅ ฅ๏ผๅฏ้ๆฉChatGPT/Claude/DeepSeek/ๆๅฟไธ่จ/่ฎฏ้ฃๆ็ซ/้ไนๅ้ฎ/ Gemini/GLM-4/Kimi/LinkAI๏ผ่ฝๅค็ๆๆฌใ่ฏญ้ณๅๅพ็๏ผ่ฎฟ้ฎๆไฝ็ณป็ปๅไบ่็ฝ๏ผๆฏๆๅบไบ่ชๆ็ฅ่ฏๅบ่ฟ่กๅฎๅถไผไธๆบ่ฝๅฎขๆใ
An LLM agent that conducts deep research (local and web) on any given topic and generates a long report with citations. Built for the Model Context Protocol to
๐ The fast, Pythonic way to build MCP servers and clients Trusted by 19900+ developers. Trusted by 19900+ developers. Trusted by 19900+ developers.
๐ฅ MaxKB is an open-source platform for building enterprise-grade agents. MaxKB ๆฏๅผบๅคงๆ็จ็ๅผๆบไผไธ็บงๆบ่ฝไฝๅนณๅฐใ for the Model Context Protocol. Enhance AI assistants with po
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP