UML-MCP

by antoinebou12

413 downloads
Not rated
GitHub

About

UML-MCP Server is a UML diagram generation tool based on MCP (Model Context Protocol), which can help users generate various types of UML diagrams through natural language description or directly writing PlantUML and Mermaid and Kroki

Details

Author
antoinebou12
Downloads
413
Categories
Developer Tools, Other

- Supports UML, Mermaid, D2, Graphviz, ERD, and more diagram types
- Seamless MCP integration with AI assistants
- Direct playground links for online editing
- Multiple output formats: SVG, PNG, PDF, and others
- Simple configuration with local or remote rendering servers

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name UML-MCP
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install Python 3.10+, clone the repository, and run python mcp_server.py. Configure the server in Claude Desktop or Cursor via mcpServers JSON pointing to the script. Use the provided tools (e.g., generate_uml, generate_class_diagram) with parameters like diagram_type, code, and output_dir. Environment variables such as MCP_OUTPUT_DIR, KROKI_SERVER, and PLANTUML_SERVER control rendering services.

list_diagram_types

List supported diagram types with Kroki backend, description, and formats (same data as uml://types resource). Use when the client cannot read resources.

generate_uml_batch

Generate multiple diagrams in one call. Each item is like generate_uml (diagram_type, code, output_format?, theme?, scale?). Optional shared output_dir for all items. Returns a list of per-index results or errors.

generate_uml

Generate any UML or diagram by type (class, sequence, mermaid, d2, etc.)

validate_uml

Validate diagram type, format, code length, and basic syntax locally before render (no Kroki call). Returns errors and suggestions.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "uml-mcp": {
            "uml-mcp": {
                "transport": "http",
                "url": "https://uml-mcp.vercel.app/mcp"
            },
            "sequential-thinking": {
                "command": "npx",
                "args": [
                    "-y",
                    "@modelcontextprotocol/server-sequential-thinking"
                ]
            }
        }
    }
}

McpServers

{
    "uml-mcp": {
        "transport": "http",
        "url": "https://uml-mcp.vercel.app/mcp"
    },
    "sequential-thinking": {
        "command": "npx",
        "args": [
            "-y",
            "@modelcontextprotocol/server-sequential-thinking"
        ]
    }
}

UML-MCP: A Diagram Generation Server with MCP Interface

License: MIT Python 3.10+ smithery badge UML-MCP is a powerful diagram generation server that implements the Model Context Protocol (MCP), enabling seamless diagram creation directly from AI assistants and other applications.

🌟 Features

- Multiple Diagram Types: Support for UML diagrams (Class, Sequence, Activity, etc.), Mermaid, D2, and more - MCP Integration: Seamless integration with LLM assistants supporting the Model Context Protocol - Playground Links: Direct links to online editors for each diagram type - Multiple Output Formats: SVG, PNG, PDF, and other format options - Easy Configuration: Works with local and remote diagram rendering services

📋 Supported Diagram Types

UML-MCP supports a wide variety of diagram types: | Category | Diagram Types | |----------|---------------| | UML | Class, Sequence, Activity, Use Case, State, Component, Deployment, Object | | Other | Mermaid, D2, Graphviz, ERD, BlockDiag, BPMN, C4 with PlantUML |

🚀 Getting Started

Prerequisites

- Python 3.10 or higher - pip (Python package installer)

Installation

1. Clone the repository: ``bash git clone https://github.com/yourusername/uml-mcp.git cd uml-mcp ` 2. Install the dependencies: `bash pip install -r requirements.txt ` 3. For development environments: `bash pip install -r requirements-dev.txt `

Running the Server

Start the MCP server:
`bash python mcp_server.py ` This will start the server using stdio for communication with MCP clients.

🔧 Configuration

Editor Integration

Cursor

To integrate with Cursor:
`bash python mcp/install_to_cursor.py ` Or manually configure in Cursor settings: `json "mcpServers": { "UML-MCP-Server": { "command": "python", "args": ["/path/to/uml-mcp/mcp_server.py"], "output_dir": "/path/to/output" } } `

Environment Variables

-
MCP_OUTPUT_DIR - Directory to save generated diagrams (default: ./output) - KROKI_SERVER - URL of the Kroki server (default: https://kroki.io) - PLANTUML_SERVER - URL of the PlantUML server (default: http://plantuml-server:8080) - USE_LOCAL_KROKI - Use local Kroki server (true/false) - USE_LOCAL_PLANTUML - Use local PlantUML server (true/false)

📚 Documentation

For detailed documentation, visit the docs directory or our documentation site.

🧩 Architecture

UML-MCP is built with a modular architecture: - MCP Server Core: Handles MCP protocol communication - Diagram Generators: Supporting different diagram types - Tools: Expose diagram generation functionality through MCP - Resources: Provide templates and examples for various diagram types

🛠️ Local Development

For local development: 1. Set up local PlantUML and/or Kroki servers:
``bash
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.