ipe-bindcraft
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ipe-bindcraftCreate a system-overview figure in fig.ipe with 8 nodes, orthogonal edges, Nature-muted palette; export PDF + PNG."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ipe-bindcraft
Ipe automation skill + MCP server for AI coding agents. Create and iteratively edit native Ipe vector figures for academic papers via natural language — with transactional batches, stable object IDs, LaTeX-measured text, and native undo in the live GUI.
Features
15 MCP tools for document lifecycle, semantic editing, routing, layout, lint, preview, export
Two authoritative backends — the
.ipefile on disk, or a bound live Ipe window's in-memory document; never a second scene.jsonTransactional batches — typed operations with stable IDs, optimistic revision checks, request deduplication, atomic commits, and per-operation failure details
Semantic connections — edges bind to real node outlines (rect / rounded / ellipse / diamond ports), auto re-route when endpoints move;
straight/orthogonal/auto/manualrouting, with hop-over arcs baked at edge crossings (the higher z-order edge jumps)Academic presets — semantic palettes (
paper-muted,paper-vivid,paper-ocean,paper-monochrome), 3 starter templates (system_overview,algorithm_pipeline,parallel_workers), and 15 curated native-path icons (database,cloud,gear, …)LaTeX-aware text — labels are measured through real
ipescript+doc:runLatex(); node resize never shrinks fontsNative undo in Live mode — every batch is a single
model:registertransaction (one Ctrl-Z), verified end-to-endPreserve-everything editing — unknown Ipe objects, human regrouping, and manual edits survive round-trips
Honest errors — stable machine-readable codes (
REVISION_CONFLICT,LATEX_FAILED,GUI_BUSY,COMMIT_STATUS_UNKNOWN, …) asisError=truetool results
Related MCP server: Rayzia MCP
Requirements
Windows 10/11 (the live backend and
tests/windows_liveare Windows-only)Ipe 7.2.x — verified on 7.2.29 (winget
OtfriedCheong.Ipe)A local TeX distribution for label measurement — verified on MiKTeX 26.2
Python 3.13 +
uv
Installation
git clone https://github.com/LHaiC/ipe-bandcraft.git
cd ipe-bandcraft
uv sync --locked # creates .venv with locked dependenciesFor live (GUI) mode, install the bridge ipelet once per user:
.venv/Scripts/ipe-bindcraft.exe install-ipeletThis copies ipelet/ipebindcraft.lua into %USERPROFILE%\Ipelets\. It does
not touch any global Ipe or system configuration.
MCP configuration
Any MCP-compatible agent can use the server over stdio:
{
"mcpServers": {
"ipe-bindcraft": {
"command": "C:\\path\\to\\ipe-bandcraft\\.venv\\Scripts\\python.exe",
"args": ["-m", "ipe_bindcraft", "serve"]
}
}
}Quick start
ipe-bindcraft doctor # probe Ipe/TeX/MCP + live bridge
ipe-bindcraft create fig.ipe --width 504 --height 300
ipe-bindcraft create fig.ipe --template algorithm_pipeline --palette paper-vivid
ipe-bindcraft apply fig.ipe @ops.json --revision sha256:... --request-id r1
ipe-bindcraft inspect fig.ipe --geometry
ipe-bindcraft lint fig.ipe --target-width 252
ipe-bindcraft preview fig.ipe -o fig.png
ipe-bindcraft export fig.ipe --formats pdf svg png -o out/
ipe-bindcraft open fig.ipe --backend live # bound GUI session
ipe-bindcraft serve # stdio MCP serverOr just ask your agent: "Create a system-overview figure in fig.ipe with 8 nodes, orthogonal edges, Nature-muted palette; export PDF + PNG."
Tools (15)
Tool | Description |
| Probe Ipe/TeX/SDK and the live bridge |
| Session lifecycle (file or live backend) |
| Objects, geometry, edges, stale flags |
| Atomic typed batch: node/text/path/edge/icon create+update, translate, delete, group/ungroup, layer |
| Re-route stale or selected edges |
| Align / distribute / grid |
| Overflow/overlap/width checks + safe fixes |
| PNG preview (image content; |
| PDF/SVG/PNG generation directory + manifest |
| Journal status / styles, palettes, templates, icons, TeX profiles |
Live mode
open_document(path, backend="live") launches ipe.exe bound to a private
session directory; the bundled ipelet applies each batch via
ipe.Page + doc:set inside one model:register transaction:
one batch = one native undo item (Ctrl-Z / Ctrl-Y verified)
manual edits in the GUI are authoritative — conflicting batches get
REVISION_CONFLICTinstead of overwritingGUI exit mid-request surfaces
COMMIT_STATUS_UNKNOWN; never silently falls back to writing the file
Architecture
AI Agent <-- MCP stdio --> ipe-bindcraft service
│
┌─────────────┴─────────────┐
FileBackend LiveBackend
(.ipe authoritative) (bound GUI doc authoritative)
│ │
atomic write + lock ipelet: ipe.Page + doc:set
inside one model:registerOne Python candidate compiler serves both backends — Lua only validates the baseline and submits the candidate page; it contains no second router or layout engine.
Testing
pytest tests/unit # 58 tests — no external deps
pytest tests/integration # real Ipe + TeX (skips when absent)
pytest tests/windows_live # real ipe.exe windows (Windows only)70 tests currently pass on the target machine; see
docs/acceptance-report.md for the A01–A23 evidence matrix, and
docs/capability-report.md for the M0 probe results.
Known limitations
Ipe 7.2.29 CLI tools cannot open non-ASCII paths on zh-CN Windows; documents must live on ASCII paths (internal temp dirs are already ASCII-safe).
Single page / single view documents only.
Icons are a curated set of 15 native-path glyphs — arbitrary SVG icon import is intentionally out of scope. Hop-over arcs are generated for managed semantic edges only (manual edits to an edge's path are kept until its hop set changes). No arbitrary code execution — by design.
Development
uv sync --locked --group dev
pytest tests -q
ipe-bindcraft schema > schemas/apply_operations.schema.jsonCredits
Ipe by Otfried Cheong — the extensible drawing editor this project automates
omnigraffle-bindcraft by Youn-17 — conceptual reference for batch operations, semantic connections, and the MCP + skill split
Model Context Protocol by Anthropic
License
MIT — see docs/third-party-notices.md for dependency and tool notices.
This server cannot be deployed
Maintenance
Related MCP Connectors
Agent-Native design tool - create and edit visual designs with agent assistance
DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.
AI agent draws editable hand-drawn diagrams (flowchart, ER, architecture) via MCP, not static images
Give your AI agents a design superpower. Generate, edit, and publish publication-grade decks, reports, landing pages, resumes, and marketing visuals directly within your agent workflow. Delivering frontier-level design quality at 3× the speed and 53× lower cost -from conversational prompt to live link or vector PDF in minutes.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to create visual, interactive interfaces with diagrams, structured input forms, and persistent state management instead of text-only responses.7-

Rayzia MCPofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents to drive a live SVG/vector editor, allowing a full observe-and-act loop on a canvas with real tools, state reading, and PNG rendering.1MIT- AlicenseAqualityBmaintenanceEnables AI agents to edit LaTeX documents with live PDF preview, commenting, and visual editing via the Model Context Protocol.729 npmAGPL 3.0
- AlicenseAqualityAmaintenanceEnables AI agents to edit LaTeX documents with a live PDF preview, source editor, and PDF-anchored comments that become edit instructions. Requires no local TeX install, using a WASM TeX engine.729 npm3AGPL 3.0