MotionDeckby Waconzy

MCP reference

Seven tools.
Read-only.

A catalogue server an agent can query without guessing. Search directions, read one, generate its build spec, search resources, read a resource, list free specs and read library info.

Directions

280

Prompt specs

321

Resources

1,057

Techniques

17

Public mirror

The directions array is already JSON.

https://www.motion.waconzy.com/api/catalog.json returns the full directions array with id, slug, title, category, access, previewUrl and posterUrl. Cached for five minutes at the edge.

Open JSON

Contract

  • All seven tools are read-only. None creates, updates or deletes records.
  • Direction tools accept the slug. Resource tools accept the stable resourceId.
  • Responses are JSON. A missing record returns a not_found error, never an empty success.
  • Specs are assembled from live library content: the direction plus matched Core and Visual prompt bodies.
  • The catalogue is public; no credential is required for the JSON mirror.
  • Administrative control is a separate authenticated REST surface at /api/admin/v1; it requires an admin API key or admin session.

Tool reference

Copy an example call per tool

01search_directions

Search the direction catalogue by title, category or slug. Returns one entry per direction with its access label and media URLs.

Parameters

queryoptional

string

Matched against title, category and slug.

categoryoptional

string

One of the 14 catalogue categories.

accessoptional

"Free" | "Premium"

Filter by access label.

limitoptional

number

1–100, default 20.

Returns: directions[] with id, slug, title, category, access, previewUrl, posterUrl, url.

Example call
{
  "tool": "search_directions",
  "arguments": {
    "query": "travel",
    "access": "Free",
    "limit": 12
  }
}
02get_direction

Read one direction by slug: access, date added, motion preview, poster, original preview and its MotionDeck page.

Parameters

slugrequired

string

From search_directions or catalog.json.

Returns: One direction object, or a not_found error.

Example call
{
  "tool": "get_direction",
  "arguments": {
    "slug": "lysvik"
  }
}
03get_spec

Assemble the build spec for a direction: source reference, motion timings with easing curves, matched Core and Visual prompts, responsive rules and delivery checklist.

Parameters

slugrequired

string

Direction slug.

formatoptional

"markdown"

Default and only format.

Returns: spec (markdown string), plus the matched prompt IDs.

Example call
{
  "tool": "get_spec",
  "arguments": {
    "slug": "lysvik",
    "format": "markdown"
  }
}
04search_resources

Search the 1,057-entry resource catalogue across templates, 3D templates, components, backgrounds, effects and creative assets.

Parameters

queryoptional

string

Matched against name, category, collection, tags and resource ID.

typeoptional

"template" | "template3d" | "component" | "background" | "effect" | "creative"

Catalogue type filter.

accessoptional

"Free" | "Premium"

Filter by access label.

limitoptional

number

1–100, default 20.

Returns: resources[] with id, resourceId, name, type, category, access, imageUrl, sourceUrl.

Example call
{
  "tool": "search_resources",
  "arguments": {
    "query": "gradient",
    "type": "background",
    "limit": 10
  }
}
05get_resource

Read one resource by its resource ID: description, collection, tags, difficulty, interaction, preview and source link.

Parameters

resourceIdrequired

string

The catalogue's stable resource ID, not the record ID.

Returns: One resource object, or a not_found error.

Example call
{
  "tool": "get_resource",
  "arguments": {
    "resourceId": "openhero-image-gradient-27"
  }
}
06get_free_spec

List free specification bodies from the prompt library. Every prompt in the library is currently marked Free, so this is the full working set by kind.

Parameters

kindoptional

"Core" | "Visual" | "UI"

Default "Core".

categoryoptional

string

Prompt-library category, e.g. Travel.

limitoptional

number

1–50, default 10.

Returns: prompts[] with promptId, title, kind, category, words and the full markdown body.

Example call
{
  "tool": "get_free_spec",
  "arguments": {
    "kind": "Visual",
    "category": "Travel",
    "limit": 5
  }
}
07get_info

Library metadata: direction count, free count, category counts, prompt counts by kind, resource count, technique count and the public catalogue URL.

Parameters

No parameters.

Returns: counts, categories[], licence summary, catalogueUrl.

Example call
{
  "tool": "get_info",
  "arguments": {}
}

Prefer to browse by eye? The library has the same catalogue with motion previews and per-direction build specs.