{"category":{"id":"diagrams-software-architecture","name":"Diagrams and software architecture","description":"Render or edit diagrams (Mermaid, PlantUML, C4), whiteboards and architecture models."},"entries":[ {"id":"eraser-api-diagramgpt","name":"Eraser API (DiagramGPT)","homepage":"https://www.eraser.io","docs":"https://docs.eraser.io/reference/getting-started","auth":"api_key","auth_hint":"Authorization: Bearer ","mcp":{"type":"official","url":"https://app.eraser.io/api/mcp","maintainer":"vendor","remote_url":"https://app.eraser.io/api/mcp","repo":"https://www.npmjs.com/package/@eraserlabs/eraser-mcp","source_url":"https://docs.eraser.io/mcp.md","checked_at":"2026-09-24","domain_verified":true,"kind":"vendor-hosted","config":{"transport":"streamable-http","url":"https://app.eraser.io/api/mcp","derived":true}},"free_tier":"paid only - API tokens require an active paid team plan","sdk":[],"openapi":null,"llms_txt":null,"desc_en":"Generate diagrams from text prompts (DiagramGPT) and manage Eraser files programmatically via REST API.","notes":"No free tier for API access - tokens are only issued to paid teams, not free accounts. The official remote MCP server (OAuth or API key; local npm @eraserlabs/eraser-mcp) is free within in-app free-tier limits.","verified":"2026-09-24","free_plan":{"kind":"none","source_url":"https://docs.eraser.io/reference/api-token.md","checked_at":"2026-09-24"},"auth_scheme":{"type":"http","scheme":"bearer","format":"Authorization: Bearer ","source_url":"https://docs.eraser.io/reference/api-token.md","checked_at":"2026-09-24"},"base_url":"https://app.eraser.io/api","operations":["diagram-rendering"],"no_auth":false,"has_free_tier":false,"has_trial":false,"no_card":false,"stale":false,"link_check":{"checked_at":"2026-09-24","docs":"ok"},"uptime":{"window_days":30,"api":{"url":"https://app.eraser.io/api","probes":1,"up":1,"median_ms":417,"last":{"at":"2026-09-24T18:26Z","up":true,"detail":404}},"mcp_remote":{"url":"https://app.eraser.io/api/mcp","probes":1,"up":1,"median_ms":378,"last":{"at":"2026-09-24T18:26Z","up":true,"detail":401}}}}, {"id":"icepanel-api","name":"IcePanel API","homepage":"https://icepanel.io","docs":"https://developer.icepanel.io/","auth":"api_key","auth_hint":"X-API-Key: ; OpenAPI 3.1 spec published at api.icepanel.io","mcp":{"type":"official","url":"https://mcp.icepanel.io/mcp","maintainer":"vendor","remote_url":"https://mcp.icepanel.io/mcp","covers_full_api":false,"source_url":"https://docs.icepanel.io/integrations/mcp-server","checked_at":"2026-09-24","domain_verified":true,"kind":"vendor-hosted","config":{"transport":"streamable-http","url":"https://mcp.icepanel.io/mcp","derived":true}},"free_tier":"free tier: 10,000 read requests/mo, 1,000 write requests/mo, 5 import/export requests/mo","sdk":[],"openapi":"https://api.icepanel.io/","llms_txt":"https://developer.icepanel.io/llms.txt","desc_en":"Programmatically create, read, import, and export C4-style architecture landscapes and models via REST API.","notes":"Free plan has monthly request caps; higher volume requires Growth ($40/editor/mo), Scale ($80/editor/mo) or Enterprise. Official remote MCP (OAuth) is documented as paid plans only; the local IcePanel/mcp-server repo is deprecated.","verified":"2026-09-24","free_plan":{"kind":"free_tier","requires_card":false,"quota":"10,000 read, 1,000 write, 5 import and 5 export API requests","period":"month","source_url":"https://icepanel.io/pricing","checked_at":"2026-09-24"},"auth_scheme":{"type":"apiKey","in":"header","name":"X-API-Key","format":"X-API-Key: ","source_url":"https://developer.icepanel.io/developer-guide/getting-started/quickstart.md","checked_at":"2026-09-24"},"base_url":"https://api.icepanel.io/v1","rate_limits":{"summary":"GET/HEAD 2,400/min; POST/PUT/PATCH/DELETE 60/min; POST /user/* 10/min; 429 with Retry-After","source_url":"https://developer.icepanel.io/developer-guide/getting-started/rate-limits.md","checked_at":"2026-09-24"},"operations":["diagram-rendering"],"no_auth":false,"call":{"operation":"list model objects in a landscape","method":"GET","url":"https://api.icepanel.io/v1/landscapes/{landscapeId}/versions/latest/model/objects","example":"curl \"https://api.icepanel.io/v1/landscapes/$ICEPANEL_LANDSCAPE_ID/versions/latest/model/objects\" -H \"X-API-Key: $ICEPANEL_API_KEY\"","response_fields":["modelObjects[].id","modelObjects[].name","modelObjects[].type","modelObjects[].parentId","modelObjects[].status"],"async":null,"source_url":"https://developer.icepanel.io/developer-guide/getting-started/quickstart.md","checked_at":"2026-09-24"},"has_free_tier":true,"has_trial":false,"no_card":true,"stale":false,"link_check":{"checked_at":"2026-09-24","docs":"ok","openapi":"ok","llms_txt":"ok"},"ratings":[{"source":"sourceforge","rating":5.0,"reviews":1,"url":"https://sourceforge.net/software/product/IcePanel/","fetched_at":"2026-09-24T16:56Z"}],"uptime":{"window_days":30,"api":{"url":"https://api.icepanel.io/v1","probes":1,"up":1,"median_ms":384,"last":{"at":"2026-09-24T18:26Z","up":true,"detail":200}},"mcp_remote":{"url":"https://mcp.icepanel.io/mcp","probes":1,"up":1,"median_ms":309,"last":{"at":"2026-09-24T18:26Z","up":true,"detail":401}}},"reviews_url":"https://raw.githubusercontent.com/eater2/ai_agents_api_library/main/catalog/reviews/icepanel-api.json"}, {"id":"kroki","name":"Kroki","homepage":"https://kroki.io","docs":"https://docs.kroki.io/kroki/","auth":"none","auth_hint":"","mcp":{"type":"none","url":null,"domain_verified":null,"kind":"none","config":null},"free_tier":"free, no key; public hosted instance at kroki.io sponsored by Exoscale (no SLA)","sdk":[],"openapi":null,"llms_txt":null,"desc_en":"Render 25+ diagram-as-code formats (PlantUML, Mermaid, C4, GraphViz, BPMN, etc.) from text via a free HTTP GET/POST API.","notes":"No authentication or signup required; text diagram in, image out; can be self-hosted via Docker for privacy or higher volume.","verified":"2026-09-24","free_plan":{"kind":"no_key","requires_card":false,"source_url":"https://kroki.io/","checked_at":"2026-09-24"},"auth_scheme":{"type":"none","format":"GET https://kroki.io/{diagram_type}/{output_format}/{deflate+base64 source} or POST with text/plain body","source_url":"https://docs.kroki.io/kroki/setup/usage/","checked_at":"2026-09-24"},"base_url":"https://kroki.io","async_jobs":{"value":false,"how":"synchronous: image returned in the HTTP response","source_url":"https://docs.kroki.io/kroki/setup/usage/"},"operations":["diagram-rendering"],"no_auth":true,"call":{"operation":"render a diagram from text source","method":"POST","url":"https://kroki.io/{diagram_type}/{output_format}","example":"curl -X POST https://kroki.io/graphviz/svg -H \"Content-Type: text/plain\" --data-raw 'digraph G {Hello->World}'","response_fields":["response body: rendered image (SVG/PNG/PDF per output_format)"],"source_url":"https://docs.kroki.io/kroki/setup/usage/","checked_at":"2026-09-24"},"has_free_tier":true,"has_trial":false,"no_card":true,"stale":false,"link_check":{"checked_at":"2026-09-24","docs":"ok"},"uptime":{"window_days":30,"api":{"url":"https://kroki.io","probes":1,"up":1,"median_ms":820,"last":{"at":"2026-09-24T18:26Z","up":true,"detail":200}}}}, {"id":"lucid-lucidchart-rest-api","name":"Lucid (Lucidchart) REST API","homepage":"https://developer.lucid.co","docs":"https://developer.lucid.co","auth":"api_key+oauth2","auth_hint":"Authorization: Bearer or OAuth 2.0 access token","mcp":{"type":"official","url":"https://mcp.lucid.app/mcp","maintainer":"vendor","remote_url":"https://mcp.lucid.app/mcp","covers_full_api":false,"source_url":"https://community.lucid.co/community-news-and-announcements-9/introducing-the-lucid-model-context-protocol-mcp-server-12230","checked_at":"2026-09-24","domain_verified":false,"kind":"official","config":{"transport":"streamable-http","url":"https://mcp.lucid.app/mcp","derived":true}},"free_tier":"check pricing","sdk":[],"openapi":null,"llms_txt":"https://developer.lucid.co/llms.txt","desc_en":"Create, read, search, and manage Lucidchart documents and folders programmatically via REST API.","notes":"Requires enabling Developer Tools on the account first; supports both API-key and OAuth 2.0 client-credential flows; exact free-tier API quota not published in docs. The official MCP server (OAuth, since 2025-11-18) must be enabled by an account admin.","verified":"2026-09-24","auth_scheme":{"type":"http","scheme":"bearer","format":"Authorization: Bearer + Lucid-Api-Version: ","source_url":"https://lucid.readme.io/reference/headers.md","checked_at":"2026-09-24"},"base_url":"https://api.lucid.co","oauth_scopes":{"scopes":["lucidchart.document.content","lucidchart.document.content:readonly","folder","user.profile"],"source_url":"https://lucid.readme.io/reference/access-scopes.md","checked_at":"2026-09-24"},"operations":["diagram-rendering"],"no_auth":false,"has_free_tier":false,"has_trial":false,"no_card":false,"stale":false,"link_check":{"checked_at":"2026-09-24","docs":"ok"},"uptime":{"window_days":30,"api":{"url":"https://api.lucid.co","probes":1,"up":1,"median_ms":295,"last":{"at":"2026-09-24T18:26Z","up":true,"detail":404}},"mcp_remote":{"url":"https://mcp.lucid.app/mcp","probes":1,"up":1,"median_ms":311,"last":{"at":"2026-09-24T18:26Z","up":true,"detail":401}}}}, {"id":"mermaid-chart-api","name":"Mermaid Chart API","homepage":"https://www.mermaidchart.com","docs":"https://mermaid.ai/docs/ai/mcp-server","auth":"api_key","auth_hint":"API token from account settings; MCP tools use bearer-style auth","mcp":{"type":"official","url":"https://mcp.mermaid.ai/mcp","maintainer":"vendor","remote_url":"https://mcp.mermaid.ai/mcp","tools":["validate_and_render_mermaid_diagram","get_diagram_title","get_diagram_summary","search_mermaid_icons","get_mermaid_syntax_document","list_tools","list_mermaid_chart_projects","list_mermaid_chart_diagrams","create_mermaid_chart_diagram","get_mermaid_chart_diagram","update_mermaid_chart_diagram"],"source_url":"https://mermaid.ai/docs/ai/mcp-server","checked_at":"2026-09-24","domain_verified":true,"kind":"vendor-hosted","config":{"transport":"streamable-http","url":"https://mcp.mermaid.ai/mcp","headers":{"Authorization":"$MERMAID_CHART_TOKEN"},"oauth":false,"docs_only":false,"source_url":"https://mermaid.ai/docs/ai/mcp-server","checked_at":"2026-09-24"}},"free_tier":"unauthenticated MCP validate/render tools are free; saving to a Mermaid Chart account needs a token, check pricing for limits","sdk":[],"openapi":null,"llms_txt":null,"desc_en":"Validate, render, and save Mermaid diagrams via Mermaid Chart's official MCP server using an account API token.","notes":"Broad REST API docs are gated behind a Google Form request (contact-to-access); the MCP server (HTTP https://mcp.mermaid.ai/mcp, SSE https://mcp.mermaid.ai/sse) is the practical self-serve agent interface today.","verified":"2026-09-24","free_plan":{"kind":"no_key","requires_card":false,"source_url":"https://mermaid.ai/docs/ai/mcp-server","checked_at":"2026-09-24"},"auth_scheme":{"type":"http","scheme":"bearer","format":"Authorization: Bearer (only for Mermaid Chart account tools)","source_url":"https://mermaid.ai/docs/ai/mcp-server","checked_at":"2026-09-24"},"operations":["diagram-rendering"],"no_auth":false,"has_free_tier":true,"has_trial":false,"no_card":true,"stale":false,"link_check":{"checked_at":"2026-09-24","docs":"ok","mcp":"reachable","llms_txt":"reachable"},"uptime":{"window_days":30,"mcp_remote":{"url":"https://mcp.mermaid.ai/mcp","probes":1,"up":1,"median_ms":561,"last":{"at":"2026-09-24T18:26Z","up":true,"detail":200}}}}, {"id":"miro-rest-api","name":"Miro REST API","homepage":"https://developers.miro.com","docs":"https://developers.miro.com/docs","auth":"oauth2","auth_hint":"Authorization: Bearer (OAuth 2.0 authorization code flow, or OAuth 2.1 for MCP)","mcp":{"type":"official","url":"https://mcp.miro.com/","maintainer":"vendor","remote_url":"https://mcp.miro.com/","tools":["board_create","board_search_boards","canvas_get_canvas_composer_skill","canvas_load_format_skill","canvas_search","canvas_create_from_svg","canvas_read_as_svg","canvas_update_from_svg","comment_list_comments","comment_reply","comment_resolve","image_create","image_get_data","image_get_upload_url","image_get_url","table_create","table_list_rows","table_sync_rows","prototype_read","prototype_create"],"covers_full_api":false,"source_url":"https://developers.miro.com/docs/miro-mcp-tools.md","checked_at":"2026-09-24","domain_verified":true,"kind":"vendor-hosted","config":{"transport":"streamable-http","url":"https://mcp.miro.com/","headers":null,"oauth":true,"docs_only":false,"source_url":"https://developers.miro.com/docs/connecting-to-miro-mcp","checked_at":"2026-09-24"}},"free_tier":"Free tier: up to 3 editable team boards; MCP on all plans, capped per day at 100 tool calls on Free (Starter 500, Business 2,000, Enterprise 10,000)","sdk":[],"openapi":null,"llms_txt":"https://developers.miro.com/llms.txt","desc_en":"Create/read boards and items via REST API, or use Miro's official MCP server to search, build, and summarize boards.","notes":"REST access tokens expire in 1 hour (refresh token 60 days); MCP server supports OIDC for enterprise data-safety controls.","verified":"2026-09-24","free_plan":{"kind":"free_tier","quota":"100 MCP tool calls","period":"day","source_url":"https://developers.miro.com/docs/mcp-usage-and-daily-limits.md","checked_at":"2026-09-24"},"auth_scheme":{"type":"oauth2","scheme":"bearer","format":"Authorization: Bearer ","source_url":"https://developers.miro.com/docs/rest-api-reference-guide","checked_at":"2026-09-24"},"base_url":"https://api.miro.com/v2","rate_limits":{"summary":"Credit-based per user per app: global 100,000 credits/min; Level 1 call = 50 credits (2,000 req/min), Level 2 = 100 credits (1,000 req/min)","source_url":"https://developers.miro.com/reference/rate-limiting.md","checked_at":"2026-09-24"},"oauth_scopes":{"scopes":["boards:read","boards:write","identity:read"],"source_url":"https://developers.miro.com/reference/scopes.md","checked_at":"2026-09-24"},"operations":["whiteboard-editing"],"no_auth":false,"call":{"operation":"create a sticky note on a board","method":"POST","url":"https://api.miro.com/v2/boards/{board_id}/sticky_notes","example":"curl -X POST https://api.miro.com/v2/boards/$MIRO_BOARD_ID/sticky_notes -H \"Authorization: Bearer $MIRO_ACCESS_TOKEN\" -H \"Content-Type: application/json\" -d '{\"data\":{\"content\":\"Hello\",\"shape\":\"square\"},\"position\":{\"x\":100,\"y\":100}}'","response_fields":["id","type","data.content","links.self"],"async":null,"source_url":"https://developers.miro.com/reference/create-sticky-note-item-1.md","checked_at":"2026-09-24"},"has_free_tier":true,"has_trial":false,"no_card":false,"stale":false,"link_check":{"checked_at":"2026-09-24","docs":"ok","mcp":"reachable","llms_txt":"ok"},"uptime":{"window_days":30,"api":{"url":"https://api.miro.com/v2","probes":1,"up":1,"median_ms":409,"last":{"at":"2026-09-24T18:26Z","up":true,"detail":404}},"mcp_remote":{"url":"https://mcp.miro.com/","probes":1,"up":1,"median_ms":323,"last":{"at":"2026-09-24T18:26Z","up":true,"detail":401}}}}, {"id":"napkin-ai-api","name":"Napkin AI API","homepage":"https://www.napkin.ai","docs":"https://api.napkin.ai/","auth":"api_key","auth_hint":"Authorization: Bearer ","mcp":{"type":"none","url":null,"maintainer":"none","source_url":"https://api.napkin.ai/faq","checked_at":"2026-09-24","domain_verified":null,"kind":"none","config":null},"free_tier":"included on every plan; any account can create a token and call the API, limited by credits","sdk":[],"openapi":null,"llms_txt":null,"desc_en":"Generate diagrams, flowcharts, mind maps, and charts from text via REST API, exporting to SVG, PNG, or PPT.","notes":"Credit-based usage; requests fail with a no_credits error once a team's credits are exhausted.","verified":"2026-09-24","free_plan":{"kind":"free_tier","quota":"500 AI credits per week (shared with the app)","watermark":true,"source_url":"https://www.napkin.ai/pricing","checked_at":"2026-09-24"},"auth_scheme":{"type":"http","scheme":"bearer","format":"Authorization: Bearer ","source_url":"https://api.napkin.ai/api/create-visual-request","checked_at":"2026-09-24"},"base_url":"https://api.napkin.ai/v1","rate_limits":{"summary":"POST /v1/visual throttled per second/minute/hour/day by plan; X-RateLimit-* and Retry-After headers","source_url":"https://api.napkin.ai/","checked_at":"2026-09-24"},"async_jobs":{"value":true,"how":"POST /v1/visual returns request id; poll GET /v1/visual/{id}/status; file URLs expire after 30 min","source_url":"https://api.napkin.ai/"},"operations":["diagram-rendering"],"no_auth":false,"call":{"operation":"create a visual from text","method":"POST","url":"https://api.napkin.ai/v1/visual","example":"curl -X POST https://api.napkin.ai/v1/visual -H \"Authorization: Bearer $NAPKIN_API_TOKEN\" -H \"Content-Type: application/json\" -d '{\"format\":\"svg\",\"content\":\"Napkin API\"}'","response_fields":["id","status"],"async":"poll GET https://api.napkin.ai/v1/visual/{request-id}/status until status is completed, then download each generated_files URL with the same Authorization header (URLs expire after 30 min)","source_url":"https://api.napkin.ai/api/create-visual-request","checked_at":"2026-09-24"},"has_free_tier":true,"has_trial":false,"no_card":false,"stale":false,"link_check":{"checked_at":"2026-09-24","docs":"ok"},"uptime":{"window_days":30,"api":{"url":"https://api.napkin.ai/v1","probes":1,"up":1,"median_ms":463,"last":{"at":"2026-09-24T18:26Z","up":true,"detail":404}}}}, {"id":"plantuml-server-api","name":"PlantUML Server API","homepage":"https://plantuml.com","docs":"https://plantuml.com/server","auth":"none","auth_hint":"","mcp":{"type":"none","url":null,"maintainer":"vendor","repo":"https://github.com/plantuml/plantuml-mcp","tools":["plantuml_version"],"covers_full_api":false,"source_url":"https://github.com/plantuml/plantuml-mcp","checked_at":"2026-09-24","domain_verified":null,"kind":"official","config":null},"free_tier":"free, no key; public hosted server at plantuml.com/plantuml","sdk":[],"openapi":null,"llms_txt":null,"desc_en":"Render UML and architecture-as-code diagrams to PNG/SVG/ASCII via a free public HTTP GET API using encoded diagram text.","notes":"Extremely widely used for UML/C4/architecture-as-code; no signup; self-hostable via plantuml.war for privacy or rate-limit control. The official plantuml/plantuml-mcp is an MVP exposing only plantuml_version (no rendering yet).","verified":"2026-09-24","free_plan":{"kind":"no_key","requires_card":false,"source_url":"https://plantuml.com/server","checked_at":"2026-09-24"},"auth_scheme":{"type":"none","format":"GET https://www.plantuml.com/plantuml/{png|svg|txt}/","source_url":"https://plantuml.com/server","checked_at":"2026-09-24"},"base_url":"https://www.plantuml.com/plantuml","async_jobs":{"value":false,"how":"synchronous: image returned in the HTTP response","source_url":"https://plantuml.com/server"},"operations":["diagram-rendering"],"no_auth":true,"call":{"operation":"render a diagram to PNG","method":"GET","url":"https://www.plantuml.com/plantuml/png/{ENCODED_SOURCE}","example":"curl -o diagram.png https://www.plantuml.com/plantuml/png/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000","response_fields":["body: PNG image bytes (use /svg/ for SVG, /txt/ for ASCII)","Content-Type"],"async":null,"source_url":"https://plantuml.com/server","checked_at":"2026-09-24"},"has_free_tier":true,"has_trial":false,"no_card":true,"stale":false,"link_check":{"checked_at":"2026-09-24","docs":"ok"},"uptime":{"window_days":30,"api":{"url":"https://www.plantuml.com/plantuml","probes":1,"up":1,"median_ms":799,"last":{"at":"2026-09-24T18:26Z","up":true,"detail":200}}}}, {"id":"structurizr","name":"Structurizr","homepage":"https://structurizr.com","docs":"https://docs.structurizr.com/cloud/workspace-api","auth":"api_key","auth_hint":"X-Authorization header: apiKey:base64(HMAC-SHA256(apiSecret, digest)) plus Nonce header","mcp":{"type":"official","url":"https://mcp.structurizr.com/mcp","maintainer":"vendor","remote_url":"https://mcp.structurizr.com/mcp","tools":["inspect","parse","validate","export-mermaid","export-c4plantuml","export-plantuml"],"covers_full_api":false,"source_url":"https://docs.structurizr.com/ai/mcp","checked_at":"2026-09-24","domain_verified":true,"kind":"vendor-hosted","config":{"transport":"streamable-http","url":"https://mcp.structurizr.com/mcp","derived":true}},"free_tier":"free tier: workspaces up to 0.5MB; paid plans raise the limit to 5MB","sdk":["java"],"openapi":null,"llms_txt":null,"desc_en":"Create and update C4-model software architecture diagram workspaces as JSON via a signed HTTPS API.","notes":"Cloud service is end-of-life (migrate to playground, local or self-hosted server per docs.structurizr.com/cloud). Uses a nonstandard HMAC signing scheme rather than a bearer token; docs recommend the Structurizr CLI or client libraries over the raw API.","verified":"2026-09-24","auth_scheme":{"type":"apiKey","in":"header","name":"X-Authorization","format":"X-Authorization: : + Nonce + Content-MD5 headers","source_url":"https://docs.structurizr.com/cloud/workspace-api","checked_at":"2026-09-24"},"base_url":"https://api.structurizr.com","rate_limits":{"summary":"Rate limiting enforced on all workspace API calls (GET and PUT); no number published","source_url":"https://docs.structurizr.com/cloud/workspace-api","checked_at":"2026-09-24"},"operations":["diagram-rendering"],"no_auth":false,"has_free_tier":true,"has_trial":false,"no_card":false,"stale":false,"link_check":{"checked_at":"2026-09-24","docs":"ok"},"uptime":{"window_days":30,"api":{"url":"https://api.structurizr.com","probes":1,"up":1,"median_ms":1062,"last":{"at":"2026-09-24T18:26Z","up":true,"detail":200}},"mcp_remote":{"url":"https://mcp.structurizr.com/mcp","probes":1,"up":1,"median_ms":621,"last":{"at":"2026-09-24T18:26Z","up":true,"detail":200}}}} ]}