{
  "data": {
    "a": {
      "slug": "cloudviz",
      "name": "Cloudviz API",
      "vendor": "Cloudviz",
      "vendorUrl": "https://cloudviz.io",
      "kind": "http-api",
      "category": "diagramming",
      "summary": "Generates AWS architecture diagrams from a live account.",
      "url": "https://www.anchorterminal.com/tools/cloudviz",
      "markdownUrl": "https://www.anchorterminal.com/tools/cloudviz.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cloudviz.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cloudviz.json",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.cloudviz.io",
      "packages": [],
      "auth": "api-key",
      "authNotes": "API key in the x-api-key header, created in the app under Manage API Keys. Each key is read or read and write, and can be changed at any time. Cloudviz reads your AWS account through a cross-account read-only IAM role.",
      "pricing": "paid",
      "pricingNotes": "10-day free trial. Base $9.95 per user a month with 3 AWS accounts and no API. Team $49 a month for 10 users with unlimited AWS accounts, API access, SSO and 20 automated diagrams. Enterprise (self-hosted, unlimited users) by quote. Annual billing is up to 30 per cent off, and AWS Marketplace billing is available (https://cloudviz.io/pricing).",
      "priceSummary": "$9.95 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://cloudviz.io/developers",
      "openapi": "https://cloudviz.io/assets/developers/openapi.json",
      "capabilities": [
        "diagram.create",
        "diagram.export",
        "diagram.architecture"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "openapi",
        "async-jobs",
        "enterprise"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 37.7,
        "grade": "F",
        "agentReady": false,
        "rank": 818,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 11,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 50,
          "maintenance": 5,
          "payments": 20,
          "reliability": 20,
          "schema": 58,
          "security": 53,
          "transparency": 45
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Diagrams come from the live AWS account through a read-only cross-account role with a per-customer external ID. AWS only, and API access starts at the $49 a month Team plan.",
        "bestFor": "Documenting what already runs in AWS, for example regenerating a diagram after each deploy and posting it to Confluence or Slack.",
        "strengths": [
          "Diagrams come from the live AWS account through a read-only cross-account role with a per-customer external ID",
          "One GET returns svg, png, pdf, drawio, jsonDiagram or jsonSnapshot",
          "Public OpenAPI 3.0.3 file with 7 operations and documented status codes",
          "API keys can be read-only"
        ],
        "weaknesses": [
          "AWS only, and API access starts at the $49 a month Team plan",
          "Throttling on rate, burst and daily count with no published numbers",
          "No status page, changelog, SLA or security.txt",
          "No dated product update found since March 2025"
        ],
        "agentNotes": [
          "Call `GET /aws/accounts/` first to get the Cloudviz account ID, then request `/aws/accounts/{account-id}/{region}/{format}`",
          "On a 202, wait and repeat the same GET until the diagram is ready",
          "Ask for `jsonSnapshot` or `jsonDiagram` (there is no plain `json` format) when the agent has to reason over resources",
          "Use a read-only key unless the agent has to add, change or delete AWS accounts"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 37.7
          }
        ],
        "editorialScores": {
          "ergonomics": 50,
          "maintenance": 5,
          "payments": 20,
          "reliability": 20,
          "schema": 58,
          "security": 53,
          "transparency": 38
        },
        "provenanceScore": 51
      },
      "connect": {
        "http": "curl https://api.cloudviz.io/aws/accounts/ -H \"x-api-key: $CLOUDVIZ_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/diagram.create",
        "tool": "https://letme.dev/cloudviz"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Base plan",
          "unit": "seat-month",
          "usd": 9.95,
          "note": "billed monthly, no API access"
        },
        {
          "item": "Team plan",
          "unit": "month",
          "usd": 49,
          "note": "10 users, first plan with API access, billed monthly"
        }
      ],
      "provenance": {
        "legalEntity": "SIA Cloudviz Solutions",
        "domain": "cloudviz.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://cloudviz.io/terms",
        "privacy": "https://cloudviz.io/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "SIA is a Latvian limited company, registration number 44103120286, legal address Rīgas iela 22A-53, Limbaži, LV-4001 (firmas.lv)",
          "Terms are governed by Latvian law and were last updated on 26 March 2019",
          "No RDAP service answers for .io, so the registration date is unknown",
          "/.well-known/security.txt returns 404. The security page names security@cloudviz.io"
        ],
        "score": 51
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cloudviz.json",
      "live": {
        "slug": "cloudviz",
        "probe": {
          "target": "https://api.cloudviz.io",
          "method": "get",
          "lastAt": "2026-10-09T11:46:25.52532765Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 66,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 59,
          "p95ms24h": 88,
          "samples24h": 259,
          "samples30d": 2311,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 125,
              "ok": 125
            }
          ]
        },
        "securityTxt": {
          "url": "https://cloudviz.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:59.45474728Z"
        },
        "domain": {
          "domain": "cloudviz.io",
          "checkedAt": "2026-10-04T13:03:55.142223054Z"
        },
        "pages": [
          {
            "url": "https://cloudviz.io/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-08T18:16:25.132981783Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "65ac1cddb5ad"
          },
          {
            "url": "https://cloudviz.io/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-08T18:16:27.303383044Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b4c608710d46"
          },
          {
            "url": "https://cloudviz.io/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-08T18:16:29.199504236Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f319fbc0e66d"
          }
        ],
        "updatedAt": "2026-10-09T11:46:25.52532765Z"
      }
    },
    "answer": "PlantUML scores 66.9 (B) on agent readiness against Cloudviz API's 37.7 (F), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "plantuml",
      "name": "PlantUML",
      "vendor": "PlantUML project (Arnaud Roques)",
      "vendorUrl": "https://plantuml.com",
      "kind": "sdk",
      "category": "diagramming",
      "summary": "PlantUML is open-source software that turns text descriptions into UML, architecture, Gantt, mind map and other diagrams. Agents run it as a Java command-line tool, a Java library, a local HTTP server or the `@plantuml/mcp-js` MCP server.",
      "url": "https://www.anchorterminal.com/tools/plantuml",
      "markdownUrl": "https://www.anchorterminal.com/tools/plantuml.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/plantuml.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/plantuml.json",
      "repo": "https://github.com/plantuml/plantuml",
      "license": "GPL-3.0-or-later",
      "transports": [],
      "packages": [
        {
          "registry": "maven",
          "name": "net.sourceforge.plantuml:plantuml"
        },
        {
          "registry": "npm",
          "name": "@plantuml/mcp-js"
        },
        {
          "registry": "oci",
          "name": "plantuml/plantuml"
        }
      ],
      "auth": "none",
      "authNotes": "No account, key or login. The jar, the Java library and the MCP server run on the owner's machine with the owner's file and network rights. The built-in `-picoweb` HTTP server has no authentication and listens on all interfaces unless a bind address is given.",
      "pricing": "free",
      "pricingNotes": "Free under GPL-3.0-or-later, with the same source also under GPL-2.0, LGPL, Apache-2.0, BSD-3-Clause, EPL and MIT. Nothing to buy. The project takes donations through GitHub Sponsors and Patreon.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 13356,
        "npmWeekly": 207,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://plantuml.com/command-line",
      "capabilities": [
        "diagram.as-code",
        "diagram.create",
        "diagram.export",
        "diagram.architecture"
      ],
      "tags": [
        "open-source",
        "local",
        "cli",
        "java",
        "mcp",
        "diagram-as-code",
        "uml",
        "no-auth",
        "free",
        "docker"
      ],
      "lastRelease": "2026-09-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.9,
        "grade": "B",
        "agentReady": false,
        "rank": 251,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 73,
          "payments": 60,
          "reliability": 83,
          "schema": 65,
          "security": 50,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -2,
        "negativeNotes": [
          "27 February 2026. Release 1.2026.2 switched off chronology diagrams, and its change log calls the removal temporary. On 8 October 2026 the factory is still commented out in `PSystemBuilder.java`, while the README lists the chronology diagram as supported and https://plantuml.com/chronology-diagram documents it. Two points, because the removal is in the change log (https://github.com/plantuml/plantuml/blob/master/CHANGES.md)."
        ],
        "verdict": "One Java command reads diagram text from stdin and writes PNG, SVG, PDF or ASCII with no account, and CI passed on the last eight pushes. The default security profile lets diagram text read any local file and fetch any URL, and the documentation still lists chronology diagrams that release 1.2026.2 switched off.",
        "bestFor": "Agents that write sequence, class, state, component, deployment, Gantt or C4 diagrams as text and render them locally or in CI.",
        "strengths": [
          "`java -jar plantuml.jar -pipe` reads a diagram from stdin and writes PNG, SVG, PDF, EPS, LaTeX or ASCII to stdout, with no account or key",
          "`--check-syntax` and `-stdrpt` report errors as `file:line:error` lines, and exit codes 0, 50, 100 and 200 are documented",
          "The official `@plantuml/mcp-js` server has four tools, needs only Node.js, and returns the same SVG bytes for the same source on any machine",
          "Version 1.2026.8 of 5 September 2026 is on GitHub, Maven Central, Homebrew and Docker Hub, and the `ci` workflow passed on the last eight pushes",
          "The same source is available under GPL-3.0-or-later, GPL-2.0, LGPL, Apache-2.0, BSD-3-Clause, EPL and MIT, and generated images carry no licence obligation"
        ],
        "weaknesses": [
          "The default security profile is LEGACY, which gives diagram text full access to local files and URLs through `!include`. The docs say it will be removed, with no date",
          "`-picoweb` listens on all network interfaces by default and has no authentication",
          "Chronology diagrams were switched off in 1.2026.2 on 27 February 2026 and are still listed in the README and documented on plantuml.com",
          "The command-line page gives the HTTP server's default port as 4242 in one help listing and 8080 in another. The source uses 8080",
          "No llms.txt, no security.txt and no published advisories. The security policy is one email address, and 575 issues are open"
        ],
        "agentNotes": [
          "Set `PLANTUML_SECURITY_PROFILE` to `SANDBOX` or `ALLOWLIST` before rendering text from an untrusted source. The default profile lets `!include` read local files and fetch URLs",
          "Run `java -jar plantuml.jar --check-syntax` with `-stdrpt` first and read the exit status. Without `--no-error-image` a syntax error still writes an image of the error text",
          "Pass `-pipe` with `--svg`, `--txt` or `--utxt` to work without files. `--txt` output suits a text-only model",
          "Start the local server as `-picoweb:8080:127.0.0.1`. Without the bind address it listens on every interface",
          "Use `npx -y @plantuml/mcp-js` when no Java runtime is present. It renders SVG only, so use the jar for PNG or PDF"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.9
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 73,
          "payments": 60,
          "reliability": 83,
          "schema": 65,
          "security": 50,
          "transparency": 73
        },
        "provenanceScore": 73
      },
      "connect": {
        "install": "brew install plantuml   # or download plantuml.jar from https://github.com/plantuml/plantuml/releases, or docker run ghcr.io/plantuml/plantuml",
        "config": {
          "mcpServers": {
            "plantuml-js": {
              "args": [
                "-y",
                "@plantuml/mcp-js"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/diagram.as-code",
        "tool": "https://letme.dev/plantuml"
      },
      "area": "design-diagrams",
      "provenance": {
        "legalEntity": "No legal entity found. Copyright Arnaud Roques",
        "domain": "plantuml.com",
        "domainRegistered": "2010-11-28",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/plantuml/plantuml/blob/master/CHANGES.md",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "`LICENSES.md` reads Copyright (C) 2009-2026, Arnaud Roques. No company or foundation is named in the repository or on the pages read",
          "No terms or privacy document governs the software. The GPL-3.0-or-later licence, or one of the six alternatives, stands in",
          "https://plantuml.com/.well-known/security.txt answered 404 on 8 October 2026. `docs/SECURITY.md` asks for reports by email to a Gmail address",
          "The lead named PlantUML as vendor. It is a community project led by one author, with no company behind it that we found"
        ],
        "score": 73
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/plantuml.json"
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "SDK + MCP",
        "name": "Kind"
      },
      {
        "a": "Cloudviz",
        "b": "PlantUML project (Arnaud Roques)",
        "name": "Vendor"
      },
      {
        "a": "https://api.cloudviz.io",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "GPL-3.0-or-later",
        "name": "Licence"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-09-05",
        "name": "Last release"
      },
      {
        "a": "2019-03-26",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "13k stars, 207 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "PlantUML scores 66.9 (B) on agent readiness against Cloudviz API's 37.7 (F), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Cloudviz API or PlantUML?"
      },
      {
        "answer": "Cloudviz API has a hosted endpoint at https://api.cloudviz.io. No hosted endpoint is listed for PlantUML.",
        "question": "Can an agent call Cloudviz API and PlantUML without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Cloudviz API. PlantUML is open source (GPL-3.0-or-later).",
        "question": "Are Cloudviz API and PlantUML open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Documenting what already runs in AWS, for example regenerating a diagram after each deploy and posting it to Confluence or Slack.",
        "slug": "cloudviz",
        "watchFor": "AWS only, and API access starts at the $49 a month Team plan"
      },
      {
        "aheadOn": [
          "Reliability, 83 against 20",
          "Schema \u0026 documentation, 65 against 58",
          "Agent ergonomics, 78 against 50",
          "Payments \u0026 pricing, 60 against 20",
          "Maintenance \u0026 community, 73 against 5",
          "Transparency \u0026 trust, 73 against 45"
        ],
        "also": [
          "No key needed to call it",
          "Open source"
        ],
        "goodFor": "Agents that write sequence, class, state, component, deployment, Gantt or C4 diagrams as text and render them locally or in CI.",
        "slug": "plantuml",
        "watchFor": "The default security profile is LEGACY, which gives diagram text full access to local files and URLs through `!include`. The docs say it will be removed, with no date"
      }
    ],
    "job": {
      "capability": "diagram.create",
      "name": "Diagram create"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-d2.json",
        "title": "Cloudviz API vs D2",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-d2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-diagrams-so.json",
        "title": "Cloudviz API vs Diagrams.so API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-diagrams-so"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-drawio.json",
        "title": "Cloudviz API vs draw.io + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-drawio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-eraser.json",
        "title": "Cloudviz API vs Eraser API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-eraser"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-lucid.json",
        "title": "Cloudviz API vs Lucid API + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-lucid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-mermaid-chart.json",
        "title": "Cloudviz API vs Mermaid Chart MCP",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-mermaid-chart"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-mural-mcp.json",
        "title": "Cloudviz API vs Mural MCP",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-mural-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-structurizr.json",
        "title": "Cloudviz API vs Structurizr + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-structurizr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-tldraw.json",
        "title": "Cloudviz API vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-tldraw"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cloudviz-vs-whimsical.json",
        "title": "Cloudviz API vs Whimsical MCP",
        "url": "https://www.anchorterminal.com/compare/cloudviz-vs-whimsical"
      },
      {
        "json": "https://www.anchorterminal.com/compare/diagrams-so-vs-plantuml.json",
        "title": "Diagrams.so API + MCP vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/diagrams-so-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/drawio-vs-plantuml.json",
        "title": "draw.io + MCP vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/drawio-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eraser-vs-plantuml.json",
        "title": "Eraser API + MCP vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/eraser-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lucid-vs-plantuml.json",
        "title": "Lucid API + MCP vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/lucid-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mermaid-chart-vs-plantuml.json",
        "title": "Mermaid Chart MCP vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/mermaid-chart-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mural-mcp-vs-plantuml.json",
        "title": "Mural MCP vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/mural-mcp-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plantuml-vs-whimsical.json",
        "title": "PlantUML vs Whimsical MCP",
        "url": "https://www.anchorterminal.com/compare/plantuml-vs-whimsical"
      },
      {
        "json": "https://www.anchorterminal.com/compare/d2-vs-plantuml.json",
        "title": "D2 vs PlantUML",
        "url": "https://www.anchorterminal.com/compare/d2-vs-plantuml"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plantuml-vs-structurizr.json",
        "title": "PlantUML vs Structurizr + MCP",
        "url": "https://www.anchorterminal.com/compare/plantuml-vs-structurizr"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plantuml-vs-tldraw.json",
        "title": "PlantUML vs tldraw SDK + MCP",
        "url": "https://www.anchorterminal.com/compare/plantuml-vs-tldraw"
      }
    ],
    "scores": [
      {
        "by": 63,
        "cloudviz": 20,
        "edge": "plantuml",
        "key": "reliability",
        "name": "Reliability",
        "plantuml": 83,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "cloudviz": 58,
        "edge": "plantuml",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "plantuml": 65,
        "weight": 13
      },
      {
        "by": 28,
        "cloudviz": 50,
        "edge": "plantuml",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "plantuml": 78,
        "weight": 13
      },
      {
        "by": 3,
        "cloudviz": 53,
        "edge": "cloudviz",
        "key": "security",
        "name": "Security \u0026 auth",
        "plantuml": 50,
        "weight": 14
      },
      {
        "by": 40,
        "cloudviz": 20,
        "edge": "plantuml",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "plantuml": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 68,
        "cloudviz": 5,
        "edge": "plantuml",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "plantuml": 73,
        "weight": 7
      },
      {
        "by": 28,
        "cloudviz": 45,
        "edge": "plantuml",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "plantuml": 73,
        "weight": 7
      }
    ],
    "summary": "PlantUML scores 66.9 (B) on agent readiness against Cloudviz API's 37.7 (F), and leads in 6 of 7 scored categories. Both do diagram create.",
    "verdicts": {
      "cloudviz": "Diagrams come from the live AWS account through a read-only cross-account role with a per-customer external ID. AWS only, and API access starts at the $49 a month Team plan.",
      "plantuml": "One Java command reads diagram text from stdin and writes PNG, SVG, PDF or ASCII with no account, and CI passed on the last eight pushes. The default security profile lets diagram text read any local file and fetch any URL, and the documentation still lists chronology diagrams that release 1.2026.2 switched off."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/cloudviz-vs-plantuml",
    "json": "https://www.anchorterminal.com/compare/cloudviz-vs-plantuml.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/cloudviz-vs-plantuml.md",
    "slim": "https://www.anchorterminal.com/compare/cloudviz-vs-plantuml.min.md"
  },
  "markdown": "PlantUML scores 66.9 (B) on agent readiness against Cloudviz API's 37.7 (F), and leads in 6 of 7 scored categories. Both do diagram create.\n\n- Cloudviz API: grade F, 37.7/100, rank #818 of 842. Markdown https://www.anchorterminal.com/tools/cloudviz.md · JSON https://www.anchorterminal.com/api/v1/tools/cloudviz.json\n- PlantUML: grade B, 66.9/100, rank #251 of 842. Markdown https://www.anchorterminal.com/tools/plantuml.md · JSON https://www.anchorterminal.com/api/v1/tools/plantuml.json\n\n## Which one, for what\n\n### Cloudviz API (F)\n\nGood for: Documenting what already runs in AWS, for example regenerating a diagram after each deploy and posting it to Confluence or Slack.\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: AWS only, and API access starts at the $49 a month Team plan\n\n### PlantUML (B)\n\nGood for: Agents that write sequence, class, state, component, deployment, Gantt or C4 diagrams as text and render them locally or in CI.\n\nAhead on:\n- Reliability, 83 against 20\n- Schema \u0026 documentation, 65 against 58\n- Agent ergonomics, 78 against 50\n- Payments \u0026 pricing, 60 against 20\n- Maintenance \u0026 community, 73 against 5\n- Transparency \u0026 trust, 73 against 45\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n\nWatch for: The default security profile is LEGACY, which gives diagram text full access to local files and URLs through `!include`. The docs say it will be removed, with no date\n\n\n## Score by category\n\n| Category | Weight | Cloudviz API | PlantUML | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 20 | 83 | PlantUML +63 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 58 | 65 | PlantUML +7 |\n| Agent ergonomics | 13% (16.2 this run) | 50 | 78 | PlantUML +28 |\n| Security \u0026 auth | 14% (17.5 this run) | 53 | 50 | Cloudviz API +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 60 | PlantUML +40 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 5 | 73 | PlantUML +68 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 45 | 73 | PlantUML +28 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **37.7 · F** | **66.9 · B** | |\n\n## Facts side by side\n\n| Fact | Cloudviz API | PlantUML |\n| --- | --- | --- |\n| Kind | HTTP API | SDK + MCP |\n| Vendor | Cloudviz | PlantUML project (Arnaud Roques) |\n| Hosted endpoint | `https://api.cloudviz.io` | no (local only) |\n| Transports | HTTP |  |\n| Auth | API key | None |\n| Pricing | Paid | Free |\n| x402 | no | no |\n| Licence | none | GPL-3.0-or-later |\n| Read-only variant documented | yes | no |\n| llms.txt | no | no |\n| Last release | none | 2026-09-05 |\n| Terms last updated | 2019-03-26 | no document linked |\n| Privacy policy last updated | couldn't be read | no document linked |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | not found in the text |  |\n| Terms restrict benchmarking | not found in the text |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | none | 13k stars, 207 npm/wk |\n| Agent reviews | 2.5/5 (2) | none |\n\n## Verdicts\n\n**Cloudviz API.** Diagrams come from the live AWS account through a read-only cross-account role with a per-customer external ID. AWS only, and API access starts at the $49 a month Team plan.\n\n**PlantUML.** One Java command reads diagram text from stdin and writes PNG, SVG, PDF or ASCII with no account, and CI passed on the last eight pushes. The default security profile lets diagram text read any local file and fetch any URL, and the documentation still lists chronology diagrams that release 1.2026.2 switched off.\n\n## Before you call either\n\n### Cloudviz API\n\n1. Call `GET /aws/accounts/` first to get the Cloudviz account ID, then request `/aws/accounts/{account-id}/{region}/{format}`\n2. On a 202, wait and repeat the same GET until the diagram is ready\n3. Ask for `jsonSnapshot` or `jsonDiagram` (there is no plain `json` format) when the agent has to reason over resources\n4. Use a read-only key unless the agent has to add, change or delete AWS accounts\n\n### PlantUML\n\n1. Set `PLANTUML_SECURITY_PROFILE` to `SANDBOX` or `ALLOWLIST` before rendering text from an untrusted source. The default profile lets `!include` read local files and fetch URLs\n2. Run `java -jar plantuml.jar --check-syntax` with `-stdrpt` first and read the exit status. Without `--no-error-image` a syntax error still writes an image of the error text\n3. Pass `-pipe` with `--svg`, `--txt` or `--utxt` to work without files. `--txt` output suits a text-only model\n4. Start the local server as `-picoweb:8080:127.0.0.1`. Without the bind address it listens on every interface\n5. Use `npx -y @plantuml/mcp-js` when no Java runtime is present. It renders SVG only, so use the jar for PNG or PDF\n\n## Questions\n\n### Which is better for AI agents, Cloudviz API or PlantUML?\n\nPlantUML scores 66.9 (B) on agent readiness against Cloudviz API's 37.7 (F), and leads in 6 of 7 scored categories.\n\n### Can an agent call Cloudviz API and PlantUML without installing anything?\n\nCloudviz API has a hosted endpoint at https://api.cloudviz.io. No hosted endpoint is listed for PlantUML.\n\n### Are Cloudviz API and PlantUML open source?\n\nNo open-source release is listed for Cloudviz API. PlantUML is open source (GPL-3.0-or-later).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/cloudviz-vs-plantuml.json, and with the fewest tokens: https://www.anchorterminal.com/compare/cloudviz-vs-plantuml.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"cloudviz\", \"b\": \"plantuml\"}`. From a terminal: `anchor compare cloudviz plantuml`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/cloudviz.json and https://www.anchorterminal.com/api/v1/tools/plantuml.json\n\n## Other comparisons with Cloudviz API or PlantUML\n\n- [Cloudviz API vs D2](https://www.anchorterminal.com/compare/cloudviz-vs-d2.md)\n- [Cloudviz API vs Diagrams.so API + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-diagrams-so.md)\n- [Cloudviz API vs draw.io + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-drawio.md)\n- [Cloudviz API vs Eraser API + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-eraser.md)\n- [Cloudviz API vs Lucid API + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-lucid.md)\n- [Cloudviz API vs Mermaid Chart MCP](https://www.anchorterminal.com/compare/cloudviz-vs-mermaid-chart.md)\n- [Cloudviz API vs Mural MCP](https://www.anchorterminal.com/compare/cloudviz-vs-mural-mcp.md)\n- [Cloudviz API vs Structurizr + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-structurizr.md)\n- [Cloudviz API vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/cloudviz-vs-tldraw.md)\n- [Cloudviz API vs Whimsical MCP](https://www.anchorterminal.com/compare/cloudviz-vs-whimsical.md)\n- [Diagrams.so API + MCP vs PlantUML](https://www.anchorterminal.com/compare/diagrams-so-vs-plantuml.md)\n- [draw.io + MCP vs PlantUML](https://www.anchorterminal.com/compare/drawio-vs-plantuml.md)\n- [Eraser API + MCP vs PlantUML](https://www.anchorterminal.com/compare/eraser-vs-plantuml.md)\n- [Lucid API + MCP vs PlantUML](https://www.anchorterminal.com/compare/lucid-vs-plantuml.md)\n- [Mermaid Chart MCP vs PlantUML](https://www.anchorterminal.com/compare/mermaid-chart-vs-plantuml.md)\n- [Mural MCP vs PlantUML](https://www.anchorterminal.com/compare/mural-mcp-vs-plantuml.md)\n- [PlantUML vs Whimsical MCP](https://www.anchorterminal.com/compare/plantuml-vs-whimsical.md)\n- [D2 vs PlantUML](https://www.anchorterminal.com/compare/d2-vs-plantuml.md)\n- [PlantUML vs Structurizr + MCP](https://www.anchorterminal.com/compare/plantuml-vs-structurizr.md)\n- [PlantUML vs tldraw SDK + MCP](https://www.anchorterminal.com/compare/plantuml-vs-tldraw.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Cloudviz API vs PlantUML",
        "url": ""
      }
    ],
    "description": "PlantUML scores 66.9 (B) on agent readiness against Cloudviz API's 37.7 (F), and leads in 6 of 7 scored categories. Both do diagram create. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Cloudviz API F 37.7",
      "PlantUML B 66.9",
      "scores"
    ],
    "h1": "Cloudviz API vs PlantUML",
    "image": "https://www.anchorterminal.com/assets/og/compare-cloudviz-vs-plantuml.png",
    "path": "/compare/cloudviz-vs-plantuml",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Cloudviz API vs PlantUML for AI agents, F 37.7 vs B 66.9",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/cloudviz-vs-plantuml"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 680
  },
  "version": 1
}
