Skip to main content
Glama

Mermaid Lint MCP

中文版本 | English

A powerful tool for validating Mermaid diagrams with both CLI and MCP server capabilities. Perfect for developers, technical writers, and AI assistants who work with Mermaid diagrams.

🚀 Quick Start

Install and Use Immediately

# Validate a Mermaid file npx mermaid-lint-mcp lint diagram.mmd # Validate Mermaid code directly npx mermaid-lint-mcp lint --code "graph TD; A-->B" # Start MCP server for AI assistants npx mermaid-lint-mcp server # Get help npx mermaid-lint-mcp --help

No installation required! The tool will be downloaded automatically on first use.

🎯 Use Cases

For Developers

  • Pre-commit validation: Ensure all Mermaid diagrams in your codebase are valid

  • CI/CD integration: Add diagram validation to your build pipeline

  • Documentation quality: Catch syntax errors before publishing docs

For Technical Writers

  • Content validation: Verify diagrams render correctly before publication

  • Error debugging: Get clear error messages for syntax issues

For AI Assistants

  • Real-time validation: Validate generated diagrams instantly

  • MCP integration: Seamless integration with Claude Code, Cursor, Trae, and other AI tools

  • Automated workflows: Enable AI to self-validate diagram outputs

📋 Features

  • Fast Validation: Optimized for speed with browser reuse and local libraries

  • Multiple Formats: Support for all Mermaid diagram types

  • Dual Interface: Both CLI tool and MCP server in one package

  • Error Details: Clear error messages with line numbers and suggestions

  • Timeout Control: Configurable validation timeouts

  • Zero Config: Works out of the box

🛠️ Installation Options

No installation needed - just use npx mermaid-lint-mcp directly.

Option 2: Global Installation

npm install -g mermaid-lint-mcp # Then use: mermaid-lint-mcp

Option 3: Local Project Installation

npm install mermaid-lint-mcp # Then use: npx mermaid-lint-mcp

📖 Usage Guide

CLI Commands

Validate Diagrams

# Validate a file npx mermaid-lint-mcp lint diagram.mmd npx mermaid-lint-mcp diagram.mmd # 'lint' is default # Validate code string npx mermaid-lint-mcp lint --code "graph TD; A-->B" # With custom timeout (5 seconds) npx mermaid-lint-mcp lint --timeout 5000 diagram.mmd # Validate with file option npx mermaid-lint-mcp lint --file diagram.mmd

Start MCP Server

# Start server for AI assistant integration npx mermaid-lint-mcp server

Get Help

npx mermaid-lint-mcp --help # Show all commands npx mermaid-lint-mcp --version # Show version

MCP Server Integration

For Claude Desktop

Add to your claude_desktop_config.json:

{ "mcpServers": { "mermaid-lint": { "command": "npx", "args": ["mermaid-lint-mcp", "server"] } } }

For Other MCP Clients, the setup is similar to above, please refer to the official documentation

📊 Supported Diagram Types

Type

Syntax

Example

Flowchart

flowchart TD

Decision trees, processes

Sequence

sequenceDiagram

API interactions, workflows

Class

classDiagram

Object relationships

State

stateDiagram-v2

State machines

ER

erDiagram

Database schemas

Gantt

gantt

Project timelines

Pie

pie

Data visualization

Journey

journey

User experiences

Git Graph

gitgraph

Version control flows

...

...

...

🔧 Configuration

Validation Options

interface ValidationOptions { timeout?: number; // Timeout in milliseconds (default: 5000) }

Environment Variables

# Set default timeout export MERMAID_TIMEOUT=10000 # Enable debug logging export DEBUG=mermaid-lint-mcp

🔍 Example Outputs

Valid Diagram

{ "isValid": true, "error": null, "diagramType": "flowchart" }

Invalid Diagram

{ "isValid": false, "error": "Parse error on line 8: ...> C E --> F[End ---------------------^ Expecting 'SQE', 'DOUBLECIRCLEEND', 'PE', '-)', 'STADIUMEND', 'SUBROUTINEEND', 'PIPE', 'CYLINDEREND', 'DIAMOND_STOP', 'TAGEND', 'TRAPEND', 'INVTRAPEND', 'UNICODE_TEXT', 'TEXT', 'TAGSTART', got '1'", "diagramType": "flowchart" }

CLI Output

$ npx mermaid-lint-mcp lint --code "graph TD; A-->B" 🔍 Validating Mermaid diagram... ✅ Diagram is valid! 📊 Diagram type: flowchart

🚨 Common Issues & Solutions

Issue: "Command not found"

Solution: Use npx mermaid-lint-mcp instead of mermaid-lint-mcp

Issue: Validation timeout

Solution: Increase timeout with --timeout 10000

Issue: Permission denied

Solution: Run with appropriate permissions or use npx

📝 License

MIT License - see LICENSE file for details.

🙋‍♂️ Support

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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/yaodebian/mermaid-lint-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server