Skip to main content
Glama

AI Manga & Anime Generator - Mangii MCP

Server Details

Create manga and anime art from text. 24 styles, multi-panel stories, BYOK.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
AAAIStudio/mangii-mcp
GitHub Stars
0
Server Listing
mcp-mangii

TDQS

A4.5/5.0

Scored across 9 tools

Disambiguation5/5

Each tool maps to a distinct action in the manga generation workflow: billing, credit lookup, style listing, story creation, continuation, panel regeneration, job polling, and story/panel listing. The only close pair is continue_story versus regenerate_panel, but the descriptions clearly separate adding a new panel from redrawing an existing one.

Naming Consistency5/5

All tool names follow the consistent verb_noun pattern with a shared manga. prefix, such as create_story, continue_story, list_panels, and regenerate_panel. The naming scheme is predictable and makes the action-target relationship immediately understandable.

Tool Count5/5

Nine tools is well-scoped for a generation-focused MCP server covering creation, continuation, editing, listing, credit management, and async job polling. Each tool earns its place in the core workflow without unnecessary bloat.

Completeness4/5

The server covers the full manga generation lifecycle: style selection, story creation, panel continuation, regeneration, listing owned stories and panels, credit checks, and billing. Minor gaps such as explicit story or panel deletion are absent, but agents can complete the primary creative workflow without dead ends.

Available Tools

9 tools
manga.buy_creditsBuy API creditsA
Read-onlyIdempotent
Inspect

Return the Console billing URL so a human can fund apiPackCredits. Generate-scoped keys cannot create Checkout sessions. Call this after 402 insufficient_credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
qualityNoOptional quality you plan to generate next. Included in the response as next_generation_credits so the human knows how many credits to buy.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoMachine error code such as invalid_request, insufficient_credits, or quality_forbidden.
buy_urlYesAbsolute Console billing URL. Always https://mangii.ai/console/billing.
messageNoHuman-readable error. Never includes stack traces or internal paths.
credit_costsYesCredits charged per successful panel.
next_generation_creditsNoCredits needed for the requested quality, or null if quality was omitted.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds useful context: it returns a URL, mentions funding apiPackCredits, and explains a key limitation. It does not contradict annotations and provides extra behavioral detail beyond what's in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, no fluff. The primary purpose is front-loaded, and every sentence adds relevant information (what, why, when to call).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with an output schema, the description covers purpose, trigger condition, and the only parameter's significance. No missing critical information; the tool is self-contained and appropriate for its simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining that the parameter's purpose influences the response field next_generation_credits, giving meaningful context beyond the schema's enum description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Return[s] the Console billing URL so a human can fund apiPackCredits,' specifying both the action and the resource. It differentiates from what the tool is not (Generate-scoped keys cannot create Checkout sessions) and is not a tautology.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to call: 'Call this after 402 insufficient_credits.' It also implies the context (when API credits are insufficient) and the constraint that generate-scoped keys can't use Checkout, providing clear usage guidance even without naming sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

manga.continue_storyContinue manga storyAInspect

Add the next panel. Do not send style_id. Defaults: Image 1 = first panel (identity), Image 2 = last distinct panel (scene). Override via manga.list_panels then identity_panel_id or identity_image and/or continuity_panel_id or continuity_image. Same credit costs as create.

