UML Forge
13 AI-powered UML diagram tools for coding agents. Generates class, sequence, state, ER, threat model, deployment and architecture diagrams in Mermaid syntax. Works in Claude Code, Cursor and Windsurf.
README
UML Forge — MCP Connector
13 AI-powered UML diagram tools for Claude Code, Cursor, Windsurf, and any MCP-compatible coding agent.
What is this?
This repository contains the open-source MCP connector for UML Forge — a hosted service that generates professional Mermaid UML diagrams from inside your coding environment.
When installed, the connector runs locally as a stdio MCP server. Your coding agent (Claude Code, Cursor, Windsurf, etc.) calls one of the 13 diagram tools, the connector forwards the request to the UML Forge API (api.umlforge.dev), and the diagram is returned directly in your editor.
Your editor → MCP connector (this repo, runs locally) → UML Forge API → Mermaid diagram
No code is stored. Input is processed in memory on the API server and discarded after the response is returned. See Security and Privacy below.
Quick start
1. Get an API key
Sign up for a free account at umlforge.dev. The free tier includes 5 diagrams per month with no credit card required.
2. Configure your editor
Claude Code — add to .mcp.json in your project root:
{
"mcpServers": {
"umlforge": {
"command": "uvx",
"args": ["umlforge==0.1.1"],
"env": {
"UMLFORGE_API_KEY": "your-api-key-here"
}
}
}
}
Cursor — add to your MCP settings (~/.cursor/mcp.json or the project .cursor/mcp.json):
{
"mcpServers": {
"umlforge": {
"command": "uvx",
"args": ["umlforge==0.1.1"],
"env": {
"UMLFORGE_API_KEY": "your-api-key-here"
}
}
}
}
Windsurf — same JSON block, placed in your Windsurf MCP configuration.
Tip: Pin the version (
umlforge==0.1.1) so your setup is reproducible. Check PyPI for the latest release.
Tools included
| Tool | What it generates |
|---|---|
umlforge_reverse_engineer |
Class, sequence, and state diagrams from a codebase or GitHub URL |
umlforge_api_sequence |
Sequence diagrams from REST/OpenAPI endpoint descriptions |
umlforge_erd_schema |
Entity-relationship diagrams from SQL schema or ORM models |
umlforge_state_machine |
State diagrams from business rules or UI flows |
umlforge_frontend_components |
Component hierarchy and data-flow diagrams |
umlforge_deployment |
Infrastructure and deployment architecture diagrams |
umlforge_threat_model |
STRIDE threat model + attack surface diagram |
umlforge_event_driven |
Event flow and pub/sub architecture diagrams |
umlforge_ai_agent |
Agent topology and tool-call flow diagrams |
umlforge_stakeholder_arch |
C4 context diagrams for stakeholder communication |
umlforge_living_docs |
Living documentation diagrams synced to code |
umlforge_onboarding |
Onboarding maps for new team members |
umlforge_suggest |
Recommends the best diagram type for a description |
How it works
This connector is intentionally thin. Every tool in connector/tools.py does one thing: forward the call to the UML Forge API.
api_client.py sends an authenticated HTTPS POST to https://api.umlforge.dev/v1/generate with:
- The tool name
- Your input (code snippet, description, GitHub URL, etc.)
- Your API key in the
Authorization: Bearerheader
The API server runs the diagram generation, validates the Mermaid output, and returns it. The connector passes the result back to your editor.
There is no local LLM, no file system access, no process spawning, and no data persistence in the connector.
Security and privacy
What is sent to the API:
- Your tool inputs (code snippets, system descriptions, GitHub URLs you explicitly provide)
- Your API key (used for authentication and rate limiting only)
What is NOT collected:
- File system contents beyond what you explicitly pass to a tool
- Environment variables or secrets
- Conversation history from your editor
- Any data beyond the specific tool call arguments
API server behaviour:
- Input is processed in memory and discarded after the response is returned
- No code or description you submit is stored
- All traffic is encrypted via TLS (HTTPS)
Full privacy policy: umlforge.dev/privacy
Requirements
- Python 3.11 or later
uvx(comes with uv) — or install withpip install umlforge- An API key from umlforge.dev
Repository structure
connector/
__init__.py — package marker
__main__.py — entry point for uvx umlforge
server.py — FastMCP server initialisation
tools.py — 13 MCP tool definitions (signatures + docstrings)
api_client.py — HTTPS client for api.umlforge.dev
config.py — API key loading from UMLFORGE_API_KEY env var
README.md — PyPI package description
pyproject.toml — package metadata and dependencies
server.json — MCP Registry metadata
The diagram generation logic, prompt engineering, Mermaid validation, and billing are all server-side at api.umlforge.dev and are not part of this repository.
License
The connector is proprietary software. It is freely distributable and installable for use with a UML Forge account. Redistribution or modification without permission is not permitted.
© 2026 UML Forge. All rights reserved.
Links
- Website: umlforge.dev
- PyPI: pypi.org/project/umlforge
- MCP Registry: registry.modelcontextprotocol.io
- Support: support@umlforge.dev
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.