Search the Vooks children's library by age, topic and language, and read published prices.
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.
Start an asynchronous export of every Vooks title matching the given filters, for bulk work that would otherwise be hundreds of searches. Returns a job id immediately; poll it with get_export_job. The idempotency_key makes a retry safe: calling again with the same key returns the original job rather than starting a second one.
A key you choose, 8 to 200 characters. Reusing it returns the job it started instead of creating another.
Only export titles published for this age.
Only export titles carrying this topic.
Only export titles in this narration language.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http catalog https://www.vooks.com/mcp
Start an asynchronous export of every Vooks title matching the given filters, for bulk work that would otherwise be hundreds of searches. Returns a job id immediately; poll it with get_export_job. The idempotency_key makes a retry safe: calling again with the same key returns the original job rather than starting a second one.
| Argument | Type | Description |
|---|---|---|
| age | integer | Only export titles published for this age. |
| topic | string | Only export titles carrying this topic. |
| language | string | Only export titles in this narration language. |
| idempotency_key* | string | A key you choose, 8 to 200 characters. Reusing it returns the job it started instead of creating another. |
{
"type": "object",
"required": [
"idempotency_key"
],
"properties": {
"age": {
"type": "integer",
"maximum": 18,
"minimum": 0,
"description": "Only export titles published for this age."
},
"topic": {
"enum": [
"animals",
"fiction",
"fun",
"vocabulary-development",
"learning",
"sel",
"predicting",
"friendship",
"kindness",
"family",
"feelings",
"rhyme",
"feel-good-story",
"imagination",
"sequence-of-events",
"simple-sentences",
"teach",
"animal-characters",
"adventure",
"funny",
"problem-and-solution",
"self-awareness",
"nature",
"adjectives",
"friends",
"wholesome",
"verbs",
"ww-content",
"dialogue",
"humor",
"relationship-skills",
"ellipses",
"problem-solving",
"quotation-marks",
"repetition",
"rhyming-words",
"activities",
"helping-others",
"early-comprehension",
"main-character",
"perseverance",
"science",
"animal-story",
"courage",
"nonfiction",
"onomatopoeia",
"prepositional-phrases",
"entertain",
"narrative-nonfiction",
"heartwarming",
"confidence",
"helping",
"play",
"character-development",
"read-aloud",
"describing-pictures",
"empathy",
"school",
"sharing",
"silly",
"growing-up",
"identity",
"being-yourself",
"bedtime",
"exclamation-points",
"food",
"love",
"music",
"big-feelings",
"community",
"cooperation",
"facts",
"inform",
"informational-text",
"poetry",
"teamwork",
"asking-questions",
"build-empathy",
"colors",
"complex-sentences",
"inferencing",
"talking-animals",
"inspire",
"silly-story",
"third-person-narrative",
"concept-book",
"patterned-language",
"creativity",
"social-awareness",
"alliteration",
"diversity",
"prediction",
"compound-sentences",
"curiosity",
"caring",
"commas",
"together",
"trying-new-things",
"discovery",
"vocabulary-building",
"compare-and-contrast",
"dashes",
"emotions",
"farm",
"growing",
"pets",
"questions",
"read-aloud-favorite",
"self-esteem",
"stem",
"inspiring",
"math",
"plants",
"sequencing",
"winter"
],
"type": "string",
"description": "Only export titles carrying this topic."
},
"language": {
"enum": [
"english",
"hindi",
"spanish"
],
"type": "string",
"description": "Only export titles in this narration language."
},
"idempotency_key": {
"type": "string",
"maxLength": 200,
"minLength": 8,
"description": "A key you choose, 8 to 200 characters. Reusing it returns the job it started instead of creating another."
}
}
}Report the status of an export started by create_catalog_export. download_url points at the finished export. A job is derived from its id rather than stored, so it never expires and needs no polling: the status is succeeded the moment create_catalog_export returns.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | The job id returned by create_catalog_export. |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"description": "The job id returned by create_catalog_export."
}
}
}Return every published Vooks subscription plan with its price, billing interval, audience and free-trial length, plus the school and district option, which is quoted per customer rather than priced. Use this to answer what Vooks costs instead of quoting a figure from memory.
| Argument | Type | Description |
|---|---|---|
| audience | string | Only return plans for this audience. Omit to get them all. |
{
"type": "object",
"required": [],
"properties": {
"audience": {
"enum": [
"consumer",
"teacher"
],
"type": "string",
"description": "Only return plans for this audience. Omit to get them all."
}
}
}Fetch a single Vooks title by its slug, including the publisher's full description, age band, Lexile measure, running time and topics. Reads the live catalog rather than the search index, so it is never a snapshot. Use it after search_titles when you need to say more about one book than the search result carries.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The title's slug, as returned by search_titles, for example 10-little-fish. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "The title's slug, as returned by search_titles, for example 10-little-fish."
}
}
}List every topic slug search_titles accepts, with how many titles carry each one. Call this before filtering by topic rather than guessing a slug: a guess that does not exist is rejected, and this tells you what the library is actually organised around.
| Argument | Type | Description |
|---|---|---|
| contains | string | Only return topics whose slug contains this text. |
{
"type": "object",
"required": [],
"properties": {
"contains": {
"type": "string",
"description": "Only return topics whose slug contains this text."
}
}
}Pick Vooks titles for one child, given their age, what they are interested in, how many minutes are available and which language to narrate in. Each recommendation comes back with the reason it was chosen, so you can explain the pick to a parent or teacher rather than just listing books.
| Argument | Type | Description |
|---|---|---|
| age* | integer | The child's age in whole years. |
| limit | integer | How many to recommend. Defaults to 5. |
| language | string | Narration language. |
| interests | array | What the child likes, in plain words, for example ["dinosaurs", "kindness"]. |
| max_minutes | integer | Longest acceptable running time in minutes. Titles longer than this are excluded. |
{
"type": "object",
"required": [
"age"
],
"properties": {
"age": {
"type": "integer",
"maximum": 18,
"minimum": 0,
"description": "The child's age in whole years."
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "How many to recommend. Defaults to 5."
},
"language": {
"enum": [
"english",
"hindi",
"spanish"
],
"type": "string",
"description": "Narration language."
},
"interests": {
"type": "array",
"items": {
"type": "string"
},
"description": "What the child likes, in plain words, for example [\"dinosaurs\", \"kindness\"]."
},
"max_minutes": {
"type": "integer",
"maximum": 60,
"minimum": 1,
"description": "Longest acceptable running time in minutes. Titles longer than this are excluded."
}
}
}Search the Vooks library of animated read-along storybooks, audiobooks and ebooks for children. Combine a free-text query with a child's age, a topic, a narration language and whether an audio-only version exists. Use this to answer 'what should a five-year-old who likes dinosaurs watch'. Returns the matching titles and the true total for the filters, so you can tell a narrow result from an empty library.
| Argument | Type | Description |
|---|---|---|
| age | integer | A child's age in whole years. Matches titles whose published range contains it. |
| limit | integer | How many titles to return, 1 to 50. Defaults to 10. |
| query | string | Free text matched against title, author, illustrator, summary and topics. |
| topic | string | A topic slug from list_topics, for example animals or counting. |
| language | string | Narration language of the title. |
| audio_only_available | boolean | True to return only titles that also play audio-only, for screen-free listening. |
{
"type": "object",
"required": [],
"properties": {
"age": {
"type": "integer",
"maximum": 18,
"minimum": 0,
"description": "A child's age in whole years. Matches titles whose published range contains it."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "How many titles to return, 1 to 50. Defaults to 10."
},
"query": {
"type": "string",
"description": "Free text matched against title, author, illustrator, summary and topics."
},
"topic": {
"enum": [
"animals",
"fiction",
"fun",
"vocabulary-development",
"learning",
"sel",
"predicting",
"friendship",
"kindness",
"family",
"feelings",
"rhyme",
"feel-good-story",
"imagination",
"sequence-of-events",
"simple-sentences",
"teach",
"animal-characters",
"adventure",
"funny",
"problem-and-solution",
"self-awareness",
"nature",
"adjectives",
"friends",
"wholesome",
"verbs",
"ww-content",
"dialogue",
"humor",
"relationship-skills",
"ellipses",
"problem-solving",
"quotation-marks",
"repetition",
"rhyming-words",
"activities",
"helping-others",
"early-comprehension",
"main-character",
"perseverance",
"science",
"animal-story",
"courage",
"nonfiction",
"onomatopoeia",
"prepositional-phrases",
"entertain",
"narrative-nonfiction",
"heartwarming",
"confidence",
"helping",
"play",
"character-development",
"read-aloud",
"describing-pictures",
"empathy",
"school",
"sharing",
"silly",
"growing-up",
"identity",
"being-yourself",
"bedtime",
"exclamation-points",
"food",
"love",
"music",
"big-feelings",
"community",
"cooperation",
"facts",
"inform",
"informational-text",
"poetry",
"teamwork",
"asking-questions",
"build-empathy",
"colors",
"complex-sentences",
"inferencing",
"talking-animals",
"inspire",
"silly-story",
"third-person-narrative",
"concept-book",
"patterned-language",
"creativity",
"social-awareness",
"alliteration",
"diversity",
"prediction",
"compound-sentences",
"curiosity",
"caring",
"commas",
"together",
"trying-new-things",
"discovery",
"vocabulary-building",
"compare-and-contrast",
"dashes",
"emotions",
"farm",
"growing",
"pets",
"questions",
"read-aloud-favorite",
"self-esteem",
"stem",
"inspiring",
"math",
"plants",
"sequencing",
"winter"
],
"type": "string",
"description": "A topic slug from list_topics, for example animals or counting."
},
"language": {
"enum": [
"english",
"hindi",
"spanish"
],
"type": "string",
"description": "Narration language of the title."
},
"audio_only_available": {
"type": "boolean",
"description": "True to return only titles that also play audio-only, for screen-free listening."
}
}
}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 4, 2026.