A powerful Model Context Protocol (MCP) server for creating, manipulating, and managing Mermaid diagrams with automatic saving and integrated multi-format support. Built with enterprise-grade persistence and designed for seamless AI workflow integration.
- Auto-save on creation/modification - Never lose your work
- Persistent diagram library stored in
/diagrams
directory - Metadata tracking with creation/modification timestamps
- Instant load from disk - Diagrams persist across sessions
- JSON β Flowcharts (hierarchical structure visualization)
- CSV β Organizational/Relationship charts
- Python Code β Class diagrams (automatic AST parsing)
- Markdown β Mind maps (hierarchical content mapping)
- Plain Text β Structured diagrams (with indentation detection)
- Flowcharts - Process flows and decision trees
- Sequence Diagrams - Interaction sequences
- Mind Maps - Concept organization and brainstorming
- Gantt Charts - Project timelines and scheduling
- Class Diagrams - Object-oriented system design
- Entity Relationship - Database schema visualization
- User Journey Maps - Experience flow mapping
- Git Graphs - Version control visualization
- Pie Charts - Data visualization
- State Diagrams - State machine modeling
- Template Library with 8+ pre-built diagram templates
- Custom save locations in addition to auto-saving
- Smart format detection with conversion recommendations
- Resource access for MCP integration
- Background processing with robust task management
Note: If there is a syntax error converting a diagram remove any () in the underlined code error.
Add to your Claude Desktop MCP configuration:
{
"mcpServers": {
"diagram-server": {
"command": "uv",
"args": [
"--directory",
"/your-path-to/mcp-diagram-server",
"run",
"main.py"
],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}
- Clone the repository:
cd /mcp-diagram-server
- Set up the Python environment:
uv venv --python 3.12 --seed
source .venv/bin/activate
uv add -e .
- Optional - Install Playwright for rendering:
uv add playwright
uv run playwright install chromium
create_diagram
- Create new diagrams with optional templatesupdate_diagram
- Modify existing diagram content (auto-saves)get_diagram
- Retrieve diagrams from memory or disklist_diagrams
- Browse your diagram librarydelete_diagram
- Remove diagrams from memory
convert_format_to_diagram
- Universal format converter with auto-detectionjson_to_flowchart
- Convert JSON structures to flowchartscsv_to_org_chart
- Convert CSV data to organizational/relationship chartspython_to_class_diagram
- Convert Python code to class diagramsmarkdown_to_mindmap
- Convert structured markdown to mind mapsdetect_file_format
- Smart format detection with conversion recommendations
save_diagram
- Manual save to custom locationslist_templates
- Browse available diagram templates- Auto-saving - Automatic persistence (always active)
convert_format_to_diagram(
content='{"api": {"users": ["get", "post"], "orders": ["get", "create"]}}',
target_type="flowchart",
name="APIStructure"
)
Result: Auto-saved flowchart showing API structure hierarchy
json_to_flowchart(
json_content='{"system": {"frontend": "React", "backend": "FastAPI", "db": "PostgreSQL"}}',
name="SystemArchitecture"
)
Result: Visual flowchart of system components and relationships
csv_to_org_chart(
csv_content="Name,Role,Department\nAlice,Director,Engineering\nBob,Engineer,Engineering",
name="TeamStructure"
)
Result: Organizational chart showing team hierarchy
python_to_class_diagram(
python_code='''
class DatabaseManager:
def __init__(self):
self.connection = None
def connect(self):
pass
def query(self, sql):
pass
''',
name="DatabaseDesign"
)
Result: UML class diagram from Python code structure
detect_file_format(
content='class User:\n def __init__(self):\n pass',
filename="models.py"
)
Result: Format identification with conversion recommendations
create_diagram(diagram_type="sequence", use_template=True, name="UserFlow")
Result: Auto-saved sequence diagram template ready for customization
- When: Every diagram creation and modification
- Where:
/diagrams
directory with metadata - Format:
.mmd
file +_metadata.json
- Purpose: Prevent data loss, maintain library
- When: On-demand via tool call
- Where: Custom locations you specify
- Format:
.mmd
file +_metadata.json
- Purpose: Backups, exports, custom workflows
Both systems work together - Auto-save maintains your library while manual save provides flexibility.
diagrams/
βββ SystemArchitecture_converted_20250824_120000.mmd
βββ SystemArchitecture_converted_20250824_120000_metadata.json
βββ TeamStructure_converted_20250824_130000.mmd
βββ TeamStructure_converted_20250824_130000_metadata.json
βββ UserFlow_diagram_20250824_140000.mmd
βββ UserFlow_diagram_20250824_140000_metadata.json
The integrated conversion system handles multiple input formats:
- Auto-detects nested JSON structures
- Generates hierarchical flowcharts showing data relationships
- Preserves key-value relationships and array structures
- Parses CSV headers and relationships
- Creates organizational charts or network diagrams
- Handles employee/role data and relationship matrices
- Analyzes Python source code structure
- Extracts classes, methods, and inheritance relationships
- Generates UML class diagrams with method signatures
- Detects indentation patterns and structure
- Converts to hierarchical mind maps
- Processes bullet points and numbered lists
- Content analysis for format identification
- File extension recognition when available
- Conversion recommendations for optimal diagram types
- Robust Error Handling: Comprehensive exception management
- Process Management: Background task cleanup and monitoring
- Data Integrity: Metadata validation and consistency checks
- Session Persistence: Diagrams survive server restarts
- Format Validation: Input validation for all supported formats
- Concurrent Access: Safe multi-client diagram access
Perfect for:
- AI-Powered Diagramming: Let AI create and modify diagrams from any format
- Documentation Generation: Convert data structures to visual documentation
- Process Visualization: Transform workflows into clear diagrams
- Code Architecture: Generate system diagrams from source code
- Data Visualization: Convert CSVs and JSON to visual representations
- Knowledge Mapping: Convert any structured content to mind maps
MIT License - See LICENSE file for details
Contributions welcome! The codebase follows modern Python patterns with comprehensive error handling and robust process management.
- Inspired by Drawnix - Open-source whiteboard tool
- Built with FastMCP
- Powered by Mermaid diagram syntax
- Format conversion powered by Python AST parsing and intelligent structure analysis
For issues or questions, please open an issue on GitHub.
System Requirements: Python 3.10+ | Compatible with Claude Desktop and MCP-enabled clients
π Ready to convert any format to diagrams? Start creating visual representations from JSON, CSV, Python code, and more with automatic saving!