@pipeworx/creative-constraints
Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/creative-constraints’s. Install: one-click buttons
Connect to just the @pipeworx/creative-constraints pack
https://gateway.pipeworx.io/creative-constraints/mcp — only @pipeworx/creative-constraints’s own tools, nothing else in the catalog.
No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.
Tools: 3
Draws from an original, 162-card deck of domain-neutral creative constraints — each card is one imperative sentence an agent or a team can apply to any task (a product launch, an essay, an onboarding flow, a dinner), plus one sentence on why it helps. Meanings are returned separately from interpretation: the tool hands back what was drawn and the procedure used, and the calling agent decides what to do with it.
Part of the Pipeworx “chance” family — a shared seeded-RNG and session engine
also used by dice-roller, tarot, i-ching and random-tables
(see docs/chance-packs-plan.md).
Tools
draw_constraint(count?, categories?, seed?, session_id?)— draws 1-10 cards, optionally restricted to one or more of the nine categories. Passseedto reproduce an exact draw later (same seed + count + categories always returns the same cards); omit it for a fresh random draw, and the seed actually used is returned. Passsession_idfrom a previous response to continue a no-repeat session (draw-without-replacement across calls).list_constraint_categories()— lists the nine categories, each with its card count and one example title.get_constraint(id)— fetches one specific card by its id (e.g."inversion_03").
Auth
Keyless. No upstream API, no third-party dependency.
Data sources
- Pipeworx — original creative-constraints deck. Every card’s title,
constraint sentence and rationale is written for this pack; there is no
public-domain or commercial foundation behind it (unlike
tarot’s Rider–Waite–Smith tradition ori-ching’s Legge translation).
The nine categories
perspective, limitation, medium, time, audience, inversion,
scale, process, wildcard — 18 cards each, 162 total.
Sessions are hosted-only
draw_constraint’s session_id support depends on the gateway’s KV cache
binding (injectCacheKv: true on this pack’s manifest row). The published npm
standalone has no such binding, so a session_id there (or from any caller
without the gateway’s cache) gets session_supported: false in the response
and falls back to a plain seeded draw — fully reproducible by seed, just not
draw-without-replacement across separate calls. Sessions expire after 24
hours of inactivity.
Reproducibility
Every draw is seeded. Omit seed for a fresh random draw (the seed used is
always returned in meta.seed); pass that seed back, with the same count
and categories, to reproduce the exact same cards. When continuing an
existing session via session_id, the session keeps the category filter it
was opened with — categories is ignored on that call.
Errors
An unknown category in categories is a loud error listing the valid set.
An unknown id to get_constraint is a loud error with the id-naming
convention. An expired or unknown session_id is a loud error telling you to
omit it to start a new session.
Tools
- draw_constraint — Draws from Pipeworx’s original 162-card creative-constraints deck (${CATEGORY_LIST}) — each card is one imperative sentence an agent or team can apply to any task (a launch, an essay, an onboarding fl
- list_constraint_categories — Lists the nine categories in Pipeworx’s original creative-constraints deck (perspective, limitation, medium, time, audience, inversion, scale, process, wildcard), each with its card count and one exam
- get_constraint — Fetches one specific card from Pipeworx’s original creative-constraints deck by its id (e.g. “inversion_03”) — returns its category, title, the constraint sentence and why it helps. Use list_constra
Tools
draw_constraint— Draws from Pipeworx's original 162-card creative-constraints deck (${CATEGORY_LIST}) — each card is one imperative sentence an agent or team can apply to any task (a launch, an essay, an onboarding flget_constraint— Fetches one specific card from Pipeworx's original creative-constraints deck by its id (e.g. inversion_03 ) — returns its category, title, the constraint sentence and why it helps. Use list_constraintlist_constraint_categories— Lists the nine categories in Pipeworx's original creative-constraints deck (perspective, limitation, medium, time, audience, inversion, scale, process, wildcard), each with its card count and one exam