AI Wallpaper Maker - Abracadabrax
Server Details
Wallpapers sized for phone (9:16), desktop (16:9) or tablet from a theme and a style, with space kept clear for icons and the clock.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
render_media_widget and get_media_job heavily overlap: both surface a saved project/job and both can mark stale jobs failed and refund credits, with render_media_widget only distinguished by being 'for the widget UI'. prepare_wallpaper vs update_media_project also blur (both set generation settings), and generate_media's own text warns it is not for media-to-media, echoing the same scope caveats across three tools.
Most tools follow a verb_noun_media pattern (generate_media, get_media_job, render_media_widget, update_media_project), but prepare_wallpaper breaks it by using 'wallpaper' instead of 'media', and render_media_widget's description references a prepare_media_project tool that does not exist. Readable but with an evident naming mismatch and a dangling reference.
Five tools is a reasonable, well-scoped set for a prepare/generate/poll/update media workflow. It is slightly thin given the overlap between the job-status tools, but nothing feels bloated or excessive.
The lifecycle (prepare -> update -> generate -> poll) is mostly covered, but there is no cancel/delete job tool and no cleanup path, so failed or unwanted jobs can only be left alone. render_media_widget also depends on a project_id from a prepare_media_project tool that is not in the set, creating a potential dead end.
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_wallpaperPrepare WallpaperAInspect
Prepare a wallpaper with Abracadabrax for a phone (9:16), a desktop (16:9), a tablet (4:3) or a square screen, from a theme and a style, composed with space kept clear for the clock and the icons. 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 |
|---|---|---|---|
| style | No | Style, e.g. photorealistic, minimal flat, anime landscape, 3D render, watercolor, dark mode friendly. | |
| theme | Yes | What the wallpaper shows, e.g. a misty mountain lake at sunrise, abstract liquid gradients, a cozy rainy city street at night. | |
| colors | No | Optional color palette, e.g. deep blue and purple, pastel, black and gold. | |
| device | No | phone (default, 9:16), desktop (16:9), tablet (4:3) or square (1:1). | |
| model_id | No | Optional image model id: nano-banana-2 (default), nano-banana-pro, seedream-4-5, flux-2-pro. |
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 readOnlyHint=false and non-idempotent, which convey nothing about cost or side effects; the description fills that gap with 'nothing is generated and no credits are spent' and 'No sign-in is needed to prepare' — exactly the pre-flight facts an agent needs. It stops short of the bar for a 5 because it never explains why a tool annotated as non-read-only is nonetheless side-effect free, leaving a small tension unresolved for a careful agent.
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?
Purpose and return semantics are front-loaded in the first two sentences, and the exclusion rules follow in tight, functional sentences. Slightly redundant in re-listing the device aspect ratios already in the schema, but nothing is padding or unstructured.
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 five-parameter preparation tool with a full output schema, the description covers what remains: no-cost/no-generation semantics, no-auth requirement, content-policy limits, and the correct destination for out-of-scope image work. Nothing an agent needs in order to call this correctly and to route users elsewhere 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%: theme, style, colors, device (with aspect ratios) and model_id are all documented in the schema with examples and the default model. The description's device list and theme/style mentions restate that content rather than adding syntax, constraints or defaults, so the baseline 3 applies.
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 (prepare) and resource (wallpaper), enumerates the output variants (phone 9:16, desktop 16:9, tablet 4:3, square) and the inputs (theme + style), and immediately clarifies the non-obvious outcome: 'Returns the settings and the credits required; nothing is generated and no credits are spent.' That last clause is what separates it from the generate_media sibling without needing to name it.
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-use (from a theme and a style, for a device size), explicit when-not (copyrighted characters, franchises, logos, trademarks, celebrities; uploaded/attached/reference images or videos), and an explicit redirect for the excluded cases ('point the user to the Abracadabrax workspace'). The 'text only' constraint and the originality rule are both actionable routing instructions.
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_wallpaper - 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.