Unmerge
Server Details
Split a flat image into separate transparent PNG layers. Pay with Unmerge credits.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct role: get_credits checks balance, split_into_layers starts processing, get_layers polls status and retrieves outputs, and unlock_layers handles payment for a needs_credits split. The free-vs-paid distinction between get_layers and unlock_layers is explicit in the descriptions.
All tool names follow a consistent snake_case verb_noun pattern: get_credits, get_layers, split_into_layers, unlock_layers. The verbs accurately reflect the actions and there is no mixing of naming conventions.
Four tools are well-scoped for a focused image-layer-splitting service. Each tool maps to a necessary step in the workflow, with no redundant or filler operations.
The surface covers the full lifecycle: checking credits, initiating a split, polling for layer results, and paying owed credits to unlock outputs. No obvious operation is missing for the stated purpose.
Available Tools
4 toolsget_creditsCredits leftARead-onlyInspect
Credits available on this Unmerge account. One credit is one layer returned.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful domain context — the 1 credit : 1 returned layer exchange rate — but says nothing about whether the response is a bare count, a per-account breakdown, or how the balance is consumed/reset.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no waste: the resource and scope come first, followed by the unit explanation. Every sentence carries information an agent would otherwise have to guess.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param, read-only tool with annotations covering safety, the description is close to sufficient — the credit/layer relationship is the key fact an agent needs. The one gap is the return shape (a numeric balance vs. anything else), which matters slightly more because there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 and there is nothing for the description to compensate for. No parameter claims are made or needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource it reports on — credits available on this Unmerge account — so an agent can tell it apart from the layer-manipulation siblings (get_layers, split_into_layers, unlock_layers). It never states an explicit verb such as 'returns the number of', relying on the title 'Credits left' to supply the read action, which keeps it just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use statement, no prerequisite, and no named alternative. The line 'One credit is one layer returned' only implicitly hints that this should be checked before consuming credits via split_into_layers, leaving the agent to infer the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_layersGet the layers of a splitARead-onlyInspect
Status of a split. When ready, returns every layer with its name, position and a PNG download URL valid for one hour. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | The id returned by split_into_layers. | |
| wait_seconds | No | How long to wait for the result before returning, 0 to 50 seconds. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this read-only and closed-world, so the description focuses on what the agent cannot infer: the asynchronous 'when ready' state, the exact return contents, the one-hour URL expiry, and the fact that the call is free. URL expiry is a genuinely valuable trait not in 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?
Three short sentences, status first, return payload second, cost note last. No repetition of the name or title and nothing that could be cut without losing 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?
With no output schema, the description carries the return-value burden and does so (fields plus URL lifetime). It leaves unstated what a not-ready response looks like and how to poll, which is a small but real gap for an async job-status tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are documented, including that project_id comes from split_into_layers. The description only implies the async-wait semantics through 'When ready' and adds nothing about how wait_seconds interacts with that state, so 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 what the tool returns: split status plus every layer with name, position, and a PNG download URL. That is a concrete verb+resource picture. It does not distinguish itself from siblings like unlock_layers or get_credits, but the primary purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus unlock_layers, nor any mention of the polling pattern (call after split_into_layers, retry if not ready). The word 'Free' hints at a cost model but does not route the agent between alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
split_into_layersSplit an image into layersAInspect
Split a flat image (PNG, JPG or WebP) into named transparent layers, with the hidden parts behind objects filled in. Costs 1 credit per layer returned (at most 17); the account needs at least 5 credits to start. Pass the image as a public https URL or as base64. Waits up to 50 seconds; if it is still processing, call get_layers later.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | No | Optional: what to separate, in plain words, e.g. "the cat, the sofa and the background". Leave empty to let the model decide. | |
| image_url | No | Public https URL of the image. | |
| image_base64 | No | The image as base64, with or without a data: prefix. Use when there is no URL. | |
| wait_seconds | No | How long to wait for the result before returning, 0 to 50 seconds. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, destructiveHint=false and openWorldHint=true. The description goes well beyond them by disclosing the pricing model per returned layer, the 17-layer ceiling, the 5-credit account prerequisite, the 50-second blocking window, and the fallback to get_layers — the exact facts an agent needs before committing credits.
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 with the core action front-loaded and cost, credit prerequisite and wait/fallback following in priority order. A small amount of content (input formats) duplicates the schema rather than earning new ground.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing results, and it does so by naming the return (named transparent layers) and bounding them (at most 17, one credit each). It omits failure semantics — whether credits are still charged on a failed or empty split, and what insufficient credits returns.
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 prompt, image_url, image_base64 and wait_seconds are already fully documented in the schema. The description restates the two input modes (public https URL or base64) but adds no syntax or behavioral nuance beyond what the schema already says; 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 and resource: split a flat image into named transparent layers, with the added detail that hidden parts behind objects get filled in. Formats accepted (PNG, JPG, WebP) are named, and the async sibling get_layers is referenced, so it is separable from its siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete operating conditions: costs 1 credit per layer (max 17), account needs at least 5 credits, image supplied as public https URL or base64, and polling via get_layers if the 50s wait expires. It does not explain when to prefer unlock_layers or get_credits over this call, so the sibling routing is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlock_layersUnlock layersAIdempotentInspect
For a split with status needs_credits: pay the extra credits owed (shown as credits.owed) so the layer files become available. Charges once even if called again.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | The id returned by split_into_layers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and non-destructive/non-readonly, so the safety profile is covered. The description still adds real value beyond them: it discloses that a monetary charge is incurred, that the amount equals credits.owed, and that the charge is only made once – a financial side effect an agent must know before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler; the precondition is front-loaded and the idempotency note trails as a caveat. Every clause carries 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 one-parameter tool with rich annotations, the description covers precondition, cost, and repeat-call behavior – sufficient to call it correctly. Slightly short of 5 because it doesn't say what happens when the project is not in needs_credits status (error vs. no-op).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter and the schema already documents it at full coverage ('The id returned by split_into_layers'), so the description adds nothing parameter-specific. Baseline 3 applies when the schema does the heavy lifting.
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 action (pay the extra credits owed) tied to a specific precondition (split with status needs_credits) and a concrete outcome (layer files become available). This clearly separates it from get_credits, get_layers, and split_into_layers, which neither pay nor gate file access.
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?
The precondition 'For a split with status needs_credits' tells the agent exactly when this tool applies, which is the key routing signal against the sibling tools. It does not state what to do if the status is something else, but the positive condition is unambiguous.
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.
4 tool updates
- First observed
get_credits - First observed
get_layers - First observed
split_into_layers - First observed
unlock_layers
Related MCP Connectors
Split images into editable layers (PSD/PNG), outpaint images, and generate clean vector SVGs.
Un-flatten any flat AI design into editable layers, reproduce it bit-perfect, from your agent.
Generate game sprite sheets and animations from an image, and clean up sprite backgrounds.
Split character art into named layers and export PSDs for Live2D and Spine.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceConverts a single character image into game-ready 2D sprite animations (walk, run, idle, attack, etc.) with transparent frames, sprite sheets, and metadata, usable from AI coding agents.MIT
- AlicenseNot gradedqualityCmaintenanceEnables creating layered 3D reliefs from selected parts of a photo, producing GLB files and a self-contained HTML viewer that tilts with the pointer, with interactive approval of the segmentation before writing files.5 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables high-resolution image canvas processing by slicing images into spatial grid tiles and blending seams for seamless generative upscaling, compatible with Magnific AI / Krea AI workflows.8-
- AlicenseCqualityBmaintenanceEnables AI agents and users to edit images through natural language, performing layered, non-destructive operations like masks, clipping masks, blend modes, filters, generative fill, image-to-image, background removal and upscaling, either locally or via the user's own API keys. Agents can preview rendered results, measure image properties, review their own work and export finished images through 62 tools shared with the editor's UI.6250 PyPI1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.