MCP Diagram Server
Enables creating, manipulating, and managing Mermaid diagrams with automatic saving and multi-format conversion from JSON, CSV, Python, Markdown, and plain text.
README
MCP Diagram Server š
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.
š Key Features
š Automatic Saving & Library System
- Auto-save on creation/modification - Never lose your work
- Persistent diagram library stored in
/diagramsdirectory - Metadata tracking with creation/modification timestamps
- Instant load from disk - Diagrams persist across sessions
š Integrated Multi-Format Support
- 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)
šØ Rich Diagram Types
- 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
š Professional Tools
- 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.



š Quick Start- Simply clone the repository and add the following
Claude Desktop Configuration
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"
}
}
}
}
Installation- will auto-install with config
- 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
š Available MCP Tools
Core Diagram Operations
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
Format Conversion Tools
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
Library Management
save_diagram- Manual save to custom locationslist_templates- Browse available diagram templates- Auto-saving - Automatic persistence (always active)
š” Usage Examples
Universal Format Conversion
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_to_flowchart(
json_content='{"system": {"frontend": "React", "backend": "FastAPI", "db": "PostgreSQL"}}',
name="SystemArchitecture"
)
Result: Visual flowchart of system components and relationships
CSV to Organizational Chart
csv_to_org_chart(
csv_content="Name,Role,Department\nAlice,Director,Engineering\nBob,Engineer,Engineering",
name="TeamStructure"
)
Result: Organizational chart showing team hierarchy
Python Code to Class Diagram
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
Smart Format Detection
detect_file_format(
content='class User:\n def __init__(self):\n pass',
filename="models.py"
)
Result: Format identification with conversion recommendations
Create with Template
create_diagram(diagram_type="sequence", use_template=True, name="UserFlow")
Result: Auto-saved sequence diagram template ready for customization
š§ Understanding Save Systems
Auto-Save (Always Active)
- When: Every diagram creation and modification
- Where:
/diagramsdirectory with metadata - Format:
.mmdfile +_metadata.json - Purpose: Prevent data loss, maintain library
Manual Save (save_diagram)
- When: On-demand via tool call
- Where: Custom locations you specify
- Format:
.mmdfile +_metadata.json - Purpose: Backups, exports, custom workflows
Both systems work together - Auto-save maintains your library while manual save provides flexibility.
š Library Structure
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
šÆ Format Conversion Pipeline
The integrated conversion system handles multiple input formats:
JSON Processing
- Auto-detects nested JSON structures
- Generates hierarchical flowcharts showing data relationships
- Preserves key-value relationships and array structures
CSV Analysis
- Parses CSV headers and relationships
- Creates organizational charts or network diagrams
- Handles employee/role data and relationship matrices
Python AST Parsing
- Analyzes Python source code structure
- Extracts classes, methods, and inheritance relationships
- Generates UML class diagrams with method signatures
Plain Text Intelligence
- Detects indentation patterns and structure
- Converts to hierarchical mind maps
- Processes bullet points and numbered lists
Smart Detection
- Content analysis for format identification
- File extension recognition when available
- Conversion recommendations for optimal diagram types
š”ļø Enterprise Features
- 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
š Workflow Integration
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
š License
MIT License - See LICENSE file for details
š¤ Contributing
Contributions welcome! The codebase follows modern Python patterns with comprehensive error handling and robust process management.
š Acknowledgments
- 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
š Support
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!
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.