ParametersJSON Schema
NameRequiredDescriptionDefault
asyncNoOn this MCP server the default is false: wait and return image_url in one call. Set true only if you will poll manga.get_job. HTTP API default remains async.
promptYesScene in everyday language: characters, place, action, mood, camera, weather, color or black-and-white. Example: "A duel under cherry blossoms, low angle, rain, full color." Max 2000 characters.
qualityNoGeneration quality. standard costs 1 credit, hd 2, ultra 5. Default standard. HD/Ultra need an unlocked API wallet.
story_idYesStory id from manga.create_story. Example: a Firestore story document id returned as story_id.
identity_imageNoReplacement photo: https URL or data:image/...;base64,... URI. Public hosts only. Same slot cannot also send a panel id.
idempotency_keyNoOptional. Reuse the same key on retry so a timeout does not charge twice. 8-200 chars. Omit to mint a one-shot key (unsafe on retry).
reference_imageNoAlias for identity_image. Replaces Image 1 with an uploaded photo or URL.
continuity_imageNoReplacement Image 2 (scene) photo: https URL or data URI. Do not also send continuity_panel_id.
context_panel_idsNoLegacy list override [identity_panel_id, scene_panel_id]. Ignored when identity_* or continuity_* fields are set. Prefer those named slots.
identity_panel_idNoOverride Image 1 (identity) with this panel id from manga.list_panels. Do not also send identity_image.
continuity_panel_idNoOverride Image 2 (scene) with this panel id from manga.list_panels. Do not also send continuity_image.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoMachine error code such as invalid_request, insufficient_credits, or quality_forbidden.
job_idNoAsync job id when async is true or the work is still running.
messageNoHuman-readable error. Never includes stack traces or internal paths.
qualityNoQuality used for this generation.
panel_idNoGenerated or regenerated panel id.
story_idNoCreated or existing story id.
image_urlNoHTTPS URL of the finished panel when async is false and generation succeeded.
next_stepNoWhat the agent should call next. Follow this instead of guessing.
request_idNoRequest correlation id.
credits_chargedNoAPI credits billed for a successful generation.
credits_remainingNoRemaining spendableCredits after the call (apiPack plus packCredits after a purchase).

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations say readOnly=false and destructive=false, so this is a write operation. The description adds meaningful behavioral context: default panel identity/scene mapping, override semantics, and credit cost parity with create. It does not describe the return payload, but an output schema exists, so that burden is already covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences with no filler. The core action is front-loaded, and each sentence carries operational value: the default behavior, override workflow, and cost. It avoids repeating schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter mutation tool with full schema coverage and an output schema, the description covers the non-obvious operational aspects: defaults, overrides, exclusions, and costs. Nothing critical is missing for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining the relationship between Image 1/Image 2 defaults and the identity/continuity override parameters, and by pointing to manga.list_panels for obtaining valid panel IDs. This helps agents understand how the parameters work together.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Add the next panel', a specific verb and resource that clearly identifies the operation as extending an existing manga story. This differentiates it from siblings like manga.regenerate_panel (replacing an existing panel) and manga.create_story (starting a new story). The title 'Continue manga story' reinforces the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage guidance: do not send style_id, the default image slot behavior, and how to override via manga.list_panels plus identity/continuity fields. It also clarifies credit costs relative to create. It does not explicitly contrast with regenerate_panel, but the guidance for overriding and defaults is concrete enough for correct invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

manga.create_storyCreate manga storyAInspect

Start a new private manga (panel 1). Required: prompt + style_id from manga.list_styles. Optional identity_image or reference_image is Image 1. Style locks. Default async=false returns image_url, story_id, panel_id. Then manga.continue_story. Costs 1/2/5 credits by quality.

