Skip to content
Agentmart
Submit a tool

drawspec

Validate and render declarative diagram specs to clean SVG or PNG; no coordinates needed.

Connector by nuncaeslupus · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/nuncaeslupus-drawspec

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Validate and render declarative diagram specs to clean SVG or PNG; no coordinates needed.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
4 read · 0 write · 0 delete · 1 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 5

Read from the source code; the running server may list different tools.

Read 4 · Look things up without changing anything.

  • get_example
  • get_schema
  • list_kinds
  • validate_document

Not yet classified 1 · We could not tell from the name and description.

  • render_document

Network hosts it talks to 4

  • api.github.com · found in code
  • github.com · found in code
  • glama.ai · found in code
  • nuncaeslupus.github.io · found in code

Files it touches

  • /Library/Fonts
  • /usr/local/sbin
  • /usr/local/share/fonts
  • /usr/sbin
  • /usr/share/fonts
  • /usr/share/fonts/truetype/dejavu
  • /var/lib/docker
  • /var/log
  • Your home directory (~)

Tools (5)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • get_exampleGet an example document of one kind

    Get the smallest valid document of one kind, as JSON ready to edit: the fastest way to the right field names. `kind` is one exact value from `list_kinds`, e.g. `flow`. Use it after `list_kinds` has settled the kind, and `get_schema` only for a field the example leaves out. Static and local: the document `drawspec example <kind>` prints, under 1 KB, identical every call; it passes `validate_document` as is. An unknown kind is an error result naming `list_kinds`.

  • get_schemaGet the JSON Schema for one kind

    Get the JSON Schema (draft 2020-12) for one kind's documents: every field it accepts, with types, limits and descriptions, plus only the shared `$defs` it refers to. `kind` is one value from `list_kinds`, e.g. `sequence`. Use it when `get_example` does not show a field you need. Local and deterministic: 3 to 13 KB per kind, cut from the ~150 KB published schema. Referential rules (unique ids, edges that land on real nodes) are beyond JSON Schema — `validate_document` checks those.

  • list_kindsList the diagram kinds

    Description is built at runtime.

  • render_documentRender a drawspec document to SVG, PNG or text

    Draw the document. Use it when it is ready to show; while still fixing errors, `validate_document` returns just the verdict. Returns one content block by `format`: `svg` (default) self-contained SVG text, safe inline in Markdown; `png` a base64 `image/png` block (needs the server's `drawspec[png]` extra, slowest); `text` plain text for a code block, only for kinds with a text form. `width`/`height` override the document's size; with `text`, `width` is cells per line and `height` and `theme` are ignored. Local, deterministic, writes nothing. Refusals are error results with JSON text `{"ok": fal…

  • validate_documentValidate a drawspec document

    Check whether `render_document` would refuse this document, and exactly where. It renders with the same `theme` and discards the drawing, so it passes only what draws; every violation comes back at once, so one pass is one edit. Call it while writing or editing; skip it when about to render anyway, since `render_document` refuses in the same shape. Local, deterministic, milliseconds. Refusals are error results with JSON text `{"ok": false, "error": "DocumentError", "message": "...", "violations": [{"pointer": "/edges/0/to", "message": "..."}]}`: `error` is e.g. `DocumentError` or `FitError`, `…

Signals

Stars
0
Forks
0
Open issues
2
Weekly downloads
750
Last commit
Oct 23, 2026 (6 days ago)
Last release
Oct 20, 2026 (9 days ago)
Last package publish
Oct 20, 2026 (9 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.nuncaeslupus/drawspec
Version
0.4.3
Auth
No auth
Packages
pypi drawspec
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from nuncaeslupus

Cite this page

drawspec MCP server. Agent Mart. https://agentmart.dev/connectors/nuncaeslupus-drawspec (last updated 2026-10-24)