{"id":"simonkurtz-msft-drawio-mcp-server","name":"drawio-mcp-server","homepage":null,"repo_url":"https://github.com/simonkurtz-MSFT/drawio-mcp-server","category":"devtools","subcategories":[],"tags":["mcp-server","drawio","diagrams-net","diagram-generation","azure-icons","tooling","deno","http-transport","stdio-transport","xml-export"],"what_it_does":"Provides an MCP (Model Context Protocol) server that generates Draw.io (diagrams.net) diagram XML programmatically. It exposes MCP tools for searching shapes, creating/editing/deleting diagram cells, managing layers/pages/groups, and exporting/importing/clearing diagrams. Supports stdio by default and an HTTP streamable endpoint at /mcp, with a Docker image available.","use_cases":["Generating Azure architecture diagrams and flowcharts from structured inputs","Automating diagram creation in AI-assisted workflows via MCP-capable clients (Claude Desktop, VS Code, Codex, etc.)","Programmatically updating diagram elements (nodes/edges), layers, and groups","Exporting diagrams as Draw.io XML for later rendering in diagrams.net"],"not_for":["Producing a browser-based interactive diagram editor UI","Use cases requiring fine-grained authenticated multi-tenant SaaS access (no explicit auth described)","Environments where writing to local filesystem is disallowed (unless SAVE_DIAGRAMS remains disabled)"],"best_when":"You need an agent-friendly MCP interface to create or modify diagrams as Draw.io XML (including Azure icon-based shapes) using either stdio or an HTTP endpoint.","avoid_when":"Avoid using the HTTP transport on untrusted networks without external protections, and avoid enabling the DEV-only SAVE_DIAGRAMS feature in production.","alternatives":["Other MCP servers that generate diagrams (e.g., drawio-mcp referenced in acknowledgements)","Draw.io/diagrams.net automation tools that output XML via separate CLIs or scripts","General-purpose diagram libraries/renderers that target formats other than Draw.io XML"],"af_score":66.2,"security_score":32.5,"reliability_score":28.8,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T15:20:20.740563+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":"/mcp (HTTP transport), or stdio (default)","has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":[],"oauth":false,"scopes":false,"notes":"No authentication mechanism is described for the HTTP transport in the provided README. Authentication is effectively handled by deployment/runtime choices (e.g., only exposing internally) rather than built-in auth."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Open-source project (MIT license referenced). No hosted pricing details provided."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":66.2,"security_score":32.5,"reliability_score":28.8,"mcp_server_quality":85.0,"documentation_accuracy":80.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":95.0,"rate_limit_clarity":20.0,"tls_enforcement":30.0,"auth_strength":20.0,"scope_granularity":0.0,"dependency_hygiene":50.0,"secret_handling":70.0,"security_notes":"HTTP transport is documented but no authentication/TLS requirements are stated in the README. The server can write diagram XML to local disk when SAVE_DIAGRAMS is enabled (DEV-only, not for production). No details are provided about secrets handling beyond typical env var configuration.","uptime_documented":0.0,"version_stability":40.0,"breaking_changes_history":30.0,"error_recovery":45.0,"idempotency_support":"false","idempotency_notes":"Diagram tools are described as stateless per call but appear to mutate the current diagram XML state; repeated calls may create/modify cells again depending on the client workflow and input XML.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Diagram tools are stateless per call; clients should carry forward the returned diagram_xml between tool calls.","Batch operations are recommended (pass arrays in a single call) to avoid inefficiency.","SAVE_DIAGRAMS is DEV-mode only; enabling it in production can create local files and may leak diagram contents to logs/artefacts."]}}