PictureBooks
Server Details
Create and read private AI-illustrated storybooks with your PictureBooks account and existing credits. For adult authors, parents, and educators. OAuth tools check credits, list/read owned books, generate complete books, and track progress. Generation uses credits for pages, cover, and consistency references. No card charges, credit purchases, or publishing. Use fictional characters. Docs: https://picturebooks.io/developers
- Status
- Healthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool has a clearly distinct resource and action: generate_story (create), get_account (read credits), get_book (read a finished book), get_job (read job status), and list_books (enumerate books). The separation between get_book and get_job is explicitly clarified by descriptions, so an agent can easily choose the right tool.
All tools use the same snake_case verb_noun pattern with a consistent picturebooks_ prefix: generate_story, get_account, get_book, get_job, list_books. There are no deviations in style or casing.
Five tools is well-scoped for a focused storybook generation service. Each tool covers a necessary operation (create, account check, job status, book retrieval, listing) without redundancy.
The surface covers the core lifecycle: generate a book, check its async job, retrieve the finished book, list books, and read account credits. Minor gaps exist (e.g., no delete_book or cancel_job), but these are not essential for the primary workflows and agents can work around them.
Available Tools
5 toolspicturebooks_generate_storyGenerate storybookAIdempotentInspect
Generate a private illustrated book. Consumes existing account credits for pages, cover, and reference images. No card charge. Returns an async job and conservative creditEstimate, with no credit reservation. The book takes several minutes; until its job completes it has no title, cover or page pictures. Supports 5–24 pages subject to the connected account cap. Supply intended audienceAge and readingLevel when requested; omitted audience age defaults to two. Reuse requestId when retrying.
| Name | Required | Description | Default |
|---|---|---|---|
| pages | No | 5–24 story pages; also respect credits.maxBookPages from the account tool, and prefer at most credits.affordableBookPages when the balance is low. | |
| topic | Yes | ||
| artStyle | No | ||
| category | No | ||
| language | No | ||
| requestId | Yes | ||
| audienceAge | No | Intended audience age in years, 1–12. A content preference, never a request for a real child’s identity. Omitted preserves the historical age-two default. | |
| readingLevel | No | auto matches audience age; pre is read aloud to a pre-reader; early uses simple decodable text; fluent uses richer vocabulary. Age still governs appropriate themes. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond annotations: discloses credit consumption with no reservation and a conservative creditEstimate, async job semantics, several-minute latency, the intermediate state where the book has no title/cover/pages, and the idempotent retry contract via requestId. This meaningfully complements readOnlyHint=false and idempotentHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the outcome and cost implications, then constraints, then retry guidance. Every sentence carries information, though the paragraph is dense and several clauses could be split for faster scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an async, credit-consuming, no-output-schema generator, the description covers cost, latency, interim book state, page bounds, defaults, and retry semantics — enough to call it correctly. Minor gaps remain around the non-described creative parameters (artStyle, category, language).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 38% schema description coverage, the description carries more of the burden and does add meaning for pages (5–24 vs. account cap), audienceAge (explicitly a content preference, not a request for a child's identity), readingLevel, and requestId reuse. However, topic, artStyle, category, and language are never addressed, leaving half the surface to inference from parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Generate a private illustrated book') and the surrounding behavior makes clear it is the only writer among a set of read-only siblings (get_account, get_book, get_job, list_books). An agent can distinguish it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operational context: credits are consumed but no card is charged, pages must be 5–24 subject to the account cap, audienceAge/readingLevel should be supplied when requested, and requestId should be reused on retry. It stops short of naming when not to call it or explicitly comparing to the sibling read tools, so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picturebooks_get_accountPictureBooks accountARead-onlyIdempotentInspect
Read PictureBooks credits when the user asks about their account or before a requested PictureBooks story generation. Do not use for unrelated tasks. Does not purchase credits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description usefully adds a non-obvious behavioral boundary — 'Does not purchase credits' — clarifying that this is a pure read and not a purchasing action, though it says nothing about error handling or what the read returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, with the primary purpose front-loaded before the usage trigger and the boundary note. Every sentence carries information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with no output schema, the description covers purpose, trigger, and a key boundary. The only mild gap is that it does not hint at what the account read returns, but with no output schema that is not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline of 4 applies; no parameter-related guidance is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read PictureBooks credits') and frames it as an account lookup, which cleanly separates it from the sibling tools (generate_story, get_book, get_job, list_books). An agent can identify the tool's function without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives two concrete triggers — when the user asks about their account, and before a requested story generation — which is strong routing guidance. The exclusion ('Do not use for unrelated tasks') is boilerplate rather than a real boundary, so it falls just short of the explicit when-not/alternatives bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picturebooks_get_bookRead storybookBRead-onlyIdempotentInspect
Get your storybook: its title, page text and downloadable cover/page image URLs. These images are the book's only pictures.
| Name | Required | Description | Default |
|---|---|---|---|
| bookId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds the useful detail that the returned image URLs constitute the book's only pictures, which clarifies the return content. It does not disclose behavior on an invalid/unknown bookId or any auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the purpose and then the return payload. No wasted words, though the trailing clause about images being 'the book's only pictures' is slightly awkward phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description helpfully names the returned fields (title, page text, image URLs), which is the right burden to carry. However, it omits how to source bookId and any failure behavior, leaving a gap for a required-parameter fetch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single bookId parameter has 0% schema description coverage and a pattern constraint but no human-readable meaning. The description says nothing about what bookId is, its format, or where to get it, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (get your storybook) and enumerates the returned content: title, page text, and downloadable cover/page image URLs. It is clearly a single-record fetch and distinguishable from picturebooks_list_books or picturebooks_generate_story. Sibling differentiation is implicit rather than explicit, so not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no pointer to siblings. It never says how to obtain a valid bookId (presumably from picturebooks_list_books) or when to prefer this over list/generate. Usage is only inferable from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picturebooks_get_jobCheck generation progressBRead-onlyIdempotentInspect
Read status of a story generation job owned by your account.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only the ownership scoping constraint ('owned by your account') and says nothing about what statuses are returned or terminal states, so it adds marginal value beyond structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight, front-loaded sentence with no filler. It is efficient, though brevity here edges toward under-specification given the tool's polling role.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining the return value, yet it never says what status field(s) come back or what terminal values look like. Rich annotations cover the safety side, but the response contract for a status-checking tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single jobId parameter is undocumented in structured fields. The description partially compensates by implying the job must belong to the caller's account, but it gives no guidance on where the ID originates (presumably from picturebooks_generate_story) or its format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (read) and resource (status of a story generation job) with a scope qualifier (owned by your account). An agent can distinguish it from siblings like picturebooks_generate_story and picturebooks_get_book, though the differentiation is implicit in the noun rather than called out.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent infers this is for polling a job started by picturebooks_generate_story. There is no explicit statement of when to use it, no mention of polling cadence or what to do when the job is still running, and no named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
picturebooks_list_booksList storybooksBRead-onlyIdempotentInspect
List private storybooks owned by your connected account.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds the useful scoping fact that results are limited to private books of the connected account, but says nothing about pagination, ordering, or empty-result behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler; every word contributes to identifying the resource and its scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with full annotation coverage and no output schema, the essentials are largely there, but the undocumented limit/pagination parameter leaves a real gap an agent would want filled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter ('limit') with 0% schema description coverage, yet the description never mentions it, its constraints (1-50 max), or any default. The low coverage means the description should have compensated and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (private storybooks) with ownership scope narrowed to the connected account. It doesn't explicitly differentiate itself from siblings like picturebooks_get_book, but the verb+scope makes its role readable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the 'private storybooks owned by your connected account' phrasing hints this is a bulk enumeration of the caller's own books, but there is no explicit when-to-use, when-not, or pointer to siblings like picturebooks_get_book for single-item retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
picturebooks_generate_story - First observed
picturebooks_get_account - First observed
picturebooks_get_book - First observed
picturebooks_get_job - First observed
picturebooks_list_books
Publisher details
- Operator
- PictureBooks.io (Wilson Gan) · Publisher source
- Operator website
- https://picturebooks.io
- Vendor relationship
- First-party
- Documentation
- https://picturebooks.io/developers
- Trust center
- Not available
- Restrictions
- Requires a verified PictureBooks account and OAuth consent. Reading existing books is free; generation consumes existing image credits. Adults only; use fictional characters. Credits must be purchased on PictureBooks.io, outside this connector. · Publisher source
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1611 npm1MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm54 PyPIMIT
- AlicenseAqualityCmaintenanceRevnuvo Company Intelligence tells AI agents what changed at a company, with evidence. It observes company websites, technologies, and DNS over time and returns timestamped, confidence-aware changes, signals, and monitoring.9MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.