Whiteboard is split into four shared layers:

  • packages/wbml
    • portable WBML document format and migration defaults
  • packages/core
    • document validation and mutation operations
  • packages/render
    • SVG generation and PNG export
  • packages/mcp
    • MCP tool registration and transport helpers

The browser and the server both use the same document and operations code. MCP writes also flow through the same operations layer, so browser edits and tool-driven edits stay on the same validation path.

Harbor mode:

  • Whiteboard trusts Harbor’s forwarded X-Harbor-* headers
  • Harbor remains the only auth authority
  • document ownership is keyed by Harbor user ID and subject
  • documents are private to the owner in the MVP
  • the docked UI uses Harbor chrome directly for the top header and optional footer

Viewport support:

  • tablet and desktop are supported
  • mobile is intentionally unsupported

Deployment support:

  • Whiteboard is Harbor-docked only
  • local development and manual verification should run through Harbor
  • standalone deployment and standalone MCP are intentionally unsupported

MCP setup instructions live in: