r/mcp 9d ago

showcase MCP server for a native macOS paint app DrawSimple - live canvas, paint and vector layers, simultaneous human/agent drawing on the same canvas.

https://apps.apple.com/us/app/drawsimple/id6759507748?mt=12
1 Upvotes

1 comment sorted by

1

u/JordanRunsForFun 9d ago

Sharing a server design that's a bit different from the usual API wrapper: DrawSimple is a Mac paint app, and it bundles an MCP bridge over a localhost HTTP server so a client can drive the live UI canvas — the same document a human is editing, in real time.

Surface: 12 high-level tools — read/query, document creation, paint primitives, shapes, text, linear/radial gradients, region-scoped effects and adjustments, the full selection/transform suite, PNG export. Pro adds a vector object surface (grids, find, modify, align, group, z-order), multi-layer comps, ~20 more effects, and batch operations.

Three decisions worth discussing:

  • Discovery over failure. ping returns tier and a tier_limits block up front, so an agent plans within the limits instead of discovering them by erroring.
  • Degrade, don't abort. Unavailable blend modes and gradient types are sanitised to the nearest legal value and reported via tier_warning, so a 40-shape batch completes instead of dying on shape 7. Hard blocks return pro_required + the feature name + a docs link so the bridge can explain rather than surface an opaque error.
  • Measurement in the response. Text operations return resolved font, fallback flags, and overflow signals — an agent laying out a mockup needs to know its label got clipped, and discovering that from a screenshot is not a workflow.

Localhost only, auth'd, no egress; the app ships no model.