Diagrams.so
NPM · @DIAGRAMS-SO/MCP · SCANNED AUG 14
Generate and edit AWS, Azure, GCP and Kubernetes architecture diagrams as editable draw.io files.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 30 of 96 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 6 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability82
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 1894 tokens (~82/item across 23 items; 23 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management33
- Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @diagrams-so/mcp
claude mcp add redhold-diagrams-so-mcp -- npx -y @diagrams-so/mcp
codex mcp add redhold-diagrams-so-mcp -- npx -y @diagrams-so/mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"redhold-diagrams-so-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@diagrams-so/mcp"
],
"enabled": true
}
}
} openclaw mcp add redhold-diagrams-so-mcp --command npx --arg -y --arg @diagrams-so/mcp
mcp_servers:
redhold-diagrams-so-mcp:
command: "npx"
args: ["-y", "@diagrams-so/mcp"] {
"mcpServers": {
"redhold-diagrams-so-mcp": {
"command": "npx",
"args": [
"-y",
"@diagrams-so/mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 14 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Aug 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 9 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 7 Aug 26 +43
- Known CVEs: unverified → pass ▲ security
- Tool coverage: unverified → 100 ▲ functional
- Stability: unverified → 0.10 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Dependency health: unverified → 0.85 ▲ functional
- First check of Tool coverage: 100 functional
- First check of Schema quality: fail functional
- First check of Schema quality: excellent functional
- First check of Tool coverage: 98 functional
- First check of Schema quality: pass functional
- Package version: 1.4.4 → 1.4.5 functional
- 6 Aug 26 −7
- Known CVEs: partial → unverified ▼ security
- Dependency health: partial → unverified ▼ functional
- Package version: 1.4.2 → 1.4.4 functional
- Package version: 1.4.2 → 1.4.3 functional
- 5 Aug 26 0
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Tool coverage: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- First check of Schema quality: pass functional
- First check of Tool coverage: 98 functional
- First check of Schema quality: excellent functional
- First check of Schema quality: fail functional
- Package version: 1.4.1 → 1.4.2 functional
- 4 Aug 26 35
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 14 Aug 2026 · Analysed npm/@diagrams-so/mcp@1.4.5
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Dependencies 96 packages
| Packages resolved | 96 |
|---|---|
| Stale | 30 |
| Tree resolution | Complete |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
clarify_prompt Clarify a vague prompt ~42
Get 1–3 clarifying questions (and a suggested diagram type) for a vague prompt, before generating. Free.
| Name | Type | Req | Description |
|---|---|---|---|
| prompt | string | yes | Your prompt |
No output schema declared.
No examples provided.
delete_diagram Delete a diagram ~55
Delete (soft-delete) a diagram you own. It stops appearing in list_diagrams and can no longer be fetched. Confirm with the user before calling — this is destructive.
| Name | Type | Req | Description |
|---|---|---|---|
| diagram_id | string | yes | The diagram id |
No output schema declared.
No examples provided.
edit_diagram Edit a diagram ~89
Apply a natural-language change to an existing diagram (e.g. 'add a Redis cache'). Creates a new version and returns the updated XML. Costs credits. Confirm with the user before calling — it mutates the diagram.
| Name | Type | Req | Description |
|---|---|---|---|
| diagram_id | string | yes | The id returned by generate_diagram / list_diagrams |
| edit_prompt | string | yes | The change to make, in plain language |
No output schema declared.
No examples provided.
enhance_prompt Enhance a prompt ~63
Turn a rough idea into a detailed generation prompt. Free.
| Name | Type | Req | Description |
|---|---|---|---|
| cloud_provider | string | – | aws | azure | gcp | kubernetes | oci | general — biases the enhanced prompt toward that provider's services |
| prompt | string | yes | Your rough prompt |
No output schema declared.
No examples provided.
export_diagram Export a diagram ~77
Export a diagram as a raw file: `drawio` (open at app.diagrams.net) or `svg`. Returns the file content directly. Exports are free on every plan. Free-plan SVG exports carry a watermark.
| Name | Type | Req | Description |
|---|---|---|---|
| diagram_id | string | yes | The diagram id |
| format | string | – | drawio or svg |
No output schema declared.
No examples provided.
fix_warning Fix one warning ~106
Resolve a single Well-Architected warning (from get_warnings), leaving the rest of the diagram untouched. Creates a new version. Costs credits.
| Name | Type | Req | Description |
|---|---|---|---|
| component | string | – | The warning's `component`, if any |
| diagram_id | string | yes | The diagram id |
| message | string | yes | The warning's `message` (as returned by get_warnings) |
| warning_type | string | – | The warning's `type`, e.g. no_encryption_transit |
No output schema declared.
No examples provided.
fork_template Fork a public diagram ~52
Copy a PUBLIC gallery diagram or curated library template into your own account (private) so you can edit it. Returns the new diagram id.
| Name | Type | Req | Description |
|---|---|---|---|
| diagram_id | string | yes | A public/library diagram id from search_gallery |
No output schema declared.
No examples provided.
generate_diagram Generate a diagram ~152
Create a new cloud architecture diagram from a natural-language prompt. Returns the diagram id, its draw.io XML, Well-Architected warnings, score, and credits used. Costs credits.
| Name | Type | Req | Description |
|---|---|---|---|
| cloud_provider | string | – | aws | azure | gcp | kubernetes | oci | general (default: general) |
| diagram_type | string | – | architecture | flowchart | sequence | data_pipeline | ... (default: architecture) |
| opinionated | boolean | – | Apply best-practice hardening suggestions during generation (paid plans only). |
| prompt | string | yes | What to draw, e.g. 'AWS 3-tier web app with ALB, EC2 Auto Scaling and RDS Multi-AZ' |
No output schema declared.
No examples provided.
get_diagram Get a diagram ~41
Fetch a diagram by id — returns its title, draw.io XML, and Well-Architected score.
| Name | Type | Req | Description |
|---|---|---|---|
| diagram_id | string | yes | The diagram id |
No output schema declared.
No examples provided.
get_relayout_status Poll a re-layout job ~81
Check the status of an async re-layout job started by relayout_diagram. Returns pending/done/failed; when done+applied it includes the re-laid XML + fresh warnings/score. Free.
| Name | Type | Req | Description |
|---|---|---|---|
| diagram_id | string | yes | The diagram id |
| job_id | string | yes | The job_id returned by relayout_diagram |
No output schema declared.
No examples provided.
get_usage Get usage & credits ~24
Show your current plan, credits remaining, and per-action cost estimates. Free.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_usage_history Credit consumption history ~176
List how much credit each past task (generate/edit/fix/relayout) charged — newest first, with the diagram it touched and the surface (api/sdk/mcp) that ran it. Use this to answer 'how much did each task cost?'. Also shows a running tally of tasks performed in THIS session. Free (read-only).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | Filter to one task type. |
| cursor | string | – | Pagination cursor from a previous call's next_cursor. |
| diagram_id | string | – | Only tasks that touched this diagram. |
| limit | integer | – | Max rows to return (default 20). |
| since | string | – | ISO-8601 lower bound (inclusive). |
| source | string | – | Filter to one surface. |
| until | string | – | ISO-8601 upper bound (exclusive). |
No output schema declared.
No examples provided.
get_version Get a diagram version ~57
Fetch a specific version's XML + Well-Architected score (e.g. to inspect before reverting). Free.
| Name | Type | Req | Description |
|---|---|---|---|
| diagram_id | string | yes | The diagram id |
| version_id | string | yes | The version id (from list_versions) |
No output schema declared.
No examples provided.
get_warnings Get Well-Architected warnings ~41
List the Well-Architected findings for a diagram (each has type, component, message). Free.
| Name | Type | Req | Description |
|---|---|---|---|
| diagram_id | string | yes | The diagram id |
No output schema declared.
No examples provided.
import_diagram Import a diagram ~109
Import an existing draw.io (mxGraphModel/mxfile) XML document as a new diagram in your account. Validated and sanitized. Free (no AI).
| Name | Type | Req | Description |
|---|---|---|---|
| cloud_provider | string | – | aws | azure | gcp | ... (default: general) |
| diagram_type | string | – | architecture | flowchart | ... (default: architecture) |
| title | string | – | Optional title (derived if omitted) |
| xml | string | yes | draw.io mxGraphModel/mxfile XML |
No output schema declared.
No examples provided.
list_capabilities List capabilities ~41
Discover the valid diagram types, cloud providers, and export formats the API supports — so you pass valid values to generate_diagram / export_diagram. Free.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_diagrams List my diagrams ~57
List your diagrams (newest first, cursor-paginated). Returns id, title, cloud, type.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | next_cursor from a previous call |
| limit | integer | – | Page size (default 20) |
No output schema declared.
No examples provided.
list_versions List diagram versions ~72
List a diagram's version history (ascending; `is_current` marks the live one). Use with revert_diagram / get_version.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | next_cursor from a previous call |
| diagram_id | string | yes | The diagram id |
| limit | integer | – | Page size (default 20) |
No output schema declared.
No examples provided.
relayout_diagram Re-arrange layout with AI ~120
Automatically re-arrange a diagram's layout for readability (async). Starts the job and waits for it to finish, returning the re-laid XML + fresh warnings/score. Every re-layout costs credits based on the tokens it uses (like edit/fix) and requires confirm=true. If the job is still running when the wait elapses, returns a job_id you can poll with get_relayout_status.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | Consent to the token-based charge (required to start). |
| diagram_id | string | yes | The diagram id |
No output schema declared.
No examples provided.
revert_diagram Revert to a version ~80
Revert a diagram to an earlier version (from list_versions). Pass either version_id or version_number. Free (no AI).
| Name | Type | Req | Description |
|---|---|---|---|
| diagram_id | string | yes | The diagram id |
| version_id | string | – | The version's id (from list_versions) |
| version_number | integer | – | Or the version number, e.g. 2 |
No output schema declared.
No examples provided.
search_gallery Search the gallery ~124
Search public community diagrams and curated library templates to reuse as a starting point. Returns id, title, and source (community/library). Fork one with fork_template.
| Name | Type | Req | Description |
|---|---|---|---|
| cloud_provider | string | – | Filter by provider |
| cursor | string | – | next_cursor from a previous call (community feed is paginated) |
| diagram_type | string | – | Filter by diagram type |
| limit | integer | – | Page size (default 20) |
| q | string | – | Search text (matches title/description) |
| source | string | – | all (default) · community · library |
No output schema declared.
No examples provided.
update_diagram Update a diagram ~105
Update a diagram's metadata or XML: rename it, change visibility (public/private — paid plans for private), or replace its XML. Pass only the fields you want to change. Free (no AI).
| Name | Type | Req | Description |
|---|---|---|---|
| diagram_id | string | yes | The diagram id |
| is_public | boolean | – | true = public in the gallery, false = private (paid) |
| title | string | – | New title |
| xml | string | – | Replace the diagram XML (validated + sanitized) |
No output schema declared.
No examples provided.
whoami Who am I ~28
Show the account, plan, scopes, and live/test mode of the configured API key. Free.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.