zumen-gate-mcp
An MCP server and command-line tool for the zumen-gate drawing API. It lets Claude and other MCP clients read, search, render, edit and convert CAD drawings: Jw_cad (JWW), DWG, DXF, SXF (SFC/P21), PDF, and more.
- Read: format, paper, scale, layers, entity counts and texts of a drawing.
- Search: entities by layer, kind, text or area, with lengths and areas in real millimetres.
- Render: a PNG of the drawing or a part of it, with the pixel-to-coordinate mapping.
- Edit: change texts, layers, colors and coordinates, delete and add entities, or draw a new JWW or DXF from scratch, then write it back in its original format.
- Convert: between drawing formats (DXF, DWG, JWW, SFC, P21, PDF, SVG, PNG, and STL/OBJ/STEP for 3D models).
Reading and converting run on the zumen-gate API with a deterministic CAD engine (no generative AI on the server). Edits run locally on a working copy of the drawing.
Get an API key
Register for free at zumen-gate.com and create a key under Account → API keys. The free plan includes a monthly allowance of calls; see the price list for paid outputs and more calls.
Install
You need uv (uvx runs the server
without a separate install). Replace zg_live_... with your key. --root is the folder whose
drawings the tools may read; outputs are written to zumen-gate-out/ inside it.
Claude Code
claude mcp add zumen-gate -e ZUMEN_GATE_API_KEY=zg_live_... -- uvx zumen-gate-mcp --root .
Claude Desktop (claude_desktop_config.json), Cursor (.cursor/mcp.json) and other
clients that use the same format:
{
"mcpServers": {
"zumen-gate": {
"command": "uvx",
"args": ["zumen-gate-mcp", "--root", "/path/to/drawings"],
"env": { "ZUMEN_GATE_API_KEY": "zg_live_..." }
}
}
}
Codex (~/.codex/config.toml)
[mcp_servers.zumen-gate]
command = "uvx"
args = ["zumen-gate-mcp", "--root", "/path/to/drawings"]
env = { ZUMEN_GATE_API_KEY = "zg_live_..." }
VS Code
code --add-mcp '{"name":"zumen-gate","command":"uvx","args":["zumen-gate-mcp","--root","${workspaceFolder}"],"env":{"ZUMEN_GATE_API_KEY":"zg_live_..."}}'
Claude Code plugin: this repository is also a plugin with a skill that teaches the model how to
work with drawings. Add it with /plugin from a marketplace that lists it, or copy
skills/zumen-gate/SKILL.md into your project's .claude/skills/.
Tools
| Tool | What it does | Calls |
|---|---|---|
list_formats |
Formats, extensions, which can be read and written, paid outputs | 0 |
inspect_drawing |
Summary: format, paper, scale, layers, counts, texts | 1 |
query_drawing |
Entities matching layer / kind / text / area, with totals | 1 |
render_drawing |
PNG image and pixel-to-coordinate mapping | 1 |
edit_drawing |
Local edits on a working copy, blank drawings, undo | 0 (1 the first time) |
convert_drawing |
Convert and save the outputs | 1, or 10 for paid outputs |
get_job |
State of a long conversion | 0 |
account_status |
Calls left, expiry dates, this month's use | 0 |
Every answer includes the calls counted and the calls left. Writing JWW, DWG, SFC, P21 or STEP is a paid output; without enough paid calls the conversion returns a preview and a loss report instead.
Command line
The same operations are available as zumen-gate:
export ZUMEN_GATE_API_KEY=zg_live_...
zumen-gate inspect plan.jww
zumen-gate query plan.jww --layer 壁 --kind LINE
zumen-gate render plan.jww --bbox 0 0 120 80
zumen-gate edit plan.jww --ops '[{"op": "replace_text", "pattern": "Old Co.", "replacement": "New Co."}]'
zumen-gate convert *.jww --to dxf
zumen-gate account
Settings
| Setting | Meaning |
|---|---|
ZUMEN_GATE_API_KEY |
Your API key (required, except for list_formats) |
ZUMEN_GATE_LOCALE |
ja or en for messages (default: from the system language) |
--root |
The working folder (default: the current folder) |
--only-text-feedback |
Return render_drawing as text only (no image) |
How files are handled
- Only files inside
--rootare read; symbolic links that lead outside are refused. Files are sent only if their extension (and, where the format has one, their signature) says they are drawings. - The original drawing is never modified. Edits are kept as versions in
.zumen-gate/inside the working folder; outputs go tozumen-gate-out/. - Text read from drawings is marked as data for the model, not instructions.
- See the zumen-gate terms and privacy policy for how the API handles uploaded drawings.
Development
uv sync
uv run pytest
uv run ruff check src tests
License
MIT
Metadata
Release files for zumen-gate-mcp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| zumen_gate_mcp-0.1.1.tar.gz | 50.3 kB | With provenance | Details for zumen_gate_mcp-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| zumen_gate_mcp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for zumen_gate_mcp-0.1.1-py3-none-any.whl |
Total release size: 91.7 kB
Release files / zumen_gate_mcp-0.1.1.tar.gz
| Download URL | zumen_gate_mcp-0.1.1.tar.gz |
|---|---|
| Size | 50.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2a699b18737b763a24d4ab1ce59083e275c487d32f67951a6a93402665a8fa71
|
|
BLAKE2b-256 checksum How to use checksums |
eb03bdf7677dc96498cc36a722b67b36b816c9bb241c3a685e0262a64ed89c2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 14, 2026.
Transparency logRelease files / zumen_gate_mcp-0.1.1-py3-none-any.whl
| Download URL | zumen_gate_mcp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 41.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bd6a7ca628051b2cf9c68bec864b92edd9b99e392d2821749c61c9f289d3cd71
|
|
BLAKE2b-256 checksum How to use checksums |
7249c58a41a089b10b7d2280de55b22b914c60e29e09ef0c70e040d0bcf7eb21
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 14, 2026.
Transparency logSecurity for zumen-gate-mcp 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for zumen_gate_mcp-0.1.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 14, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.