text-to-cad is a collection of agent workflows for creating, examining, finding, preparing, and transferring CAD, engineering, manufacturing, and robot-description files. It is for agents working with mechanical design, fabrication, simulation, and robotics projects. Catalogue skills, instructions, and a plugin implement these workflows.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/earthtojake/text-to-cadWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/plugins/earthtojake/text-to-cad/gemini-extension)<a href="https://agentmods.dev/plugins/earthtojake/text-to-cad/gemini-extension"><img src="https://agentmods.dev/badge/plugins/earthtojake/text-to-cad/gemini-extension/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/plugins/earthtojake/text-to-cad/gemini-extension"><img src="https://agentmods.dev/badge/plugins/earthtojake/text-to-cad/gemini-extension.svg" alt="Reviewed on agentmods" width="80" height="20"></a>Grade A, and why
text-to-cad scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
{
"name": "text-to-cad",
"version": "0.7.21",
"description": "The text-to-cad plugin gives your agent local workflows for generating 3D models as STEP, GLB, STL or 3MF files. It also does design for manufacturing checks, generates engineering drawings, and connects to popular 3D printing, sheet metal and CNC fabrication services.",
"mcpServers": {
"cad": {
"command": "uvx",
"args": [
"--no-config",
"--managed-python",
"--python",
"3.13",
"--from",
"cadgen==0.7.21",
"cadgen",
"mcp"
],
"env": {
"CADGEN_INSTALL_CHANNEL": "gemini-github",
"CADGEN_AUTO_UPDATED": "1"
}
}
}
}
What ships with it
60 files beside gemini-extension.json in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- scripts/bench/cadgen-performance/agent_edits.py 17 KB runs code
- scripts/bench/cadgen-performance/common.py 2.8 KB runs code
- scripts/bench/cadgen-performance/README.md 6.5 KB
- scripts/bench/cadgen-performance/warm_build.py 16 KB runs code
- scripts/bench/viewer-memory/adaptive-support.mjs 6.1 KB runs code
- scripts/bench/viewer-memory/adaptive-support.test.mjs 8.1 KB runs code
- scripts/bench/viewer-memory/adaptive.mjs 23 KB runs code
- scripts/bench/viewer-memory/completion.mjs 2.3 KB runs code
- scripts/bench/viewer-memory/completion.test.mjs 3.5 KB runs code
- scripts/bench/viewer-memory/fingerprint.mjs 3.6 KB runs code
- scripts/bench/viewer-memory/fingerprint.test.mjs 1.2 KB runs code
- scripts/bench/viewer-memory/heap-diagnostics.mjs 6.5 KB runs code
- scripts/bench/viewer-memory/heap-diagnostics.test.mjs 3.6 KB runs code
- scripts/bench/viewer-memory/lifecycle.mjs 20 KB runs code
- scripts/bench/viewer-memory/resource-timing.mjs 3.4 KB runs code
- scripts/bench/viewer-memory/resource-timing.test.mjs 4.1 KB runs code
- scripts/bench/viewer-memory/worker-probe.mjs 2.3 KB runs code
- scripts/brand/animate-logos.mjs 21 KB runs code
- scripts/brand/animate-logos.test.mjs 3.3 KB runs code
- scripts/brand/export-logos.mjs 2.8 KB runs code
- scripts/brand/generate-logos.mjs 17 KB runs code
- scripts/brand/README.md 6.9 KB
- scripts/build/library.mjs 3.6 KB runs code
- scripts/bundle/bundle.sh 1.9 KB runs code
- scripts/bundle/cadgen-runtime.sh 17 KB runs code
- scripts/bundle/lib/node_builders.sh 6.2 KB runs code
- scripts/bundle/lib/snapshot_runtime.sh 5.9 KB runs code
- scripts/git-hooks/pre-commit 195 B
- scripts/github-workflows/check-builds.sh 6.4 KB runs code
- scripts/github-workflows/deploy-vercel-app.sh 4.4 KB runs code
- scripts/github-workflows/select_checks.py 23 KB runs code
- scripts/github-workflows/tested_tree.py 3.7 KB runs code
- scripts/install/dev_install.py 28 KB runs code
- scripts/README.md 16 KB
- scripts/release/bump-version.sh 5.3 KB runs code
- scripts/release/check-pr-version.sh 3.5 KB runs code
- scripts/release/check-version.sh 2.4 KB runs code
- scripts/release/check-wheel-contents.sh 6.5 KB runs code
- scripts/release/plugin_branch.py 12 KB runs code
- scripts/release/plugin_zip.py 18 KB runs code
- scripts/release/publish-github-release.sh 4.5 KB runs code
- scripts/release/release-tags.sh 2.3 KB runs code
- scripts/release/sourcemaps.py 6.8 KB runs code
- scripts/release/sync-version.mjs 11 KB runs code
- scripts/release/wheel_contents.py 2.4 KB runs code
- scripts/test/check-dependencies.mjs 10 KB runs code
- scripts/test/check-dependencies.test.mjs 3.6 KB runs code
- scripts/test/check-kit-boundaries.mjs 16 KB runs code
- scripts/test/check-kit-boundaries.test.mjs 11 KB runs code
- scripts/test/common.sh 5.3 KB runs code
- scripts/test/test-api.sh 273 B runs code
- scripts/test/test-docs.sh 298 B runs code
- scripts/test/test-global.sh 711 B runs code
- scripts/test/test-installed.sh 10 KB runs code
- scripts/test/test-js.sh 1.6 KB runs code
- scripts/test/test-python.sh 3.9 KB runs code
- scripts/test/test-viewer-browser.sh 8.8 KB runs code
- scripts/test/test-viewer-launch.sh 17 KB runs code
- scripts/test/test.sh 269 B runs code
- scripts/test/unittest_files.py 13 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago Changed a04a1e595453
- 5d ago Changed 8040851bee00
- 6d ago Changed d1c9d79b4949
- 7d ago Changed 19557c8f76d5
- 9d ago Changed 2063370f4eef
- 10d ago First seen · 25 lines scan A 5f603655e250
text-to-cad is a plugin published in the GitHub repository earthtojake/text-to-cad (20,702 stars, last pushed today), licensed MIT. Its token cost is not measured: this kind of file is read by the harness, not the model. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-06.
Other plugins, from other repositories
gap marketplace
Plugin marketplace listing 2 plugins: gap, open-robot-skills.
gap
Search robot skill registries, check robot/tool capabilities, and program, run, and debug verified robot task graphs (sim-first, safety-gated real) with the gap engine.
pascal-agent-skills
Create and inspect editable Pascal scenes and run bounded furniture footprint assessments with blocker-aware next actions.
decocms-ui
Build UI with the decocms product design system (@decocms/ui).
kicad-pro
KiCad MCP Pro plugin for schematic review, PCB design assistance, DRC/ERC validation, DFM checks, and manufacturing release workflows.
kernelcad
Agent-first CAD over the hosted kernelCAD MCP: editable .kcad.ts source, designloop review, cookbooks, Studio viewer and STEP/STL/3MF export. No local OpenCASCADE install.