Plan a personalised picture book with your child as the hero: occasion, story line and style.
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.
Makes the plan for the book and returns the link to the order form on the website with the occasion and story line filled in. The parent then enters the child's name and photo there.
Two-letter code of the language the user writes in, e.g. 'en', 'nl', 'de'
Occasion id from list_occasions, e.g. 'verjaardag' or 'kerst'
Story line id from list_occasions; empty for the best one
Style id from show_styles, if the user chose one
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http picture-book https://mcp.myownchildbook.com/mcp
Makes the plan for the book and returns the link to the order form on the website with the occasion and story line filled in. The parent then enters the child's name and photo there.
| Argument | Type | Description |
|---|---|---|
| story | any | Story line id from list_occasions; empty for the best one |
| style | any | Style id from show_styles, if the user chose one |
| language* | string | Two-letter code of the language the user writes in, e.g. 'en', 'nl', 'de' |
| occasion* | string | Occasion id from list_occasions, e.g. 'verjaardag' or 'kerst' |
{
"type": "object",
"title": "planArguments",
"required": [
"language",
"occasion"
],
"properties": {
"story": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Story",
"default": null,
"description": "Story line id from list_occasions; empty for the best one"
},
"style": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Style",
"default": null,
"description": "Style id from show_styles, if the user chose one"
},
"language": {
"type": "string",
"title": "Language",
"description": "Two-letter code of the language the user writes in, e.g. 'en', 'nl', 'de'"
},
"occasion": {
"type": "string",
"title": "Occasion",
"description": "Occasion id from list_occasions, e.g. 'verjaardag' or 'kerst'"
}
}
}Occasions (birthday, Christmas, Sinterklaas, new sibling, bedtime story...) with ready-made storylines for a personalised children's book, in the user's language. The stories suit children of about 2 to 8. Do not ask for the child's age, name or photo: just ask which story they like.
| Argument | Type | Description |
|---|---|---|
| language* | string | Two-letter code of the language the user writes in, e.g. 'en', 'nl', 'de' |
{
"type": "object",
"title": "lijstArguments",
"required": [
"language"
],
"properties": {
"language": {
"type": "string",
"title": "Language",
"description": "Two-letter code of the language the user writes in, e.g. 'en', 'nl', 'de'"
}
}
}The illustration styles with an example picture of each, so the user can choose.
| Argument | Type | Description |
|---|---|---|
| language* | string | Two-letter code of the language the user writes in, e.g. 'en', 'nl', 'de' |
{
"type": "object",
"title": "stijlenArguments",
"required": [
"language"
],
"properties": {
"language": {
"type": "string",
"title": "Language",
"description": "Two-letter code of the language the user writes in, e.g. 'en', 'nl', 'de'"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 15, 2026.