About Umlout
Umlout is a hosted MCP server for creating and editing projects on a visual whiteboard. It serves teams using UML diagrams, flowcharts, wireframes, planning boards, floor plans, and architecture diagrams, with project objects and relations that can appear across boards.
Key features
- 01Create and manage projects and boards
- 02Define object types, fields, and relations
- 03Draw UML diagrams and flowcharts
- 04Create wireframes and planning boards
- 05Use AWS, Azure, and Kubernetes icons
- 06Manage comments, files, and deleted items
Use cases
- 01Build a UML diagram from requirements
- 02Turn an OpenAPI spec into a component diagram
- 03Sketch a mobile flow as wireframes
- 04Review board states and transitions
MCP support
Umlout provides a hosted Streamable HTTP MCP server at `https://www.umlout.com/mcp/http`. MCP clients can use its tools and read-only resources to create and edit projects in the authenticated account.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://www.umlout.com/mcp/httpclaude mcp add --transport http dmkorj-umlout https://www.umlout.com/mcp/http{"mcpServers":{"dmkorj-umlout":{"type":"http","url":"https://www.umlout.com/mcp/http"}}}Open in Cursor{"servers":{"dmkorj-umlout":{"type":"http","url":"https://www.umlout.com/mcp/http"}}}Open in VS Code{"mcpServers":{"dmkorj-umlout":{"type":"http","url":"https://www.umlout.com/mcp/http"}}}{"mcpServers":{"dmkorj-umlout":{"serverUrl":"https://www.umlout.com/mcp/http"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://www.umlout.com/mcp/httpAuth requiredTools
Details
From the project READMEUmlout MCP Server
Let your AI assistant draw on a real whiteboard.
Umlout exposes a hosted Model Context Protocol server, so Claude, Cursor, VS Code Copilot and any other MCP client can build and edit projects in your Umlout workspace — UML class, sequence, activity and state boards, flowcharts, wireframes, agile and planning boards, floor plans, dashboards and cloud architecture drawn with the AWS, Azure and Kubernetes icon sets.
Nothing to install and nothing to run: the server is hosted at https://www.umlout.com/mcp/http
(Streamable HTTP). The older SSE address, /mcp/sse, still answers, but an SSE session does not
survive a restart of the service, so a client pointed at it fails after every deploy until it is
reconnected by hand. Use /mcp/http.
You only need an API key.
Quick start
1. Get an API key. Sign in at umlout.com, open Profile → AI clients, pick your client and create a key. The profile page gives the exact text for your client with the key already in it.
2. Add the server to your client.
Claude Code
claude mcp add --transport http umlout https://www.umlout.com/mcp/http --header "Authorization: Bearer YOUR_API_KEY"
More options, including project scope: examples/claude-code.md.
Cursor · VS Code
~/.cursor/mcp.json:
{
"mcpServers": {
"umlout": {
"url": "https://www.umlout.com/mcp/http",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
VS Code reads a different shape — servers, not mcpServers, and "type": "http" — so use
examples/vscode.json in .vscode/mcp.json. It prompts for the key and
keeps it in VS Code's secret storage instead of a committed file.
Claude Desktop — via the mcp-remote bridge
Claude Desktop's config file does not take a remote URL directly, so route it through
mcp-remote (needs Node.js). Edit
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or
%APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"umlout": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://www.umlout.com/mcp/http",
"--header", "Authorization: Bearer YOUR_API_KEY"
]
}
}
}
Then quit Claude Desktop completely and reopen it — closing the window is not enough.
Codex · Gemini CLI · Antigravity · Devin Desktop · other clients
Codex keeps the key out of its config and reads it from an environment variable — see examples/codex.md.
Every other client takes a JSON file with an address and a headers object; only the name of the
address field differs:
| client | file | address field |
|---|---|---|
| Cursor | ~/.cursor/mcp.json | url |
| Gemini CLI | ~/.gemini/settings.json | httpUrl |
| Antigravity | ~/.gemini/config/mcp_config.json | serverUrl |
| Devin Desktop (formerly Windsurf) | its mcp_config.json (MCPs → View raw config) | serverUrl |
{
"mcpServers": {
"umlout": {
"serverUrl": "https://www.umlout.com/mcp/http",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
ChatGPT · Claude connectors · Grok — clients that take only an address
No key: give the client https://www.umlout.com/mcp/http. It opens an Umlout page where you
sign in and allow it. See docs/authentication.md.
3. Ask for a board:
Create a project "Auth" and draw a UML sequence diagram of the OAuth2 authorization code flow on a board in it.
Verify your setup at any time:
python3 scripts/check_connection.py --api-key YOUR_API_KEY
What it can do
95 tools across twelve areas, plus 4 read-only resources. Full reference with every argument: docs/tools.md and docs/resources.md.
Umlout stores a project, and a board is one view of it. A project holds objects — each with a name, exactly one type, its own properties and a description — and the relations between them. A figure on a board is one drawing of an object, so the same object can be drawn on five boards and is still one object; a line on a board is one drawing of a relation.
| Area | What the assistant can do |
|---|---|
| Projects | Create, list, read, rename, share publicly and delete projects |
| Boards | Create boards in a project, find them by name, rename, point the camera, clear, delete and restore |
| Objects and folders | Create objects, folders and relations in one call; update, merge duplicates, give an object its own detail board |
| Relations | Create and update relations with UML detail; reverse a relation's direction |
| Types and fields | Browse the catalogue's types; declare the project's own types; describe each type's fields — text, number, yes/no, choice, markdown, reference, counter, computed, file, list of pairs — and the template an object of the type is drawn with |
| Shared fields | Describe a field once and use it in several types |
| Shapes and connections | Draw figures of objects and free figures, UML classes with their compartments, connections with UML notation, sequence messages, custom anchor points; update and delete one at a time or hundreds per call |
| Composite figures and palettes | Save a set of figures as one card and place it again; redraw older copies; arrange the toolbar's palettes |
| Files | Upload files into a project, rename, delete and restore them; show an image in an Image figure |
| Comments | Add, list, resolve and delete comments and replies on any figure or line |
| Deleted items | List what was deleted in a project and restore it — a board, an object, a relation, a type, a shared field or a file |
| Plan and limits | Read the plan's quotas and what is left of the rate-limit budgets |
The figure vocabulary covers 205 figures — basic geometry, UML (class, use case, state, activity, sequence, component, deployment, timing), flowchart, charts and dashboard figures, agile and retrospective cards, plans with stages and tasks, floor plans, and a full wireframe kit — plus the AWS, Azure and Kubernetes icon libraries.
Things worth asking for
- "Turn this OpenAPI spec into a component diagram."
- "Sketch the mobile onboarding flow as wireframes — three screens."
- "Read the board 'Checkout' and tell me which states have no outgoing transitions."
- "Build a project from these requirements: orders, invoices, customers — one type per noun, with their fields — and draw a class board of it."
- "Add a
statusfield to every Task and count the done ones on each Stage."
Authentication and limits
Every request carries your key in Authorization: Bearer <key> (or X-API-Key), or an OAuth
token for a client that signs in through the browser. Both are scoped to your account — the
assistant sees exactly the projects you can see, with the role you have in each, and nothing else.
| Limit | Value |
|---|---|
| Tool calls | 300 per minute |
| Write tool calls | 600 per hour |
Bulk write calls (bulk_*) | 600 per hour, in addition to the write budget |
Details, key rotation and revocation: docs/authentication.md. Something not working? docs/troubleshooting.md.
About this repository
This repo is the public home of the Umlout MCP connector: documentation, client configs, the registry manifest (server.json) and a connection checker. The server itself is a hosted service — there is no local installation, so there is no server source here.
Issues and questions about the MCP integration are welcome in Issues.
License
MIT — documentation and examples.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.