Fantasy Map Generator - Abracadabrax
Server Details
Maps of imaginary worlds, continents, kingdoms, cities and dungeons for tabletop campaigns, novels and games, with the place names you choose.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
get_media_job and render_media_widget overlap significantly: both return job status, both can mark a stale job failed and refund credits, and both operate on the linked account's job records. The naming also mixes a fantasy-specific 'prepare_fantasy_map' into an otherwise generic 'media' toolset, and render_media_widget references a 'prepare_media_project' tool that does not exist, muddying which prepare tool to use.
Four tools follow a clean verb_noun pattern centered on 'media' (generate_media, get_media_job, render_media_widget, update_media_project). prepare_fantasy_map is the lone deviation, using a fantasy-specific noun rather than 'media', which is a minor but noticeable break in the pattern.
Five tools is a sensible, well-scoped set for a prepare-update-generate-poll media workflow. However, the set is incomplete relative to its own references, which slightly undercuts the count's appropriateness.
render_media_widget explicitly requires a project_id from 'prepare_media_project', but no such tool exists in the surface—only prepare_fantasy_map. This is a broken reference that will cause agent failures for any non-fantasy-map workflow, and there is no list/delete operation for projects or jobs.
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_fantasy_mapPrepare Fantasy MapAInspect
Prepare a map of an imaginary place with Abracadabrax for a tabletop campaign, a novel or a game: a world, continent, kingdom, island, city or dungeon, with the place names you list labeled on the map, in a parchment, ink or full-color style. 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 | Map style, e.g. hand-drawn on aged parchment, black ink old-world, full-color atlas, isometric. | |
| format | No | landscape 16:9 (default), square 1:1 or portrait 3:4. | |
| map_type | No | world, continent, kingdom (default), island, city or dungeon. | |
| model_id | No | Optional image model id: nano-banana-pro (default, readable labels), nano-banana-2, gpt-image-2. | |
| geography | Yes | The place and its geography, e.g. a frozen northern kingdom with a mountain range, two rivers and a coastal capital. | |
| place_names | No | Comma-separated names to label on the map, spelled exactly, e.g. Frosthold, Ironpeak, the Silver River. |
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?
Adds context well beyond the annotations: nothing is generated, no credits are spent, no sign-in is needed, and it returns settings plus the credits required. That is real behavioral disclosure for a preparation-only tool whose annotations (readOnlyHint=false, idempotentHint=false) would otherwise leave the agent guessing whether this consumes credits or produces output. It stops short of 5 because the handoff to the actual generation step is only implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then constraints in a logical order (safety, then text-only limitation with a redirect). The single long first sentence and dense semicolon chains make it slightly run-on, but every clause carries usable information.
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 6-parameter tool with an output schema and full annotation coverage, the description covers safety constraints, cost behavior, auth requirements, and an out-of-scope redirect. The remaining gap is the workflow relationship to the sibling generate_media tool for actually producing the map.
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% and every parameter (style, format, map_type, model_id, geography, place_names) is already documented in the schema with defaults and enums. The description's restatement of map types and the 'place names you list' behavior adds no syntax, format, or constraint detail the schema lacks, 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?
Specific verb+resource ('Prepare a map of an imaginary place with Abracadabrax') with the supported map types enumerated (world, continent, kingdom, island, city, dungeon) and the labeled place names called out. An agent can distinguish this from generate_media without opening either 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?
Explicit when-to-use (tabletop campaign, novel, game) and explicit when-not-to-use: no copyrighted characters, franchises, logos, trademarks or real celebrities, and no uploaded/reference images or videos. It names the alternative for the excluded image case ('point the user to the Abracadabrax workspace'), which is exactly the routing guidance the dimension asks for.
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_fantasy_map - First observed
render_media_widget - First observed
update_media_project
Related MCP Servers
- AlicenseNot gradedqualityBmaintenancePerplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.2Apache 2.0
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npmMIT
- 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.164 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.