render_diagramLABSCO SUMMARY
The discovery tools are what stop the diagram being wrong.
Cloud diagram libraries fail with models for a specific reason — the node classes and import paths are long and easy to hallucinate — and this server solves that by making the catalogue searchable before the render call. Having a hosted endpoint that needs no Graphviz, Java or Mermaid CLI on your machine removes the other usual obstacle.
What it is
A diagram server backed by three rendering engines — mingrammer/diagrams for cloud architecture, Mermaid for flowcharts and sequence diagrams, and PlantUML for UML. The discovery tools are what make it work with a model: rather than hoping the right import path is remembered, the model can list providers, browse services and search nodes by keyword before it writes any diagram code.
What you get
- Render:
render_diagramruns a mingrammer/diagrams Python script in a sandboxed subprocess and returns a PNG,render_mermaidrenders a Mermaid definition,render_plantumlrenders a PlantUML one - Discover before you draw:
list_providers,list_services,list_nodeswith import paths, andsearch_nodesfor keyword search across every provider - Cross-cloud equivalence:
find_equivalentmaps a node to its counterpart on another provider, andlist_categorieslists all 30 infrastructure role categories with their mapped nodes - Reference material as MCP resources —
diagrams://reference/diagram,diagrams://reference/edge,diagrams://reference/cluster,diagrams://reference/mermaidanddiagrams://reference/plantuml
Requirements
Nothing — no account, no key. The simplest path is the hosted endpoint at https://diagrams-mcp-production.up.railway.app/mcp, which has every render dependency pre-installed and needs no local setup. Running it yourself: the package is diagrams-mcp-server (version 0.3.0), launched with uvx diagrams-mcp-server over stdio, and local rendering needs Graphviz for render_diagram, the Mermaid CLI for render_mermaid, and Java plus plantuml.jar for render_plantuml. A split mode exists for hosting, where DIAGRAMS_RENDERER_MODE=remote and DIAGRAMS_RENDERER_URL point a slim facade at a separate renderer service.
Setup effort
One command — claude mcp add --transport http diagrams-mcp https://diagrams-mcp-production.up.railway.app/mcp
USE CASES
Drawing an AWS architecture from a description
Search the catalogue for the services you named, then render the diagram from a script that uses real node classes.
Producing a flowchart or sequence diagram
Write a Mermaid definition and get an image back, using the bundled syntax reference when the model is unsure.
Redrawing an architecture on another cloud
Map each node to its equivalent on the target provider and render the result.
Documenting a flow as UML
Render a sequence, component or state diagram from PlantUML source.
9 tools
Listed in project docs. Your client may show a different list.
render_mermaidrender_plantumllist_providerslist_serviceslist_nodessearch_nodesfind_equivalentlist_categoriesBEFORE YOU INSTALL
What to know first
Tools you get
9 tools named in the project's documentation.
Where it runs
Of the 5 documented clients, 1 runs the server on your machine and 4 connect to a hosted endpoint.
INSTALLATION
Connect your client
Server setup
claude mcp add
Claude Code
claude mcp add --transport http diagrams-mcp https://diagrams-mcp-production.up.railway.app/mcpHosted endpoint
https://diagrams-mcp-production.up.railway.app/mcpAdd this hosted endpoint to your MCP client.
MCP Clients
Cursor
{
"mcpServers": {
"diagrams-mcp": {
"url": "https://diagrams-mcp-production.up.railway.app/mcp"
}
}
}Windsurf
{
"mcpServers": {
"diagrams-mcp": {
"serverUrl": "https://diagrams-mcp-production.up.railway.app/mcp"
}
}
}VS Code
{
"servers": {
"diagrams-mcp": {
"type": "http",
"url": "https://diagrams-mcp-production.up.railway.app/mcp"
}
}
}Any MCP client — local uvx
{
"mcpServers": {
"diagrams-mcp": {
"command": "uvx",
"args": [
"diagrams-mcp-server"
]
}
}
}