ParametersJSON Schema
NameRequiredDescriptionDefault
asyncNoOn this MCP server the default is false: wait and return image_url in one call. Set true only if you will poll manga.get_job. HTTP API default remains async.
titleNoOptional story title shown in the library. Example: "Rain Duel". Omit to let Mangii name it.
promptYesScene in everyday language: characters, place, action, mood, camera, weather, color or black-and-white. Example: "A duel under cherry blossoms, low angle, rain, full color." Max 2000 characters.
qualityNoGeneration quality. standard costs 1 credit, hd 2, ultra 5. Default standard. HD/Ultra need an unlocked API wallet.
style_idYesCanonical style id from manga.list_styles. Example: classic_shonen or cinematic_anime. Locked after panel 0.
identity_imageNoReplacement photo: https URL or data:image/...;base64,... URI. Public hosts only. Same slot cannot also send a panel id.
idempotency_keyNoOptional. Reuse the same key on retry so a timeout does not charge twice. 8-200 chars. Omit to mint a one-shot key (unsafe on retry).
reference_imageNoOptional first-panel identity photo. https URL or data URI. Alias of identity_image.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoMachine error code such as invalid_request, insufficient_credits, or quality_forbidden.
job_idNoAsync job id when async is true or the work is still running.
messageNoHuman-readable error. Never includes stack traces or internal paths.
qualityNoQuality used for this generation.
panel_idNoGenerated or regenerated panel id.
story_idNoCreated or existing story id.
image_urlNoHTTPS URL of the finished panel when async is false and generation succeeded.
next_stepNoWhat the agent should call next. Follow this instead of guessing.
request_idNoRequest correlation id.
credits_chargedNoAPI credits billed for a successful generation.
credits_remainingNoRemaining spendableCredits after the call (apiPack plus packCredits after a purchase).

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate a non-readonly, non-idempotent operation. The description adds crucial behavior: style locking, default async behavior, credit costs, and the returned fields (image_url, story_id, panel_id). No contradiction with annotations; it enriches them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, dense sentence that front-loads the core purpose and required inputs, then covers async, credits, and next step. No wasted words; every phrase carries meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a rich schema and an output schema, the description covers all essential operational details: required params, cost model, async behavior, and the natural next step (continue_story). Nothing needed for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with detailed descriptions for each parameter (e.g., quality costs, style_id source, identity_image alias). The description adds only marginal context beyond the schema, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Start a new private manga') and resource (panel 1), clearly distinguishing it from siblings like continue_story. It also specifies required parameters and the flow, leaving no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: to create the first panel, and points to the alternative 'manga.continue_story' for subsequent panels. It also references list_styles for style_id, giving clear context for selection among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

manga.get_creditsGet API creditsA
Read-onlyIdempotent
Inspect

Return the API wallet. Spendable is apiPackCredits plus packCredits after the account has ever purchased. Later ad/referral grants on that pack pool also spend. weeklyCredits is display-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_notesNoWhen true (default), include a notes string explaining that weeklyCredits does not spend on API or MCP.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoMachine error code such as invalid_request, insufficient_credits, or quality_forbidden.
notesNoWallet rules for agents.
messageNoHuman-readable error. Never includes stack traces or internal paths.
packCreditsNoIn-app pack credits. After a purchase (hasEverPurchasedCredits), the full current balance is included in spendableCredits, including later ad/referral grants. Never-purchased pack balances do not spend.
weeklyCreditsNoIn-app weekly credits. Display-only for API/MCP.
apiPackCreditsNoSpendable API credits for generate tools.
spendableCreditsNoapiPackCredits plus packCredits when the account has ever purchased. Same number useApiCredit will spend.

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint and idempotentHint, so the description adds valuable behavioral context: it explains the meaning of spendable credits, that weeklyCredits is display-only, and how ad/referral grants work. This goes beyond the safety profile and provides critical semantics about the data returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, front-loaded with the primary action ('Return the API wallet') followed by essential details on credit semantics. Every sentence earns its place with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description fully explains the return value's semantics and the role of weeklyCredits, which is crucial for correct usage. It does not explicitly mention a common use case like checking credits before a purchase, but the output schema covers the response structure, and the description is sufficiently complete for a read-only tool with simple parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter include_notes is fully documented in the schema (100% coverage), including its default behavior. The tool description does not add any additional parameter-specific information, so a baseline of 3 is appropriate since the schema already carries the semantic weight.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Return the API wallet' and explains the composition of spendable credits. It distinguishes from siblings like manga.buy_credits by focusing on retrieval rather than purchase, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking available credits but does not explicitly state when to use this tool versus alternatives like manga.buy_credits. There is no direct mention of 'use this to check credits' or exclusions, leaving the agent to infer the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

manga.get_jobGet generation jobA
Read-onlyIdempotent
Inspect

