Skip to main content
Glama
dmkorj

Umlout MCP Server

by dmkorj

Umlout 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 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/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'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 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" }
    }
  }
}

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

Related MCP server: fcp-drawio

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 status field 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.

Related MCP Connectors

Related MCP Servers