Skip to main content
Glama

doodles

Read-onlyIdempotent

Fetch Quick Draw! sketches by category, preview a numbered contact sheet, and choose a pick to place in a Line-us plotter scene.

Instructions

Real doodles from Google's Quick, Draw! dataset (CC BY 4.0): single strokes, in the order a person drew them, so line width comes from the pen alone.

With no category: the curated categories bundled with the server, and every category that can be fetched from the web (345 in all). With a category: a NUMBERED CONTACT SHEET of candidates. Look at it and choose a pick, then use {"doodle": category, "pick": N, "box": [x,y,w,h]} in a scene.

source: "auto" (default) uses the curated set if the category has one, else fetches from the web; "web" always fetches -- more variety, NO human review; "bundled" never goes online. Fetched categories are cached on disk, which keeps preview and draw identical. Web candidates are ranked automatically but many are still scribbles or have the word written in them: that is what the contact sheet is for. Draw with order="asis" to replay a doodle exactly as its author drew it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNo
startNo
sourceNoauto
categoryNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint and destructiveHint=false. The description adds real behavior beyond that: fetched categories are cached on disk so preview and draw match, web candidates are auto-ranked but many are scribbles or contain written words, and the contact sheet exists precisely because of that unreliability. It omits any statement about rate limits or failure modes when the web fetch fails.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The content is front-loaded and organized into readable blocks, but it strays into instructions for other tools' parameters — the inline {"doodle": category, "pick": N, "box": [...]} object and order="asis" do not exist in this schema, so that text does not earn its place in this definition and risks confusing the agent about what to pass here.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description reasonably explains what comes back (a category list, or a numbered contact sheet of candidates) and why. Combined with the annotations covering safety and the open-world nature, an agent has enough to call it correctly, with only count/start left unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden. It explains 'source' (auto/web/bundled semantics) and 'category' (present vs absent behavior) thoroughly, but 'count' and 'start' are never mentioned, leaving their pagination meaning entirely undocumented. Partial compensation only.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (real doodles from Google's Quick, Draw! dataset) and explains two distinct modes: no-category returns the bundled/web category list, and with-category returns a numbered contact sheet. It does not explicitly contrast itself against siblings like preview_paths or draw_paths, but the resource is unique enough that an agent can distinguish it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear conditions: use no category to see what's available, supply a category to get a contact sheet and choose a pick, and it spells out the source tradeoffs ('auto' curated-first, 'web' always fetches with more variety but no human review, 'bundled' never goes online). It stops short of naming sibling tools as alternatives for the actual drawing step, so it is clear context without explicit routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.