Free 2D cartoon studio: moves, characters and looks; check a cartoon; share links. No key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Builds anything (a character, an animal, a car, a house) in Jabbertoon's 3D builder from steps, as its buttons do: spine, grow, bone (a skeleton, a bone at a time), add a ready part (leg, arm, head, wing, wheel, hat ...), set, copy, remove, look. Checks every step, says what was made (its parts and size) and gives a jabbertoon.com/editor/ link that opens it in the Forge, to change and use in a cartoon, world or game. Over MCP the answer also shows a picture of it from four sides. Steps that start {"op": "new", "kind": "move"} make a move from keys, {"op": "new", "kind": "world"} a world (a level is played to check it), and a game, every one in 3D: "walk" a place to walk at real size (played on foot: told what cannot be reached), or "trench", "space", "surface" or "sky" a game to fly. A refused step says where, why and how to fix it. export_link opens Export, free: STL/3MF to 3D print, glTF (Blender, Unity, Godot), SVG, Minecraft .schem. The steps: get_guide {"topic": "build"}, a game's {"topic": "game"}.
A build to change (the build an answer gave); without it the steps start from a new spine.
The steps, in order: {op: spine | grow | bone | add | set | copy | remove | look, on (a part, or a name an earlier step gave with as), ...}.
Builds anything (a character, an animal, a car, a house) in Jabbertoon's 3D builder from steps, as its buttons do: spine, grow, bone (a skeleton, a bone at a time), add a ready part (leg, arm, head, wing, wheel, hat ...), set, copy, remove, look. Checks every step, says what was made (its parts and size) and gives a jabbertoon.com/editor/ link that opens it in the Forge, to change and use in a cartoon, world or game. Over MCP the answer also shows a picture of it from four sides. Steps that start {"op": "new", "kind": "move"} make a move from keys, {"op": "new", "kind": "world"} a world (a level is played to check it), and a game, every one in 3D: "walk" a place to walk at real size (played on foot: told what cannot be reached), or "trench", "space", "surface" or "sky" a game to fly. A refused step says where, why and how to fix it. export_link opens Export, free: STL/3MF to 3D print, glTF (Blender, Unity, Godot), SVG, Minecraft .schem. The steps: get_guide {"topic": "build"}, a game's {"topic": "game"}.
| Argument | Type | Description |
|---|---|---|
| build | object | A build to change (the build an answer gave); without it the steps start from a new spine. |
| steps | array | The steps, in order: {op: spine | grow | bone | add | set | copy | remove | look, on (a part, or a name an earlier step gave with as), ...}. |
{
"type": "object",
"properties": {
"build": {
"type": "object",
"description": "A build to change (the build an answer gave); without it the steps start from a new spine."
},
"steps": {
"type": "array",
"maxItems": 400,
"description": "The steps, in order: {op: spine | grow | bone | add | set | copy | remove | look, on (a part, or a name an earlier step gave with as), ...}."
}
},
"minProperties": 1,
"additionalProperties": false
}Call this first. Returns one topic of Jabbertoon's guide as Markdown (under 20,000 characters): start (what it makes and the order of calls), cartoon (the JSON program: cast, scenes, lines, moves), text (the same cartoon as screenplay text), moves, characters, voices, places, errors, limits, build (the 3D builder's steps), export (a build as STL or 3MF to print, glTF, SVG blueprints, Minecraft), world (a world of blocks), walk (a place to walk), game (a game's steps), song (the editor's own file: characters, lines, moves, shots, a song), market, controls (pills, actions). Units everywhere: x and y are shares of the stage (0 to 1, the ground at 0.92), times are seconds. Example: {"topic": "cartoon"}.
| Argument | Type | Description |
|---|---|---|
| topic | string | Leave it out for start, which names the others. |
{
"type": "object",
"properties": {
"topic": {
"enum": [
"start",
"cartoon",
"text",
"moves",
"characters",
"voices",
"places",
"errors",
"limits",
"build",
"game",
"song",
"walk",
"play",
"export",
"shapes",
"examples",
"keys",
"world",
"market",
"controls",
"fight"
],
"type": "string",
"description": "Leave it out for start, which names the others."
}
},
"additionalProperties": false
}Returns one ready-made move: its block program as JSON, the same program as screenplay text, its length in seconds, what it works on, its settings with units, its page and links. Name it by id (c4c:beh:wave_hello), short name (wave_hello) or page slug. To write your own move, start from one, change it, then validate it. Example: {"move": "wave_hello"}.
| Argument | Type | Description |
|---|---|---|
| move* | string | Its id, short name or page slug, as list_moves gives them. |
{
"type": "object",
"required": [
"move"
],
"properties": {
"move": {
"type": "string",
"maxLength": 100,
"description": "Its id, short name or page slug, as list_moves gives them."
}
},
"additionalProperties": false
}Lists the cast in 3D: the six people (bob, ria, sunny, sam, lee, rose) and the animals (dog, cat, fox, horse, gull, and bear2, fox2, rabbit2, raccoon2, cat2 on two legs), each with the designed entry a cast entry gives it and a voice; the voices a line can use; and cartoon_example, a whole talking cartoon to copy. (The six flat templates of older cartoons are listed too, as characters.) Call it to write a cast: {"dog": {"name": "Biscuit", "look": {"template": "dog", "colors": {"skin": "#8d6e63"}}, "voice": "am_puck"}}.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Lists the ready-made moves a character can do (walk in, wave hello, hop, bow, slump, talk...): id, name, length in seconds, the bodies it works on (two legs, four, none), its settings with units, page and links. A does block plays one: {"op": "does", "who": "dog", "behaviour": "c4c:beh:wave_hello"}. q keeps the moves whose words match or that do what a word means (dance finds Groove, scared finds Cower). Example: {"q": "wave"}.
| Argument | Type | Description |
|---|---|---|
| q | string | Words to look for ("wave", "dance"); leave it out for every move. |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"maxLength": 100,
"description": "Words to look for (\"wave\", \"dance\"); leave it out for every move."
}
},
"additionalProperties": false
}Tells the people who make Jabbertoon something is wrong: a wrong answer, a check that refused a good cartoon or passed a bad one, a move that looks wrong, a link that does not open, wrong docs, something missing, or a step that was hard to get right (kind hard_step, with hard_because: optional, never needed to go on). Unlike the other tools, it keeps what you send: the report (kind, tool, code, where, item, note, hard_because) is saved for a person to read. Never put the cartoon, a name, an address or anything about the person you help in it. Example: {"kind": "validator_wrong", "tool": "validate", "code": "op_unknown", "note": "say was refused in a cartoon"}.
| Argument | Type | Description |
|---|---|---|
| os | string | Set by the jabbertoon tool: win32, darwin or linux. |
| code | string | The error code it gave, e.g. op_unknown. |
| item | string | What it is about: a move, character or look (c4c:beh:bow, dog, crayon), or a page. |
| kind* | string | What kind of problem it is (hard_step: a step that was hard to get right). |
| note | string | What was wrong, in a sentence or two. No cartoon, names or personal details. |
| tool | string | The tool whose answer was wrong, e.g. validate. |
| where | string | Where it pointed, e.g. scripts[0].body[2]. |
Turns a cartoon, a scene, a move or a character into a jabbertoon.com link: it opens in the editor (a move in its move maker). It all travels after the #: nothing is uploaded or kept. All but a character's end with &from=ai (the page says an AI helper wrote it). One with errors gets them instead. Give one of cartoon, program, character or file. Example: {"program": {"v": 1, "kind": "behaviour", "scripts": [{"body": [{"op": "hop"}]}]}}.
| Argument | Type | Description |
|---|---|---|
| file | string | On your own computer only: a file's name in the output folder. |
| cartoon | object | string | Its program, a cartoon file {cast, places?, program}, or its screenplay text (read on your own computer only). |
| program | object | A move (kind "behaviour"), a scene or a cartoon program. |
| character | object | Your own character, {"name", "content"}, or a character pack. |
{
"type": "object",
"properties": {
"file": {
"type": "string",
"maxLength": 255,
"description": "On your own computer only: a file's name in the output folder."
},
"cartoon": {
"type": [
"object",
"string"
],
"description": "Its program, a cartoon file {cast, places?, program}, or its screenplay text (read on your own computer only)."
},
"program": {
"type": "object",
"description": "A move (kind \"behaviour\"), a scene or a cartoon program."
},
"character": {
"type": "object",
"description": "Your own character, {\"name\", \"content\"}, or a character pack."
}
},
"maxProperties": 1,
"minProperties": 1,
"additionalProperties": false
}Checks a cartoon, with the editor's own checks, before anyone sees it. Give one of cartoon, program, pack, character or file. Returns errors (it will not play as written: also a character or background the site lacks) and warnings, each {code, where, says, fix, url}, with did_you_mean and an RFC 6902 patch when certain; issues a viewer would see (off stage, overlapping, an empty stage, a line cut off) with a summary of who is where and says what when (seconds; x as a share of the stage); and, when ok, the canonical program and a link. repair: true also returns the program with every certain patch applied. Nothing you send is kept. Example: list_characters' cartoon_example.
| Argument | Type | Description |
|---|---|---|
| file | string | On your own computer only: a .json or .txt file's name in the output folder. |
| pack | object | A whole pack: its manifest and its content. |
| repair | boolean | true: also return repaired: the program with every certain patch applied, and the changes. |
| cartoon | object | string | A cartoon: its program, a cartoon file {cast, program}, a project file, or its screenplay text (read only on your own computer). |
| program | object | A move (get_move gives ready-made ones) or a scene program. |
| character | object | Your own character, {"name", "content"}, or a character pack. |
| cli_version | string | Set by the jabbertoon tool. |
| hard_because | string | For kind hard_step: what made the step hard (an error's words, a field that was unclear, a size that was hard to guess). Optional. No cartoon, names or personal details. |
{
"type": "object",
"required": [
"kind"
],
"properties": {
"os": {
"type": "string",
"maxLength": 40,
"description": "Set by the jabbertoon tool: win32, darwin or linux."
},
"code": {
"type": "string",
"maxLength": 64,
"description": "The error code it gave, e.g. op_unknown."
},
"item": {
"type": "string",
"maxLength": 200,
"description": "What it is about: a move, character or look (c4c:beh:bow, dog, crayon), or a page."
},
"kind": {
"enum": [
"wrong_answer",
"validator_wrong",
"move_looks_wrong",
"link_does_not_open",
"docs_wrong",
"missing",
"hard_step",
"other"
],
"type": "string",
"description": "What kind of problem it is (hard_step: a step that was hard to get right)."
},
"note": {
"type": "string",
"maxLength": 500,
"description": "What was wrong, in a sentence or two. No cartoon, names or personal details."
},
"tool": {
"type": "string",
"maxLength": 64,
"description": "The tool whose answer was wrong, e.g. validate."
},
"where": {
"type": "string",
"maxLength": 200,
"description": "Where it pointed, e.g. scripts[0].body[2]."
},
"cli_version": {
"type": "string",
"maxLength": 40,
"description": "Set by the jabbertoon tool."
},
"hard_because": {
"type": "string",
"maxLength": 500,
"description": "For kind hard_step: what made the step hard (an error's words, a field that was unclear, a size that was hard to guess). Optional. No cartoon, names or personal details."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"file": {
"type": "string",
"maxLength": 255,
"description": "On your own computer only: a .json or .txt file's name in the output folder."
},
"pack": {
"type": "object",
"description": "A whole pack: its manifest and its content."
},
"repair": {
"type": "boolean",
"description": "true: also return repaired: the program with every certain patch applied, and the changes."
},
"cartoon": {
"type": [
"object",
"string"
],
"description": "A cartoon: its program, a cartoon file {cast, program}, a project file, or its screenplay text (read only on your own computer)."
},
"program": {
"type": "object",
"description": "A move (get_move gives ready-made ones) or a scene program."
},
"character": {
"type": "object",
"description": "Your own character, {\"name\", \"content\"}, or a character pack."
}
},
"minProperties": 1,
"additionalProperties": false
}