Poll a generation job from manga.create_story, manga.continue_story, or manga.regenerate_panel when async=true. Repeat until status is succeeded or failed. Prefer async=false so you do not need this tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesJob id from a previous generate result. Example: job_ab12cd34.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNoJob id.
errorNoMachine error code such as invalid_request, insufficient_credits, or quality_forbidden.
resultNoFinished panel fields when status is succeeded.
statusNoJob status.
messageNoHuman-readable error. Never includes stack traces or internal paths.
next_stepNoWhat to call next.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds meaningful behavioral context by disclosing the polling loop and terminal states (succeeded or failed), which is not visible from annotations alone. It does not mention timeout or rate-limit behavior, but those are less critical for a read-only poll.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences pack the operation, trigger condition, polling loop, terminal statuses, and a recommendation to prefer async=false. Every phrase earns its place and is front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a single well-documented parameter, a provided output schema, and safety annotations, the description fully covers what an agent needs to invoke it correctly. It explains the source of job_id, when to poll, how long to poll, and even the preferred alternative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents job_id with an example. The description reinforces that job_id comes from a previous generate result but does not add new syntax or formatting details beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb 'poll' and resource 'generation job', and identifies the exact producing tools (manga.create_story, manga.continue_story, manga.regenerate_panel) plus the async=true condition. This clearly distinguishes it from content-creation and billing siblings like manga.create_story or manga.buy_credits.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use it: when async=true, and instructs to repeat until status is succeeded or failed. It also gives an exclusion by recommending 'Prefer async=false so you do not need this tool.' This is clear usage guidance, though it does not name a sibling alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

manga.list_panelsList story panelsA
Read-onlyIdempotent
Inspect

List panels you own for a story. Use this to get panel_id values before changing Image 1 or Image 2 on manga.continue_story or manga.regenerate_panel. Each row has ref_role: identity on the first panel, scene on the last distinct panel, otherwise null.

ParametersJSON Schema
NameRequiredDescriptionDefault
story_idYesStory id from manga.create_story. Example: a Firestore story document id returned as story_id.

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNoHow to override Image 1 and Image 2 on continue or regenerate.
errorNoMachine error code such as invalid_request, insufficient_credits, or quality_forbidden.
panelsYesPanels in reading order, with ids for identity_panel_id and continuity_panel_id.
messageNoHuman-readable error. Never includes stack traces or internal paths.
story_idNoStory id from manga.create_story. Example: a Firestore story document id returned as story_id.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already communicate readOnly, idempotent, open-world, and non-destructive behavior. The description adds meaningful context beyond those hints: the 'you own' scoping and the ref_role semantics on the first panel, last distinct panel, and otherwise null. This is genuine behavioral detail that helps the agent interpret rows correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well organized: an initial statement of what the tool returns, a practical usage instruction, and then the most important data nuance about ref_role. No filler or repeated annotation information is included.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, single-parameter listing tool that already has an output schema and read-only/idempotent annotations, this description is complete. It tells the agent what it will get and why, and the workflow guidance removes the likely source of misuse. Nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already fully documents the only parameter, story_id, with an explanation and example. The description does not add new parameter-level semantics beyond saying the panels belong to a story, so a baseline score of 3 is appropriate because the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs and resources: it 'List[s] panels you own for a story', identifies the primary value returned (panel_id), and mentions the story context. It also distinguishes this tool from the sibling mutation tools by framing it as the lookup step before continue_story or regenerate_panel.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit usage rule: use this tool to get panel_id values 'before changing Image 1 or Image 2 on manga.continue_story or manga.regenerate_panel.' This tells the agent both the task and the correct sequencing relative to two sibling tools, so there is no ambiguity about when it should be called.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

manga.list_storiesList own storiesA
Read-onlyIdempotent
Inspect

