Canvas page agent
Builds and edits pages from your design system over MCP, as a Drupal user with your editor role.
- in
- a prompt, your components
- out
- a draft page
- review
- editor publishes
The Assoc platform is Drupal 11 with Canvas, a design system of single-directory components, site recipes and Drupal AI. Your editors lay out pages from your own components; an agent can do the same over MCP, as a Drupal user with an editor's role, and stops where an editor would stop.
01 / Problem
three costs we keep seeing
Every new layout is a developer ticket.
platform answerEditors place your own components in Canvas. New layouts need a new component only when the design system lacks one.
AI that writes to the database skips review.
platform answerThe agent calls Canvas through MCP as a Drupal user. Access checks, drafts and revisions apply to it exactly as to a person.
Each new site copies the last one, and drifts.
platform answerSites share one codebase and one design system; a recipe applies each site's configuration, so fixes ship to all of them.
02 / Demonstration
sample run · recorded, not live
One prompt, five tool calls, one refusal. The agent can draft and place components; it cannot publish, because the editor role it runs as cannot publish either.
Sample prompt: Build a landing page for the spring open day from our hero, schedule and signup components.
agent · canvas_list_components
as content_editor → ok, 62 components
agent · canvas_create_page
“Spring open day” → ok, draft revision 1
agent · canvas_add_component
hero_banner → slot content, ok
agent · canvas_add_component
event_schedule → slot content, ok
agent · canvas_add_component
signup_form → slot content, ok
agent · canvas_publish_auto_saves
denied: content_editor lacks “publish content”. Page stays a draft; review requested from M. Okafor.
human · M. Okafor, editor
reviewed revision 1 → approved and published
The publish step waits for a person.
03 / AI built in
input → output → who reviews
Builds and edits pages from your design system over MCP, as a Drupal user with your editor role.
Answers from your own content (RAG), with the passages they came from.
Drafts each changed page in your site's languages as a new revision.
Summaries, alt text and teaser copy, offered in the editor, never saved on its own.
Runs before publish: headings, contrast, alt text, link names.
Titles, descriptions, duplicate pages and broken links.
What it will not do: rewrite your copy for keywords, or publish a fix. It reports; an editor decides.
04 / Architecture
six layers, read top down
Each with its own database, domain and configuration directory.
editors, agent
One per kind of site: the modules it installs and the configuration it imports.
Assoc, reviewed by you
Single-directory components with typed props and slots, the only parts Canvas offers.
designers, developers
Where pages are composed. Agents connect here through Tool API operations, never around it.
permissions decide
One Composer project for every site, deployed as one release.
developers, via review
Hetzner servers in Germany, provisioned with Ansible, monitored and backed up nightly.
Assoc operations
05 / Governance
limits and data handling
Known limits: it can misjudge tone and pick a weaker layout than a designer would. That is why its work lands as a draft.
06 / Outcomes
sample figures, one client, 6 months
07 / Engagements
sample prices, excl. VAT
€14,000
fixed · sample
excludes build work, hosting
from €96,000
milestones · sample
you provide a product owner, 2 h a week
from €3,200
/ month · sample
notice 60 days, no minimum term
08 / Questions
asked in most reviews
45 minutes with two engineers. Bring one page type you would like the agent to build; we run it in a sandbox on the call.