create_pack
Create a new PRIVATE design pack in the user's "version library" — YOU (the AI) design it, then pass the HTML + CSS. The server sanitizes (never executes) and stores it, returning { packId, status:"ready", previewUrl } immediately (no polling). previewUrl = demo-<packId>.a3plus.sogdia.market. Pic...
This record as markdown: /tools/a3plus-mcp/create-pack.md
What create_pack does on A3plus
AI agents use create_pack to create or update resources in A3plus, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your A3plus environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
css | string | — | All CSS for the page (supports @keyframes/animation/transition for motion). |
html | string | Yes | The home-page inner HTML you generated (inside <main>), following the DESIGN RULES above (data-field markers, one <h1>, no scripts). |
name | string | Yes | Human name for the pack, ≤120 chars (also becomes the URL slug). |
brief | string | — | Optional. If you pass a brief INSTEAD of html, the server generates the design itself (async → poll get_pack). Prefer generating the html yourself. |
tokens | object | — | Optional design tokens metadata (e.g. { colors, font, radius }). |
category | string | Yes | A category id from list_pack_categories (e.g. casino, blog, restaurant). |
Parameters from the server's own tool schema.
Why create_pack is rated Medium
An AI agent can call create_pack faster than any human can review: one bad instruction and it creates or modifies resources in A3plus by the hundred, each call as confident as the last.
Risk signalsAccepts raw HTML/template content (html)
Attacks that exploit this kind of access
The rule that runs create_pack safely
PolicyLayer is an MCP gateway: it sits between your AI agents and A3plus, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For create_pack, this is the rule to start with:
create_pack stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect A3plus, apply this rule, and every create_pack call is checked against it from then on.
Questions about create_pack
Create a new PRIVATE design pack in the user's "version library" — YOU (the AI) design it, then pass the HTML + CSS. The server sanitizes (never executes) and stores it, returning { packId, status:"ready", previewUrl } immediately (no polling). previewUrl = demo-<packId>.a3plus.sogdia.market. Pick category from list_pack_categories. DESIGN RULES for the html you generate: • html = the INNER content of <main> for the home page only. Do NOT include <html>/<head>/<body>/<script>/<style>/<link>. Put ALL CSS in the css field. • Mark injectable per-site content so one design serves many sites: text → data-field="<path>" e.g. <h1 data-field="page.home.hero.headline">Big headline</h1> image attrs → data-field-attr="src:<path>, alt:<path>" e.g. <img data-field-attr="src:page.home.hero.image, alt:page.home.hero.headline"> repeating list → data-loop="articles" on a container; children use relative .title .url .image .category Useful paths: brand.name, brand.ctaText, brand.ctaUrl, page.home.hero.headline, page.home.hero.subhead, page.home.hero.image. • Keep sensible DEFAULT placeholder copy inside the tags so it renders standalone. • EXACTLY ONE <h1>. Semantic HTML (header/sections/footer). Every <img> has alt. Use class names, not inline styles. • Motion is allowed via CSS ONLY: @keyframes / animation / transition / transform in the css field. NO <script>, NO on* handlers, NO external fonts/CDN (use a system font stack). Scripts are stripped and blocked by CSP. It is categorised as a Write tool in the A3plus MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
create_pack accepts 6 parameters: css, html, name, brief, tokens, category. Required: html, name, category. The full parameter table on this page comes from the server's own tool schema.
Register the A3plus MCP server in PolicyLayer and add a rule for create_pack: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches A3plus. Nothing to install.
create_pack is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the create_pack rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for create_pack. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
create_pack is provided by the A3plus MCP server (a3plus-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on A3plus, and thousands of servers like it.
This server
Across the catalogue