MCP ToolsGallery
search_sketches
Search loaded sketches by title, renderer type, parameter count, canvas size, or other metadata — returning matching results with relevance.
Input Schema
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | no | Substring match against sketch title (case-insensitive) |
renderer | 'p5' | 'three' | 'glsl' | 'canvas2d' | 'svg' | no | Filter by renderer type |
minParameters | number | no | Minimum number of parameters |
maxParameters | number | no | Maximum number of parameters |
canvasWidth | number | no | Exact canvas width match |
canvasHeight | number | no | Exact canvas height match |
hasPhilosophy | boolean | no | Filter by presence of philosophy text |
skills | string[] | no | Filter by sketches that use any of these skills |
Output Shape
{
"success": true,
"matches": [
{
"id": "noise-grid",
"title": "Noise Grid",
"renderer": "p5",
"canvas": { "width": 1200, "height": 1200 },
"parameterCount": 4,
"colorCount": 3,
"snapshotCount": 1,
"hasPhilosophy": true,
"skills": ["rhythm", "contrast"]
}
],
"total": 1,
"filters": {
"query": "noise",
"renderer": "p5"
}
}Side Effects
None. Read-only.
Error Cases
| Condition | Error |
|---|---|
| No workspace open | "No workspace is currently open" |
| No filters provided | "At least one search filter is required" |
Golden Path Example
Request:
{
"query": "noise",
"renderer": "p5"
}Response: (as shown in Output Shape above)
list_sketches
Scan the workspace directory for all `.genart` files, returning metadata summaries regardless of whether they are referenced in the active workspace.
capture_screenshot
Capture a PNG screenshot of a sketch, multiple sketches, or the workspace viewport — the verification step in the create→capture→analyze→fix loop.