diagramzu-mcp
DiagramZu is an MCP server that lets Claude, Cursor, ChatGPT — any MCP client — create and update Mermaid diagrams in your workspace.
What it can do
- List Diagrams: List diagrams in the configured Space (every folder, newest first by default). Use this BEFORE create_diagram to check whether a diagram with the target purpose already exists — if it d
- List Folders: List every folder in the configured Space, ordered by name. Returns id and full path (e.g. 'Infra/AWS' for a nested folder). Use this BEFORE create_diagram or update_diagram when you wan
- Get Diagram: Fetch one diagram by id. Returns its title, description (the agent's brief), mermaid source code, and a shareable URL. Read the description before editing — it tells you what the diagram
What data it sees
Do you need an account
No: the server works without sign-in
DiagramZu is an MCP server that lets Claude, Cursor, ChatGPT — any MCP client — create and update Mermaid diagrams in your workspace. Your AI authors the diagram from your conversation; your team reads, comments on, and shares it at a clean URL.
How to connect
How to connect diagramzu-mcp to Claude
The server address to paste into Claude settings:
https://diagramzu-mcp--jack08300.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect diagramzu-mcp to ChatGPT
The server address to paste into ChatGPT settings:
https://diagramzu-mcp--jack08300.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect diagramzu-mcp to Cursor
The server address to paste into Cursor settings:
https://diagramzu-mcp--jack08300.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (14)
Raw names from tools/list. Only developers need these.
| list_diagrams | List diagrams in the configured Space (every folder, newest first by default). Use this BEFORE create_diagram to check whether a diagram with the target purpose already exists — if it does, prefer update_diagram over creating a duplicate. Filter with `q` (case-insensitive substring on title or code) when looking for a named diagram (e.g. q: 'schema' or q: 'infra'). Sort with `sort: 'updated'` to find the most recently changed diagrams. |
| list_folders | List every folder in the configured Space, ordered by name. Returns id and full path (e.g. 'Infra/AWS' for a nested folder). Use this BEFORE create_diagram or update_diagram when you want to place a diagram in a meaningful folder — agents should match by name (e.g. find a folder named 'Schemas' and pass its id as folderId). Folders are at most two levels deep. Creating folders is currently human-only. |
| get_diagram | Fetch one diagram by id. Returns its title, description (the agent's brief), mermaid source code, and a shareable URL. Read the description before editing — it tells you what the diagram is for and when to update it. |
| create_diagram | Create a new diagram in the Space. Returns its id and shareable URL. See this server's instructions for diagram-type selection and `class` role names (`edge`/`core`/`data`/`accent`/`muted`) for color-grouping. |
| update_diagram | Update an existing diagram's title, description, mermaid source, visual style preset, and/or layout style options. When rewriting the source, keep or restore `class` assignments using the role names from this server's instructions so the diagram stays color-grouped. |
| analyze_diagram | Analyze a stored flowchart diagram's structure (nodes, edges, subgraphs) and return actionable findings — orphan nodes, over-connected hubs, cycles, disconnected clusters, and grouping suggestions. Flowchart diagrams only. Set postAsComments: true to also persist each finding as a comment on the diagram (node-pinned where the finding names a single node) so a human reviewer sees them on the diagram surface. |
| list_versions | List manual snapshots of a diagram, newest first. Returns id, label, title, createdAt, and createdBy for each. |
| get_version | Fetch one snapshot by id. Returns its title, mermaid source code, and metadata. Read-only — restore is human-only in the UI. |
| list_comments | List comments on a diagram, oldest first. Returns id, parentId (null for a top-level comment), nodeId (the pinned node, if any), author, resolved state, and a body snippet. Use nodeId to fetch only the thread pinned to one node. |
| add_comment | Post a comment on a diagram. Pass nodeId to pin it to a specific node, or parentId to reply to an existing top-level comment (threads are one level deep). The author is the API token's owner. Use this to leave structured review findings a human will see on the diagram. |
| list_decks | List presentation decks in the configured Space, newest-edited first. A deck is an ordered set of existing diagrams shown as a slideshow. Returns each deck's id, title, and slide count. |
| get_deck | Fetch one deck by id. Returns its title, description, and the ordered list of slides (each slide is a diagram id + title in presentation order). |
| create_deck | Create a presentation deck from existing diagrams. Pass `slides` as the complete ordered list of diagram ids — the deck plays them as a slideshow in that order. Typical flow: create_diagram for each slide, collect the returned ids, then create_deck with those ids in presentation order. Returns the deck id and the present URL to share. Diagram ids must already exist in this Space (use list_diagrams to find them). |
| update_deck | Update a deck's title, description, and/or slide order. `slides` is DECLARATIVE: pass the complete desired ordered list of diagram ids — reorder, add, and remove are all expressed by sending the new full list (any id omitted is removed from the deck; new ids are appended in the order given). Returns the deck id and present URL. |