Creative Constraints
liveReferencecreative-constraints — an original deck of 162 domain-neutral creative constraints, drawn by category, seeded for reproducibility, with optional no-repeat sessions.
Tools
draw_constraintDraws 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
No parameters required.
Try it
list_constraint_categoriesLists 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
No parameters required.
Try it
get_constraintFetches 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_constrain
No parameters required.
Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/creative-constraints/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/creative-constraints/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"draw_constraint","arguments":{}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("draw_constraint", {});// Or ask in plain English:
const answer = await px.ask("creative-constraints — an original deck of 162 domain-neutral creative constraints, drawn by category, seeded for reproducibility, with optional no-repeat sessions");