The request is exactly what the palette-match recipe builds from your candidates. An agent calls sysone_run with the pattern, the state and its own candidates.
MCP tool call for the default example
{
"tool": "sysone_run",
"arguments": {
"pattern": "palette-match",
"state": "Brief: A reading app for long articles at night. Low glare and calm, with one restrained accent color.",
"candidates": {
"harbor": "Deep navy surfaces, pale gray text and one sea-glass green accent. Low glare and quiet, made for long sessions at night.",
"paper": "Warm paper white with charcoal text and a muted terracotta accent. Calm and editorial, like a printed magazine.",
"arcade": "Near-black violet with neon magenta and electric yellow highlights. Loud, playful and high energy, made for games and events.",
"orchard": "Soft cream with forest green headings and an apple red call to action. Friendly and outdoorsy, made for community and family sites."
}
}
}HTTP and SDK
curl -sS "$SYSONE_URL/v1/patterns/run" \
-H "Authorization: Bearer $SYSONE_TOKEN" \
-H "Content-Type: application/json" \
--data @recipe.json
import { createClient } from "sysone/client";
const engine = createClient({
url: process.env.SYSONE_URL!,
token: process.env.SYSONE_TOKEN!,
});
const result = await engine.runPattern(recipe); // recipe.json
// result.result.answers holds the typed answers; result.meta holds usage.Community projects inspired ideas here; this experiment is our own design and code.