AI Character Generator - Abracadabrax
Server Details
Original characters for fantasy, RPG and tabletop games, video games, stories and mascots: a portrait, a full-body figure or a character sheet with front and side views.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
get_media_job and render_media_widget both return job status and can mark jobs failed/refunding credits, creating boundary confusion. generate_media and update_media_project are distinct (start vs. modify settings), and prepare_character is clearly separate, but the overlap between the two job-related tools is notable.
All names use snake_case with a verb_noun structure, which is consistent. However, the noun component varies (media, media_job, character, media_widget, media_project), and prepare_character deviates from the media_* pattern used by most tools.
Five tools is well-scoped for a focused media generation service; each tool has a distinct action (prepare, generate, check job, render widget, update settings) and no bloat.
Two tools reference a prepare_media_project tool that is absent, leaving render_media_widget and likely generate_media without a way to create the required media project. prepare_character covers only character prep, not general media project setup, and there are no deletion/cancellation operations, causing significant workflow gaps.
Available Tools
5 toolsgenerate_mediaGenerate Image or VideoADestructiveInspect
Start the generation for a prepared project in the user's Abracadabrax account. Call this only after the user explicitly asked to generate, never on your own initiative: it spends the user's credits and sends the generation inputs to the configured model provider. Optional settings overwrite the saved project. Repeating with unchanged settings reuses a running or completed job, but a failed job can start a new paid attempt. Returns the job id and status; poll get_media_job for the output. It needs the user's Abracadabrax account: the client asks the user to sign in when it is missing. Use this only for text-to-image or text-to-video prompts. Do not use it for uploaded, attached or reference images, image editing, background removal, upscaling, virtual try-on, image-to-video or other media-to-media workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| tab | No | ||
| ratio | No | Aspect ratio such as 1:1, 16:9, 9:16, 4:3, 3:4. | |
| prompt | No | ||
| duration | No | Video length in seconds; must be one of the model's supported durations. | |
| model_id | No | Abracadabrax model id, e.g. nano-banana-2, gpt-image-2, flux-2-pro, kling-3-pro, veo-3-1, sora-2. | |
| model_name | No | ||
| project_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| job | No | |
| state | Yes | |
| balance | No | |
| message | Yes | |
| project | Yes | |
| dashboard_url | Yes | |
| credits_required | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it discloses credit spend, that inputs are sent to the configured model provider, that optional settings overwrite the saved project, that repeats reuse running/completed jobs while a failed job starts a new paid attempt, and that sign-in is required for the Abracadabrax account. These are exactly the cost, auth, and side-effect facts an agent needs and cannot get from the schema.
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 dense block, but front-loaded with the critical constraint (never generate on your own initiative) before routing, cost, and return-value details. Each sentence carries distinct information; it is long because the behavioral surface is large rather than padded, though the negative-workflow list could be tightened.
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?
Covers the full decision surface for a 7-parameter, open-world-false mutation: cost, auth, idempotency-like reuse behavior, job-id return and polling path, and explicit exclusion of adjacent workflows. With an output schema present, no further return-value detail is 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?
Schema coverage is only 43%, and the description compensates partially by explaining that the optional settings overwrite the saved project (which frames tab, ratio, duration, model_id as overrides). However, it adds no per-parameter meaning for ratio, duration, or model selection beyond what the schema fragments already say, leaving the coverage gap only partly closed.
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 ("Start the generation for a prepared project") and clearly frames it as the execution step that follows prepare_media_project. The text also delineates what it is not (media-to-media workflows), so an agent can separate it from get_media_job and update_media_project without inspecting schemas.
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?
Explicit when-to-call (only after the user explicitly asked to generate, never on own initiative), the follow-up step (poll get_media_job), and negative routing (not for uploaded/reference images, editing, background removal, upscaling, try-on, image-to-video). Both alternatives and exclusions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_media_jobCheck Generation StatusARead-onlyDestructiveIdempotentInspect
Return the status and saved output URLs of an existing image or video job owned by the linked account. A queued or running job older than ten minutes can be marked failed and its credits refunded once. This changes job and credit records; it never starts a generation.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| job | No | |
| state | Yes | |
| message | Yes | |
| dashboard_url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly discloses a side effect: 'This changes job and credit records' with a one-time failure marking and credit refund for jobs stuck past ten minutes. The annotations declare readOnlyHint=true, which directly contradicts a tool that writes to job and credit records (destructiveHint=true on a read-only tool is likewise incoherent). Per the rubric this is a mutation disclosed against a readOnly annotation.
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 tight sentences, front-loaded with the primary outcome (status + output URLs), followed by exactly the two behavioral facts an agent needs: the ten-minute failure/refund rule and the mutation disclaimer. No padding.
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?
An output schema exists, so return values are covered, and the annotations plus description together cover the safety profile. The remaining gap is the unresolvable readOnly/destructive tension and no statement of what happens when the job_id is unknown or already terminal.
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 job_id parameter has 0% schema description coverage, so the description must carry the burden. It adds a meaningful ownership constraint (the job must belong to the linked account) but gives no format, source, or validity guidance for the identifier.
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 (return the status and saved output URLs of an existing image/video job) plus the scope constraint (owned by the linked account). The closing clause 'it never starts a generation' actively distinguishes it from the sibling generate_media tool.
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?
Context for use is clear — retrieve the state of an already-created job — and the description supplies an exclusion ('never starts a generation') that separates it from generate_media. However, it never names generate_media or explain the expected call pattern (e.g., poll after submitting a job).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_characterPrepare CharacterAInspect
Prepare an original character with Abracadabrax for a fantasy, RPG or tabletop campaign, a video game, a story or a mascot: a portrait, a full-body figure or a character sheet with front, side and back views, in the art style you choose. Returns the settings and the credits required; nothing is generated and no credits are spent. No sign-in is needed to prepare. Original designs only: do not use it for copyrighted characters, existing franchises, brand logos, trademarks or real celebrities; offer the user an original alternative instead. Text only: do not use it for uploaded, attached or reference images or videos (editing, background removal, upscaling, image-to-video); for those, point the user to the Abracadabrax workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| view | No | portrait (default, 3:4), full-body (3:4) or character-sheet (16:9, front, side and back). | |
| world | No | Setting or genre, e.g. high fantasy, cyberpunk, space opera, cozy farming game. | |
| model_id | No | Optional image model id: nano-banana-pro (default), nano-banana-2, gpt-image-2, flux-2-pro. | |
| art_style | No | Art style, e.g. painterly fantasy illustration, anime, cel-shaded game art, realistic concept art, chibi. | |
| character | Yes | Who the character is and how they look, e.g. an elven ranger with a silver bow and a green hooded cloak. |
Output Schema
| Name | Required | Description |
|---|---|---|
| job | No | |
| state | Yes | |
| balance | No | |
| message | Yes | |
| project | Yes | |
| dashboard_url | Yes | |
| credits_required | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds important behavioral context beyond the annotations: it returns settings and required credits, generates nothing, spends no credits, and requires no sign-in. These details are operationally significant and do not contradict the annotations; readOnlyHint=false is not contradicted by the claim that no media generation occurs or credits are spent.
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?
The description is front-loaded with the core action and outputs, then moves through operational guarantees and exclusions. Despite being longer than a minimal description, every sentence carries useful selection or usage information with 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?
Given the tool's constraints, the description covers what the tool does, what it returns, what it does not do, and when to avoid it. With an output schema and complete parameter schema already present, no essential invocation context 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 100%, so the schema already documents all five parameters thoroughly. The description reinforces the view options and art-style choice but does not add substantial semantic detail beyond the input schema, so it meets the baseline for high schema coverage.
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?
The description states a specific verb and resource: prepare an original character with Abracadabrax, and it names concrete outputs such as portrait, full-body figure, or character sheet. It also distinguishes this from generation by saying nothing is generated and no credits are spent, which helps separate it from sibling tools like generate_media.
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?
It gives explicit when-to-use scenarios: fantasy, RPG or tabletop campaigns, video games, stories, or mascots. It also states clear exclusions for copyrighted characters, franchises, logos, trademarks, celebrities, and uploaded or reference images/videos, with an alternative direction to the Abracadabrax workspace.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_media_widgetShow Image or Video ProjectADestructiveIdempotentInspect
Show a saved Abracadabrax image or video project and its existing job. A queued or running job older than ten minutes can be marked failed and its credits refunded once. This changes job and credit records; it never starts a generation. Requires a project_id returned by prepare_media_project.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| job | No | |
| state | Yes | |
| balance | No | |
| message | Yes | |
| project | Yes | |
| dashboard_url | Yes | |
| credits_required | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (destructiveHint=true, idempotentHint=true, readOnlyHint=false), the description discloses exactly what is mutated (job and credit records), the narrow condition under which the destructive action triggers (queued/running job older than ten minutes), and that the refund happens only once. This is precisely the extra context annotations cannot carry.
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?
Four short sentences, front-loaded with the primary action, followed by the conditional mutation, the non-behavior, and the prerequisite. No filler or repetition; every sentence adds a distinct fact.
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?
An output schema exists, so return values need not be explained. Given the tool's mutation semantics, the description covers what is required to call it safely and correctly: input source, mutation scope, the conditional destructive path, and the guarantee that no generation is started.
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 coverage is 0% with one required parameter, so the description must compensate. It does by specifying the project_id's provenance ('returned by prepare_media_project'), which is meaningful information absent from the bare 'type: string' schema.
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?
The description states a concrete verb+resource: showing a saved Abracadabrax image or video project together with its existing job, plus the side effect of failing a stale job and refunding credits. It is clear, but it does not distinguish itself from sibling tools like get_media_job or update_media_project, which could plausibly cover similar ground.
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?
It supplies a real precondition (project_id must come from prepare_media_project) and an exclusion (it never starts a generation, implicitly routing generation to generate_media). It stops short of explicitly naming get_media_job or update_media_project as alternatives, so the selection logic is not fully closed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_media_projectUpdate Image or Video SettingsADestructiveIdempotentInspect
Overwrite the saved widget settings (prompt, model, aspect ratio, duration) to a prepared project before generating. Changing generation settings detaches the prior job from this project without deleting that job or its media. Intended for the widget UI; no credits are spent. Use this only for text-to-image or text-to-video prompts. Do not use it for uploaded, attached or reference images, image editing, background removal, upscaling, virtual try-on, image-to-video or other media-to-media workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| tab | No | ||
| ratio | No | Aspect ratio such as 1:1, 16:9, 9:16, 4:3, 3:4. | |
| prompt | No | ||
| duration | No | Video length in seconds; must be one of the model's supported durations. | |
| model_id | No | Abracadabrax model id, e.g. nano-banana-2, gpt-image-2, flux-2-pro, kling-3-pro, veo-3-1, sora-2. | |
| model_name | No | ||
| project_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| job | No | |
| state | Yes | |
| balance | No | |
| message | Yes | |
| project | Yes | |
| dashboard_url | Yes | |
| credits_required | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and idempotentHint=true, and the description adds exactly the right context beyond them: the prior job is detached from the project rather than deleted, its media survives, and no credits are spent on the update. It also states the overwrite semantics, consistent with the idempotent hint instead of contradicting it.
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?
Opens with the core action and effect, then the scope constraints. No sentence is redundant; even the long exclusion list is load-bearing because it prevents the agent from routing editing/media-to-media work here.
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 7-parameter mutation tool with an output schema and full annotation coverage, the description supplies the necessary usage envelope, destruction semantics and cost note. The residual gap is parameter-level detail (tab, model_name, project_id), which is minor given the structured fields available.
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 only 43%, so the description must compensate; it names prompt, model, aspect ratio and duration but adds no syntax or constraints beyond the schema (duration's model-specific allowed values, ratio format, and the tab/model_id vs model_name distinction are untouched). Partial compensation for the coverage gap, so a baseline 3.
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 ('Overwrite the saved widget settings') plus which fields are affected, and positions the tool in the workflow ('to a prepared project before generating'), which cleanly separates it from prepare_media_project and generate_media. An agent can identify what this does 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?
Explicitly names the supported case (text-to-image / text-to-video prompts) and enumerates a long list of excluded workflows (uploaded/attached/reference images, editing, background removal, upscaling, try-on, image-to-video, media-to-media). This is textbook when/when-not guidance with nothing left to inference.
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
generate_media - First observed
get_media_job - First observed
prepare_character - First observed
render_media_widget - First observed
update_media_project
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs115 npm55 PyPIMIT
- 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.1618 npm1MIT

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.