List stories you own, newest first. Call this when you lost story_id after context compaction so you can resume with manga.continue_story. Optional limit is an integer from 1 to 50 (default 20).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax stories to return. Integer from 1 to 50. Default 20. Omit to use the default.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoMachine error code such as invalid_request, insufficient_credits, or quality_forbidden.
messageNoHuman-readable error. Never includes stack traces or internal paths.
storiesYesOwned active stories, newest updated_at first.
next_stepYesWhat to call next. Follow this instead of guessing.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already cover the safe read-only, idempotent, non-destructive profile, so the description's added 'newest first' ordering and the semantic that it lists owned stories carry useful extra information. It adds behavioral ordering context beyond the annotations without repeating them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, no filler. The core action and ordering are front-loaded, and the when-to-use note is compactly integrated, followed by the parameter guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, has a single optional parameter, rich annotations that establish behavior, and an output schema. The description contains enough context about when and how to call it, including the concrete recovery scenario, for an agent to proceed safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description repeats the same limit details already provided in the schema. The description adds no new meaning beyond the input-schema, which is acceptable for a single, clearly documented optional parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the action and scope precisely: 'List stories you own, newest first.' It also clarifies the resource boundary from related tools by mentioning recovery after losing story_id, so an agent can distinguish it from manga.continue_story and manga.list_panels without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells the agent when to call it: 'Call this when you lost story_id after context compaction so you can resume with manga.continue_story.' This provides clear context and names the continuation tool, though it does not explicitly enumerate when-not-to-use siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

manga.list_stylesList manga stylesA
Read-onlyIdempotent
Inspect

List the 24 canonical Mangii art styles with live style ids. Call this before manga.create_story. Experimental and alias ids are excluded. Filter with group or limit when you only need one look.

ParametersJSON Schema
NameRequiredDescriptionDefault
groupNoOptional style group. Example: shonen_action or painterly_artistic. Omit to return every selectable style.
limitNoOptional max number of styles to return after filtering. Example: 6.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoMachine error code such as invalid_request, insufficient_credits, or quality_forbidden.
stylesYesSelectable styles.
messageNoHuman-readable error. Never includes stack traces or internal paths.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, so an agent knows this is a safe read. The description layers on the valuable addition that ids are 'live' (real-time) and that experimental/alias values are excluded, which affects result interpretation. The '24 canonical' count also sets accurate expectations. These details enrich—but don't fully transform—what annotations already convey, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences deliver purpose, sequencing, exclusions, and filtering options with zero waste. The most critical information (what it lists) is front-loaded, and the sibling-tool reference is efficiently woven in. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with 2 optional, fully-documented parameters, a present output schema, and complete safety annotations, this description covers all bases: what, when-to-call, exclusions, and how to filter. There is no missing information an agent would need to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with thorough type, enum, and description fields on both group and limit parameters. The description's 'Filter with group or limit when you only need one look' does add use-case framing beyond the schema, but the schema already carries the semantic weight. This aligns with the baseline-3 expectation when schema documentation is comprehensive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'List the 24 canonical Mangii art styles with live style ids.' This precisely scopes what the tool returns and is clearly distinct from its content-creation siblings. Mentioning 'Call this before manga.create_story' explicitly distinguishes it from a named sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use guidance: 'Call this before manga.create_story.' It also explains the exclusion of experimental and alias ids, setting expectations for output. It stops short of naming an alternative tool for when this one doesn't apply, but the sequencing mandate and filter hints provide solid directional context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

manga.regenerate_panelRegenerate manga panelAInspect

Redraw or edit one panel. Style stays locked. Same Image 1 / Image 2 ref overrides as manga.continue_story. Get ids from manga.list_panels. Costs the same credits as a new panel.

