mermaid-mcp-server
Provides real-time syntax validation for Mermaid diagrams, supporting multiple diagram types such as flowcharts, sequence diagrams, class diagrams, state diagrams, entity relationship diagrams, Gantt charts, user journey, pie charts, git graphs, mind maps, timelines, C4 architecture, sankey diagrams, block diagrams, and architecture diagrams.
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., "@mermaid-mcp-servervalidate this flowchart: graph TD A[Start]-->B[End]"
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.
Mermaid MCP Server
A lightweight Model Context Protocol (MCP) server that provides real-time Mermaid diagram syntax validation with minimal memory footprint.
Features
✅ Real-time Syntax Validation: Instant validation while you edit diagrams
🚀 Ultra Lightweight: Minimal memory usage, optimized for performance
🎯 100% Compatibility: Supports all Mermaid diagram types
📊 Detailed Error Reporting: Line numbers, error classification, and suggestions
🔧 Batch Validation: Validate multiple diagrams at once
📈 Performance Monitoring: Track validation times and memory usage
Related MCP server: claude-mermaid
Supported Diagram Types
Flowcharts (
graph,flowchart)Sequence Diagrams (
sequenceDiagram)Class Diagrams (
classDiagram)State Diagrams (
stateDiagram)Entity Relationship Diagrams (
erDiagram)Gantt Charts (
gantt)User Journey (
journey)Pie Charts (
pie)Git Graphs (
gitgraph)Mind Maps (
mindmap)Timelines (
timeline)C4 Architecture (
c4)Sankey Diagrams (
sankey)Block Diagrams (
block)Architecture Diagrams (
architecture)
Installation
Clone this repository:
git clone <repository-url>
cd mermaid-mcp-serverInstall dependencies:
npm installAdd to your MCP client configuration:
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"mermaid": {
"command": "node",
"args": ["/path/to/mermaid-mcp-server/server.js"],
"env": {}
}
}
}Usage Examples
Basic Syntax Validation
// Validate a simple flowchart
const result = await validate_mermaid({
diagramCode: `graph TD
A[Start] --> B{Decision}
B -->|Yes| C[Process]
B -->|No| D[End]
C --> D`
});Real-time Validation Hook
// Real-time validation during editing
const realtimeResult = await mermaid_realtime_validate({
diagramCode: "sequenceDiagram\n A->>B: Hello",
changeType: "add",
lineNumber: 2
});Batch Validation
// Validate multiple diagrams at once
const batchResult = await validate_mermaid_batch({
diagrams: [
"graph TD\n A --> B",
"sequenceDiagram\n A->>B: Test",
"invalid diagram code"
]
});API Reference
Tools
validate_mermaid
Validates a single Mermaid diagram.
Parameters:
diagramCode(string, required): The Mermaid diagram code to validate
Returns:
{
"isValid": true,
"error": null,
"type": null,
"line": null,
"suggestion": null,
"processingTime": 12,
"diagramType": "graph",
"elementCount": 4
}mermaid_realtime_validate
Real-time validation for live editing scenarios.
Parameters:
diagramCode(string, required): Current diagram codechangeType(string, required): Type of change (add,remove,modify,full)lineNumber(number, optional): Line where change occurred
Returns: Enhanced validation result with change metadata.
validate_mermaid_batch
Validates multiple diagrams in a single call.
Parameters:
diagrams(array, required): Array of diagram codes
Returns:
{
"summary": {
"total": 3,
"valid": 2,
"invalid": 1,
"averageProcessingTime": 15.3
},
"results": [...]
}get_mermaid_info
Gets server information and supported diagram types.
Returns:
{
"server": {
"name": "mermaid-mcp-server",
"version": "1.0.0",
"uptime": 3600
},
"supportedTypes": [...],
"stats": {...},
"features": [...]
}Error Types
The server classifies errors into these categories:
syntax: General syntax errorsno_type: Missing diagram type declarationunknown_command: Unsupported commandsparse: Parsing errorsidentifier: Invalid identifiersrelation: Connection/arrow issuesgeneral: Other errors
Performance Optimization
Memory Management
Lazy initialization of Mermaid engine
Minimal dependencies
Efficient garbage collection
No DOM rendering (validation only)
Processing Speed
Direct Mermaid parsing without rendering
Optimized error extraction
Batch processing capabilities
Performance metrics tracking
Usage Tips
Use
mermaid_realtime_validatefor live editingUse
validate_mermaid_batchfor multiple diagramsCheck
processingTimeto monitor performanceMonitor memory usage with
get_mermaid_info
Development
Running in Development Mode
npm run devTesting
# Test with various diagram types
node test.jsEnvironment Variables
NODE_ENV: Set todevelopmentfor debug loggingGC_INTERVAL: Garbage collection interval (default: 60000ms)
Configuration
The server can be configured via environment variables:
# Enable debug logging
DEBUG=mermaid-mcp-server
# Set memory limit (MB)
MEMORY_LIMIT=128
# Enable performance monitoring
PERFORMANCE_MONITORING=trueTroubleshooting
Common Issues
Server won't start
Check Node.js version (>=18.0.0 required)
Verify all dependencies are installed
Check for port conflicts if applicable
Memory usage high
Restart server periodically
Use batch validation instead of many single calls
Monitor memory usage via
get_mermaid_info
Validation errors
Ensure proper diagram syntax
Check supported diagram types
Use real-time validation for immediate feedback
Debug Mode
Enable debug logging:
DEBUG=mermaid-mcp-server:* npm startLicense
MIT License
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
Support
For issues and questions:
Create an issue on GitHub
Check the troubleshooting section
Review the API documentation
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.
Latest Blog Posts
- 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/FreePeak/mermaid-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server