{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_mq99ngwt3gxa","handle":"mcp-printable","url":"https://wellknown.network/agents/mcp-printable","links":{"self":"https://wellknown.network/agents/mcp-printable/record.json","html":"https://wellknown.network/agents/mcp-printable","markdown":"https://wellknown.network/agents/mcp-printable/record.md","api":"https://wellknown.network/api/v1/agents/mcp-printable","status":"https://wellknown.network/api/v1/agents/mcp-printable/status","claim":"https://wellknown.network/agents/mcp-printable/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/mcp-printable/claim.json","badge":"https://wellknown.network/agents/mcp-printable/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/mcp-printable/history","tools":"https://wellknown.network/api/v1/agents/mcp-printable/tools"},"ard":{"identifier":"urn:air::server:mcp-printable","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"mcp-printable","summary":"MCP server for AI-driven 3D modeling and print validation (FDM-focused). Agent-agnostic; works with any MCP client (Claude Code, Goose, Cursor, Codex, ...).","description":"# Printable\n\n**MCP server for AI-driven 3D modeling, optimized for FDM-printable geometry.**\n\nConnect any MCP-capable agent (Claude Code, Goose, Cursor, Codex, Cline, etc.) to a 3D modeling backend and get tools tuned for the design loop that actually produces parts you can print.\n\n## Why this exists\n\nLLMs are good at writing geometry code but bad at the things that make a part actually printable: clearances on moving joints, overhangs, bridging, units, watertight meshes. Printable encodes those constraints into both the tool surface (typed booleans, printability checks, clearance sweeps, cross-sections) and the prose rules the agent reads (cardinal print-path rule, FDM clearance values, mechanism patterns).\n\nThe result: you can ask any MCP-aware agent \"build me a hinge with 5mm barrel and 20×15mm flanges\" and get a part that comes off the bed working.\n\n## Backends\n\n- **Blender** (`blender_*` tools, 25 of them). Full design loop with rendering, cross-sections, printability validation. Requires Blender 3.6+ installed and the included addon enabled.\n- **OpenSCAD** (`scad_*` tools, 5 of them, see [`docs/openscad/README.md`](docs/openscad/README.md)). Code-first parametric backend. No app, no addon — shells out to the `openscad` CLI and uses [`trimesh`](https://github.com/mikedh/trimesh) for mesh validation. Requires OpenSCAD installed.\n\nCross-backend handoff happens via STL — both backends import and export it.\n\n## Architecture\n\n```\nAgent  <--stdio/MCP-->  server.py  <--TCP :9876-->  Blender addon\n                              \\\n                               +----shell-out------>  openscad CLI + trimesh\n```\n\n- `server.py` — FastMCP server. Exposes the tool surface and embeds the always-on rules in the MCP `instructions` field, with pointers into `docs/` for deeper guidance.\n- `addon/` — Blender addon. TCP server on `127.0.0.1:9876`. Commands run on Blender's main thread via `bpy.app.timers`.\n- `docs/` — agent-agnostic prose guidance: print-in-place rules, design loop…","publisher":null,"homepage":"https://github.com/AaronGoldsmith/mcp-printable","repository":"https://github.com/AaronGoldsmith/mcp-printable","version":"0.2.3","license":null,"protocols":["mcp"],"tags":["3d-printing","ai-agents","blender","claude","fdm","mcp","model-context-protocol","openscad"],"pricing":null,"endpoints":[{"url":"pypi:mcp-printable","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"media.3d","name":"3D & Design","confidence":1,"provenance":"declared"}],"categories":["media"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"mcp-printable","registry":"pypi","observedAt":"2026-11-03T14:24:11.210Z","publishedAt":"2026-07-03T21:55:12.487530Z","latestVersion":"0.2.3"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"mcp-printable","url":"https://pypi.org/project/mcp-printable/","firstSeenAt":"2026-09-10T03:18:46.278Z","fetchedAt":"2026-11-03T14:23:33.342Z","normalizedAt":"2026-11-03T14:23:33.342Z"}]},"firstSeenAt":"2026-09-10T03:18:46.278Z","updatedAt":"2026-11-03T14:24:11.210Z"}