UML-MCP-Server
Overview
UML-MCP-Server is a UML diagram generation tool that allows users to create various types of UML diagrams using natural language descriptions or PlantUML code.
To use UML-MCP-Server, clone the repository, set up a Python virtual environment, install dependencies, and then use it as a library or configure it with compatible clients like Cursor.
- Supports multiple UML diagram types including class, sequence, and activity diagrams. - Generates UML diagrams from natural language descriptions. - Allows direct use of PlantUML code for diagram generation. - Provides URLs for easy sharing and local file paths for saved diagrams. - Integrates with clients supporting MCP (Model Context Protocol). - Comprehensive logging system for monitoring server status.
- Creating class diagrams for software design.
- Generating sequence diagrams for process flows.
- Visualizing system architecture with deployment diagrams.
Add to your AI client
Use these steps to connect UML-MCP-Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"uml-mcp-server-swayingleaves": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-uml-mcp-server-swayingleaves"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"uml-mcp-server-swayingleaves": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-uml-mcp-server-swayingleaves"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"uml-mcp-server-swayingleaves": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-uml-mcp-server-swayingleaves"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"uml-mcp-server-swayingleaves": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-uml-mcp-server-swayingleaves"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"uml-mcp-server-swayingleaves": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-uml-mcp-server-swayingleaves"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"uml-mcp-server-swayingleaves": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-uml-mcp-server-swayingleaves"
]
}
}
}FAQ
Can UML-MCP-Server generate all types of UML diagrams?
Yes! It supports various UML diagram types including class, sequence, and activity diagrams.
Is UML-MCP-Server free to use?
Yes! UML-MCP-Server is open-source and free to use.
How do I troubleshoot issues with UML-MCP-Server?
Check the log files for error details, verify dependency installations, and ensure network connectivity.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":2990,"uuid":"7238dc89-9a86-40a8-b2dc-7ed477c2cd40","name":"uml-mcp-server","title":"UML-MCP-Server","description":"","avatar_url":"https://avatars.githubusercontent.com/u/24371302?v=4","created_at":"2025-03-16T11:48:57.580Z","updated_at":"2025-03-16T12:44:30.542Z","status":"created","author_name":"Swayingleaves","author_avatar_url":"https://avatars.githubusercontent.com/u/24371302?v=4","tags":"[]","category":"developer-tools","is_featured":false,"sort":1,"url":"https://github.com/Swayingleaves/uml-mcp-server","target":"_self","content":"$29","summary":"$2a","img_url":"https://camo.githubusercontent.com/2d59d986e33869255381e1439ce249530aa7e52e145f8ee31a2a3bbb108c0671/68747470733a2f2f736d6974686572792e61692f62616467652f4053776179696e676c65617665732f756d6c2d6d63702d736572766572","type":null,"metadata":"{\"star\":\"8\",\"license\":\"\",\"language\":\"Python\",\"is_official\":false,\"latest_commit_time\":\"2025-05-09 15:55:57\"}","user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]