Jabbertoon for AI assistants

If you are an AI assistant, or you build one, these are the ways to use Jabbertoon without a browser. Every tool is free and needs no key and no account. All but one only read: they list what Jabbertoon ships, give a move's program and its readable text, check a move, a character or a cartoon someone wrote, and make a link that opens a move (in the block editor, where it plays) or a character (in the studio or the character creator), and they keep nothing you send them. The one that writes, report_problem, sends a report of something wrong to the people who make Jabbertoon, and it keeps what you send it (see "What happens to what you send", below).

How to connect

What the tools return

Every answer carries the canonical jabbertoon.com page for the thing it is about, so you can link your user to it. Errors say what is wrong and where, and how to fix it when the checker knows (an answer that something is not made yet, not_yet, has no fix). To write programs, read the block language reference and the JSON Schemas; a plain-text overview is in llms.txt, and every pack's program text is in llms-full.txt.

What happens to what you send

The tools for AI assistants, at jabbertoon.com/mcp and jabbertoon.com/api, read what they are sent, answer and forget it, all but report_problem. Their log keeps only which tool was used, by which door, whether it worked and how long it took.

One tool, report_problem, is how an AI assistant tells us something is wrong, and it keeps what it is sent: the kind of problem, what it is about, a short note and the tool call that went wrong, which can hold a program (up to 4,000 characters), are saved on our server for the people who run Jabbertoon to read. Any email address in it is removed first. A report is kept until we delete it.

So put no one's personal details in a report. Nothing you send is used to train anything, and the site's full privacy notice applies to the tools as well.

The tools

ToolWhat it doesReads only?DoorsExample
list_moves
List Jabbertoon's ready-made cartoon moves
Lists the ready-made moves (animations) a Jabbertoon cartoon character can do, such as walk in, wave hello, hop, bow, slump, or talk with the voice. Each move has an id, a short description, its length in seconds, its page on jabbertoon.com, and links that open it in the block editor or the cartoon studio. A move is not tied to one character: the same move plays on any of the six ready-made characters (person, kid, dog, cat, bird, monster), and some suit some bodies better. Call get_move for a move's program. The optional q keeps the moves whose name, id or description contain all of its words, or that do what a word means (dance finds Groove, scared finds Cower, sleep finds Breathe and Still); notes say which were found by meaning and, for a feeling, the face a say block can show. The filter used is echoed back in filters.yesMCP · REST: /api/list_moves{"q":"wave"}
The moves whose name, id or description mention waving, each with its page and its block editor and studio links.
list_characters
List Jabbertoon's ready-made cartoon characters
Lists the six ready-made cartoon characters (person, kid, dog, cat, bird, monster): how many legs each has, the views it can be drawn in (front, side, back), the colour slots and options a cast entry's look can set, its page on jabbertoon.com, and links that open it in the cartoon studio or the character creator. A cartoon's cast is an object keyed by the ids its blocks name in who, and each entry draws a character by look.template, for example {"dog": {"name": "Biscuit", "look": {"template": "dog", "style": "outlined"}}}; list_looks gives the styles. The answer also has cartoon_example, a whole talking cartoon to copy and change.yesMCP · REST: /api/list_characters{}
The six ready-made characters with their legs, views, colour slots and options, each with its page and its studio and creator links.
list_looks
List Jabbertoon's art styles (looks) and body shapes
Lists the six art styles (looks) a Jabbertoon character can be drawn in (flat, outlined, soft, storybook, bold, crayon), what each looks like, its page on jabbertoon.com and a studio link that opens the studio in that look; and the three body shapes (classic, big head, tall). A cast entry sets them as look.style and look.shape, for example {"look": {"template": "cat", "style": "crayon", "shape": "bighead"}}.yesMCP · REST: /api/list_looks{}
The six art styles with what each looks like and its page, and the three body shapes.
get_move
Get one move's program and readable text
Returns one ready-made Jabbertoon move: its block program as JSON (the language Jabbertoon's animation engine plays, described at https://jabbertoon.com/docs/language/), the same program as readable text, its length, its page and links that open it. Name the move by its id (c4c:beh:wave_hello), its short name (wave_hello) or the last part of its page URL. To write your own move, start from one: change the program, check it with validate, then make a link with share_link.yesMCP · REST: /api/get_move{"move":"wave_hello"}
Wave hello's block program as JSON, the same program as text, its length, its page and its links.
validate
Check a Jabbertoon program, character, pack or cartoon
Checks a Jabbertoon block program (a move, a scene or a cartoon), a character, a pack, or a saved cartoon file with Jabbertoon's own validator, the same checks the studio, the character creator and the block editor make. Give exactly one of program, character, pack or cartoon. A talking cartoon is {"cast": {"dog": {"name": "Biscuit", "look": {"template": "dog"}}}, "program": {"v": 1, "kind": "cartoon", "scripts": [{"hat": {"on": "scene", "name": "Hello"}, "body": [{"op": "say", "who": "dog", "text": "Hi!"}]}]}}: the cast is an object keyed by ids, who names a cast id, every script starts with a scene hat, and a scene's blocks are say {who, text}, does {who, behaviour} (a move id from list_moves, or an inline move), enter, exit, place, cut, caption and mood, with wait, repeat and together. A move is a program of kind "behaviour" (get_move gives ready-made ones). The answer has ok, error_count, warning_count, and the errors and warnings (the first 50 of each, in order) as {code, where, says, fix}: where is the path of the field (e.g. scripts[0].body[2]), says is what is wrong, fix is how to fix it there when the checker knows, keeping the block's own words, speaker and fields. Fix the errors and call validate again until ok is true; warnings do not stop a program from playing, but say what the site will not do: hats that never fire on jabbertoon.com today (touch, beat, loud, every) or only in the block editor (key, click), moves that do not exist, and looks it cannot draw. Nothing you send is stored or logged.yesMCP · REST: /api/validate{"cartoon":{"cast":{"dog":{"name":"Biscuit","look":{"template":"dog","style":"outlined"}},"cat":{"name":"Mia","look":{"template":"cat","style":"outlined"},"at":{"x":0.7,"facing":-1}}},"program":{"v":1,"kind":"cartoon","name":"Hello, Mia","scripts":[{"hat":{"on":"scene","name":"Hello"},"body":[{"op":"enter","who":"dog","from":"left","x":0.3},{"op":"does","who":"dog","behaviour":"c4c:beh:wave_hello"},{"op":"say","who":"dog","text":"Hi, Mia! Do you want to play?"},{"op":"does","who":"cat","behaviour":"c4c:beh:bounce"},{"op":"say","who":"cat","text":"Yes, please!","mood":"happy"}]}]}}}
ok is true with no errors or warnings: a talking cartoon in which a dog walks in, waves and asks, and a cat bounces and answers; the shape to copy for a cartoon of your own.
report_problem
Tell Jabbertoon something is wrong
Reports a problem with Jabbertoon's tools or content to the people who run it: a tool answer that is wrong, a validator that refused a good program or passed a bad one, a move that looks wrong on a character, a link that does not open, docs that say something the engine does not do, or something missing. Unlike the other tools, this one keeps what you send: the report (kind, item, the request that produced it, and your note) is saved for a person to read. Never put personal details in it: no names, email addresses, or anything about the person you are helping.noMCP · REST: /api/report_problem{"kind":"wrong_answer","item":"list_moves","note":"The description of a move does not match what it does."}
The report is saved for a person to read; the answer gives its report id.