MCP.so
Sign In

UML-MCP

@antoinebou12

About UML-MCP

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

Basic information

Category

Other

License

MIT license

Runtime

python

Transports

stdio

Publisher

antoinebou12

Submitted by

Antoine Boucher

Config

Add this server to your MCP-compatible client using the configuration below.

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

Tools

5

A detailed tool for dynamic and reflective problem-solving through thoughts. This tool helps analyze problems through a flexible thinking process that can adapt and evolve. Each thought can build on, question, or revise previous insights as understanding deepens. When to use this tool: - Breaking down complex problems into steps - Planning and design with room for revision - Analysis that might need course correction - Problems where the full scope might not be clear initially - Problems that require a multi-step solution - Tasks that need to maintain context over multiple steps - Situations where irrelevant information needs to be filtered out Key features: - You can adjust total_thoughts up or down as you progress - You can question or revise previous thoughts - You can add more thoughts even after reaching what seemed like the end - You can express uncertainty and explore alternative approaches - Not every thought needs to build linearly - you can branch or backtrack - Generates a solution hypothesis - Verifies the hypothesis based on the Chain of Thought steps - Repeats the process until satisfied - Provides a correct answer Parameters explained: - thought: Your current thinking step, which can include: * Regular analytical steps * Revisions of previous thoughts * Questions about previous decisions * Realizations about needing more analysis * Changes in approach * Hypothesis generation * Hypothesis verification - nextThoughtNeeded: True if you need more thinking, even if at what seemed like the end - thoughtNumber: Current number in sequence (can go beyond initial total if needed) - totalThoughts: Current estimate of thoughts needed (can be adjusted up/down) - isRevision: A boolean indicating if this thought revises previous thinking - revisesThought: If is_revision is true, which thought number is being reconsidered - branchFromThought: If branching, which thought number is the branching point - branchId: Identifier for the current branch (if any) - needsMoreThoughts: If reaching end but realizing more thoughts needed You should: 1. Start with an initial estimate of needed thoughts, but be ready to adjust 2. Feel free to question or revise previous thoughts 3. Don't hesitate to add more thoughts if needed, even at the "end" 4. Express uncertainty when present 5. Mark thoughts that revise previous thinking or branch into new paths 6. Ignore information that is irrelevant to the current step 7. Generate a solution hypothesis when appropriate 8. Verify the hypothesis based on the Chain of Thought steps 9. Repeat the process until satisfied with the solution 10. Provide a single, ideally correct answer as the final output 11. Only set nextThoughtNeeded to false when truly done and a satisfactory answer is reached

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

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 any UML or diagram by type (class, sequence, mermaid, d2, etc.)

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

Overview

What is UML-MCP?

UML-MCP is a diagram generation server that implements the Model Context Protocol (MCP), enabling AI assistants and other applications to create UML diagrams, Mermaid, D2, Graphviz, ERD, and more. It connects to rendering services like PlantUML and Kroki, making diagram creation seamless from supported clients.

How to use UML-MCP?

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.

Key features of UML-MCP

  • 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

Use cases of UML-MCP

  • Generate UML class, sequence, or activity diagrams from AI chat prompts
  • Create ERDs and BPMN diagrams for database or process documentation
  • Automate diagram production for software documentation and reports
  • Integrate diagram generation into IDEs like Cursor or Claude Desktop

FAQ from UML-MCP

What diagram types does UML-MCP support?

UML-MCP supports UML (Class, Sequence, Activity, Use Case, State, Component, Deployment, Object), Mermaid, D2, Graphviz, ERD, BlockDiag, BPMN, and C4 with PlantUML.

What are the runtime requirements?

Python 3.10 or higher and pip. Optionally, Docker for local PlantUML or Kroki servers.

How can I use local rendering servers?

Set USE_LOCAL_PLANTUML=true and PLANTUML_SERVER=http://localhost:8080 (or USE_LOCAL_KROKI=true and KROKI_SERVER=http://localhost:8000), then start the corresponding Docker containers.

What output formats are available?

SVG, PNG, PDF, and other formats depending on the diagram type and rendering engine.

How do I integrate UML-MCP with Cursor?

Run python mcp/install_to_cursor.py or manually add the server configuration in Cursor settings under mcpServers with the command and arguments pointing to mcp_server.py.

Comments

More Other MCP servers