ParametersJSON Schema
NameRequiredDescriptionDefault
asyncNoOn this MCP server the default is false: wait and return image_url in one call. Set true only if you will poll manga.get_job. HTTP API default remains async.
promptNoOptional rewrite of the scene. Same prompt rules as create. Omit to retry the stored prompt.
qualityNoGeneration quality. standard costs 1 credit, hd 2, ultra 5. Default standard. HD/Ultra need an unlocked API wallet.
panel_idYesPanel id from a previous generate result or manga.list_panels. Example: the panel_id returned by manga.create_story.
story_idYesStory id from manga.create_story. Example: a Firestore story document id returned as story_id.
identity_imageNoReplacement photo: https URL or data:image/...;base64,... URI. Public hosts only. Same slot cannot also send a panel id.
idempotency_keyNoOptional. Reuse the same key on retry so a timeout does not charge twice. 8-200 chars. Omit to mint a one-shot key (unsafe on retry).
reference_imageNoAlias for identity_image. Replaces Image 1 with an uploaded photo or URL.
continuity_imageNoReplacement Image 2 (scene) photo: https URL or data URI. Do not also send continuity_panel_id.
context_panel_idsNoLegacy list override [identity_panel_id, scene_panel_id]. Ignored when identity_* or continuity_* fields are set. Prefer those named slots.
identity_panel_idNoOverride Image 1 (identity) with this panel id from manga.list_panels. Do not also send identity_image.
continuity_panel_idNoOverride Image 2 (scene) with this panel id from manga.list_panels. Do not also send continuity_image.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoMachine error code such as invalid_request, insufficient_credits, or quality_forbidden.
job_idNoAsync job id when async is true or the work is still running.
messageNoHuman-readable error. Never includes stack traces or internal paths.
qualityNoQuality used for this generation.
panel_idNoGenerated or regenerated panel id.
story_idNoCreated or existing story id.
image_urlNoHTTPS URL of the finished panel when async is false and generation succeeded.
next_stepNoWhat the agent should call next. Follow this instead of guessing.
request_idNoRequest correlation id.
credits_chargedNoAPI credits billed for a successful generation.
credits_remainingNoRemaining spendableCredits after the call (apiPack plus packCredits after a purchase).

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, so the agent knows it's a write operation. The description adds behavioral context: 'Style stays locked' and the credit cost, plus the image override semantics via continue_story. It does not explicitly state whether the panel is overwritten or a new version is created, but given the annotations cover mutation, this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler: purpose first, then key constraints (style lock, image refs), then practical guidance (where to get IDs) and cost. Every sentence adds value and the structure is front-loaded with the main action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values are covered. The description provides the critical operational details: style lock, image override behavior, ID source, and cost. It does not mention async behavior or idempotency, but those are in the schema. For a 12-parameter tool with a rich schema, this description is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description does not need to explain parameters. It adds a hint about image overrides (Image 1 / Image 2) which relates to parameters like identity_image and continuity_image, but this is not necessary since the schema already documents all fields with descriptions. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Redraw or edit one panel') with a clear resource, and distinguishes it from sibling tools by mentioning 'Style stays locked' and 'Same Image 1 / Image 2 ref overrides as manga.continue_story', which signals it is for panel-level regeneration rather than story continuation. The verb is clear and not a tautology.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It tells the agent where to get IDs ('Get ids from manga.list_panels') and notes that the image override behavior matches manga.continue_story, giving practical context. It does not explicitly contrast with all siblings, but it implies that for new panels one would use create_story and for continuation continue_story. It also mentions cost, which is useful for deciding when to use it.

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.

  1. 4 tool updates
    • Changedmanga.continue_story1 field changed
      • changedOutput schema / properties / credits_remaining / description
        Previous value: -"Remaining spendableCredits after the call (apiPack plus purchase-backed packs)."New value: +"Remaining spendableCredits after the call (apiPack plus packCredits after a purchase)."
    • Changedmanga.create_story1 field changed
      • changedOutput schema / properties / credits_remaining / description
        Previous value: -"Remaining spendableCredits after the call (apiPack plus purchase-backed packs)."New value: +"Remaining spendableCredits after the call (apiPack plus packCredits after a purchase)."
    • Changedmanga.get_credits2 fields changed
      • changedOutput schema / properties / packCredits / description
        Previous value: -"In-app pack credits. Only the purchase-backed portion is included in spendableCredits."New value: +"In-app pack credits. After a purchase (hasEverPurchasedCredits), the full current balance is included in spendableCredits, including later ad/referral grants. Never-purchased pack balances do not spend."
      • changedOutput schema / properties / spendableCredits / description
        Previous value: -"apiPackCredits plus purchase-backed packCredits. Same number useApiCredit will spend."New value: +"apiPackCredits plus packCredits when the account has ever purchased. Same number useApiCredit will spend."
    • Changedmanga.regenerate_panel1 field changed
      • changedOutput schema / properties / credits_remaining / description
        Previous value: -"Remaining spendableCredits after the call (apiPack plus purchase-backed packs)."New value: +"Remaining spendableCredits after the call (apiPack plus packCredits after a purchase)."
  2. 5 tool updates
    • Changedmanga.continue_story2 fields changed
      • addedInput schema / properties / idempotency_key
        Added value: +{
        +  "description": "Optional. Reuse the same key on retry so a timeout does not charge twice. 8-200 chars. Omit to mint a one-shot key (unsafe on retry).",
        +  "maxLength": 200,
        +  "minLength": 8,
        +  "type": "string"
        +}
      • changedOutput schema / properties / credits_remaining / description
        Previous value: -"Remaining apiPackCredits after the call."New value: +"Remaining spendableCredits after the call (apiPack plus purchase-backed packs)."
    • Changedmanga.create_story2 fields changed
      • addedInput schema / properties / idempotency_key
        Added value: +{
        +  "description": "Optional. Reuse the same key on retry so a timeout does not charge twice. 8-200 chars. Omit to mint a one-shot key (unsafe on retry).",
        +  "maxLength": 200,
        +  "minLength": 8,
        +  "type": "string"
        +}
      • changedOutput schema / properties / credits_remaining / description
        Previous value: -"Remaining apiPackCredits after the call."New value: +"Remaining spendableCredits after the call (apiPack plus purchase-backed packs)."
    • Changedmanga.get_credits2 fields changed
      • changedOutput schema / properties / packCredits / description
        Previous value: -"In-app pack credits. Not spent by API/MCP."New value: +"In-app pack credits. Only the purchase-backed portion is included in spendableCredits."
      • changedOutput schema / properties / spendableCredits / description
        Previous value: -"Same as apiPackCredits."New value: +"apiPackCredits plus purchase-backed packCredits. Same number useApiCredit will spend."
    • Addedmanga.list_stories
    • Changedmanga.regenerate_panel2 fields changed
      • addedInput schema / properties / idempotency_key
        Added value: +{
        +  "description": "Optional. Reuse the same key on retry so a timeout does not charge twice. 8-200 chars. Omit to mint a one-shot key (unsafe on retry).",
        +  "maxLength": 200,
        +  "minLength": 8,
        +  "type": "string"
        +}
      • changedOutput schema / properties / credits_remaining / description
        Previous value: -"Remaining apiPackCredits after the call."New value: +"Remaining spendableCredits after the call (apiPack plus purchase-backed packs)."
  3. 4 tool updates
    • Changedmanga.continue_story6 fields changed
      • changedInput schema / properties / context_panel_ids / description
        Previous value: -"Override default refs. Omit to use first panel as identity and, when the story has 2+ panels, the last panel as scene. Example: [\"identity_panel_id\",\"scene_panel_id\"]."New value: +"Legacy list override [identity_panel_id, scene_panel_id]. Ignored when identity_* or continuity_* fields are set. Prefer those named slots."
      • addedInput schema / properties / continuity_image
        Added value: +{
        +  "description": "Replacement Image 2 (scene) photo: https URL or data URI. Do not also send continuity_panel_id.",
        +  "type": "string"
        +}
      • addedInput schema / properties / continuity_panel_id
        Added value: +{
        +  "description": "Override Image 2 (scene) with this panel id from manga.list_panels. Do not also send continuity_image.",
        +  "type": "string"
        +}
      • addedInput schema / properties / identity_image
        Added value: +{
        +  "description": "Replacement photo: https URL or data:image/...;base64,... URI. Public hosts only. Same slot cannot also send a panel id.",
        +  "type": "string"
        +}
      • addedInput schema / properties / identity_panel_id
        Added value: +{
        +  "description": "Override Image 1 (identity) with this panel id from manga.list_panels. Do not also send identity_image.",
        +  "type": "string"
        +}
      • addedInput schema / properties / reference_image
        Added value: +{
        +  "description": "Alias for identity_image. Replaces Image 1 with an uploaded photo or URL.",
        +  "type": "string"
        +}
    • Changedmanga.create_story2 fields changed
      • addedInput schema / properties / identity_image
        Added value: +{
        +  "description": "Replacement photo: https URL or data:image/...;base64,... URI. Public hosts only. Same slot cannot also send a panel id.",
        +  "type": "string"
        +}
      • addedInput schema / properties / reference_image
        Added value: +{
        +  "description": "Optional first-panel identity photo. https URL or data URI. Alias of identity_image.",
        +  "type": "string"
        +}
    • Addedmanga.list_panels
    • Changedmanga.regenerate_panel7 fields changed
      • addedInput schema / properties / context_panel_ids
        Added value: +{
        +  "description": "Legacy list override [identity_panel_id, scene_panel_id]. Ignored when identity_* or continuity_* fields are set. Prefer those named slots.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / continuity_image
        Added value: +{
        +  "description": "Replacement Image 2 (scene) photo: https URL or data URI. Do not also send continuity_panel_id.",
        +  "type": "string"
        +}
      • addedInput schema / properties / continuity_panel_id
        Added value: +{
        +  "description": "Override Image 2 (scene) with this panel id from manga.list_panels. Do not also send continuity_image.",
        +  "type": "string"
        +}
      • addedInput schema / properties / identity_image
        Added value: +{
        +  "description": "Replacement photo: https URL or data:image/...;base64,... URI. Public hosts only. Same slot cannot also send a panel id.",
        +  "type": "string"
        +}
      • addedInput schema / properties / identity_panel_id
        Added value: +{
        +  "description": "Override Image 1 (identity) with this panel id from manga.list_panels. Do not also send identity_image.",
        +  "type": "string"
        +}
      • changedInput schema / properties / panel_id / description
        Previous value: -"Panel id from a previous generate result. Example: the panel_id returned by manga.create_story."New value: +"Panel id from a previous generate result or manga.list_panels. Example: the panel_id returned by manga.create_story."
      • addedInput schema / properties / reference_image
        Added value: +{
        +  "description": "Alias for identity_image. Replaces Image 1 with an uploaded photo or URL.",
        +  "type": "string"
        +}
  4. 1 tool update
    • Changedmanga.continue_story1 field changed
      • changedInput schema / properties / context_panel_ids / description
        Previous value: -"Optional prior panel ids to use as continuity. Example: [\"panel_abc\"]. Omit to use server defaults."New value: +"Override default refs. Omit to use first panel as identity and, when the story has 2+ panels, the last panel as scene. Example: [\"identity_panel_id\",\"scene_panel_id\"]."
  5. 13 tool updates
    • Removedbuy_credits
    • Removedcontinue_story
    • Removedcreate_manga_story
    • Removedget_credits
    • Removedlist_styles
    • Addedmanga.buy_credits
    • Addedmanga.continue_story
    • Addedmanga.create_story
    • Addedmanga.get_credits
    • Addedmanga.get_job
    • Addedmanga.list_styles
    • Addedmanga.regenerate_panel
    • Removedregenerate_panel
  6. 6 tool updates
    • First observedbuy_credits
    • First observedcontinue_story
    • First observedcreate_manga_story
    • First observedget_credits
    • First observedlist_styles
    • First observedregenerate_panel

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.