Skip to main content
Glama

@dreamlayer/mcp

Image generation and editing tools for MCP-compatible AI clients, backed by the DreamLayer Agent API.

Nothing to clone, nothing to build.

Install

Add it to your client. Claude Code:

claude mcp add dreamlayer --env DREAMLAYER_API_KEY=dlr_live_your_key -- npx -y @dreamlayer/mcp

Codex:

codex mcp add dreamlayer --env DREAMLAYER_API_KEY=dlr_live_your_key -- npx -y @dreamlayer/mcp

Cursor, or any other stdio MCP client:

{
  "mcpServers": {
    "dreamlayer": {
      "command": "npx",
      "args": ["-y", "@dreamlayer/mcp"],
      "env": { "DREAMLAYER_API_KEY": "dlr_live_your_key" }
    }
  }
}

The key must be in the server's own environment. MCP clients spawn this as a subprocess, so a key exported in your shell does not reach it. That is the most common setup failure, and the server exits with an explanation rather than starting up broken.

Get a key at platform.dreamlayer.io. A new account starts at zero credits, and each finished image costs one.

Related MCP server: Gemini Image Gen MCP Server

Tools

Tool

What it does

dreamlayer_capabilities

Read the contract and the operations this key may run. Spends nothing.

dreamlayer_balance

Read this API key's promotional, purchased, and total available credits. Spends nothing.

dreamlayer_upload_image

Upload PNG, JPEG, WebP, or camera RAW (up to 200 MB) and get an input_asset_id.

dreamlayer_generate

Generate or edit. Returns the event stream.

dreamlayer_execution

Read canonical state for one execution.

dreamlayer_events

Resume a stream after a drop, from a last event id.

dreamlayer_cancel

Cancel before dispatch.

Operations

Omit operation and DreamLayer reads the prompt, which may come back asking a clarifying question. Name it and that inference is skipped entirely.

operation

Needs an image

Result

text_to_image

No

A new image from the prompt

image_to_image

Yes

The reference, edited as described

background_remove

Yes

The subject on transparency

upscale

Yes

Twice the width and height

upscale doubles each side and finished images are capped at 4096 per side, so the longest side of your input must be 2048 or less. A larger one is refused before it costs a credit.

Behaviour worth knowing

A question is not a failure. An ambiguous prompt returns a question event ending in needs_input. Answer it by calling dreamlayer_generate again with respond and the conversation_id.

Retries are safe if you reuse the key. An idempotency_key is generated for you. Pass the same one back to retry after an uncertain response and the original result replays rather than paying twice.

Long runs are truncated, not lost. A stream over 256 events returns what it has, marks truncated, and gives you the execution_id and last event id to resume from.

Errors are stable and provider-neutral. Error tool results include code, reason, message, retryable, and request_id, matching REST and the CLI. A model should branch on reason and retryable, never message text. The response excludes prompts, local filenames, asset URLs, provider details, credentials, and raw upstream responses.

Requirements

Node.js 22.12 or later.

License

MIT. See LICENSE and NOTICE.

Available Tools

6 tools
dreamlayer_cancelB

Request cancellation of an execution before it dispatches.

ParametersJSON Schema
NameRequiredDescriptionDefault
execution_idYes

TDQS

B3.3/5.0
Behavior2/5

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

There are no annotations, so the description carries the full behavioral disclosure burden. It only says 'request cancellation' without specifying whether it is best-effort, synchronous, idempotent, or what happens if the execution is already dispatched. It also fails to mention if there are side effects or how success is signaled. This leaves significant behavioral ambiguity for a mutating operation.

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 sentence with zero wasted words. It front-loads the action and the timing constraint, making it immediately scannable. Perfectly concise.

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

Completeness2/5

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

For a cancellation tool with no annotations and no output schema, the description is incomplete. It does not mention whether cancellation is guaranteed, what happens after a successful cancel, whether it can fail, or how to verify the cancellation. An agent would have to guess or call other tools to understand the full lifecycle.

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

Parameters2/5

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

With 0% schema description coverage and only a generic 'execution_id' property, the description adds no extra meaning about the parameter. It does not clarify what kind of identifier it is, its format, or how to obtain it. The parameter name is somewhat self-explanatory, but the description does not compensate for the schema's lack of detail.

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 verb 'cancel' and the resource 'execution', and adds the timing constraint 'before it dispatches'. This distinguishes it from sibling tools like dreamlayer_generate (which creates) and dreamlayer_execution (which likely queries status), 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 phrase 'before it dispatches' implies the tool is only valid for executions not yet dispatched, giving a clear condition for use. However, it does not explicitly state when not to use it (e.g., after dispatch) or point to alternative tools like dreamlayer_execution for checking status. The guidance is implicit but limited.

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

dreamlayer_capabilitiesA

Inspect the DreamLayer Agent API contract and the operations this key may run. Calls no provider and spends nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It explicitly discloses that the tool 'calls no provider and spends nothing,' which is a key behavioral trait for an introspection tool. It does not cover authentication or return format, but for a zero-parameter read-only operation, this level of transparency is adequate.

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 two short sentences with no redundancy. The core purpose is front-loaded, and the behavioral guarantee (no provider call, no cost) is given immediately after, making it easy for an agent to parse: efficiently structured with every word earning its place.

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?

Given the tool's simplicity (no parameters, no output schema), the description covers the essential points: what it inspects and that it has no side effects. It could optionally mention what the returned contract contains (e.g., a list of operations), but this is a minor gap given the tool's low complexity and the absence of an output schema.

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?

The tool has zero parameters and the schema coverage is 100%, so the description has nothing to explain about parameters. According to the baseline for tools with no parameters, a score of 4 is appropriate; no additional semantic detail is needed.

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 the specific verb 'inspect' and a concrete resource, 'DreamLayer Agent API contract and the operations this key may run,' which clearly differentiates it from sibling tools that perform actions like upload, generate, execute, or cancel. The agent can immediately understand this is an introspective, read-only tool.

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 this tool is a safe preflight check by stating 'Calls no provider and spends nothing,' but it does not explicitly state when to use it versus the sibling tools. There is no mention of specific scenarios (e.g., 'use before other calls to discover allowed operations') or any exclusions, leaving usage context somewhat implicit.

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

dreamlayer_eventsC

Resume an execution's events after a drop. Pass the last event id you actually processed.

ParametersJSON Schema
NameRequiredDescriptionDefault
execution_idYes
last_event_idNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral burden. It only says 'resume' without disclosing whether the operation is read-only, what side effects exist, how it handles missing event IDs, or the format of the response. The absence of any annotation coverage makes this a significant gap.

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

Conciseness4/5

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

The description is concise (two sentences) and front-loads the purpose. The instruction to pass the last event ID is stated early. However, the ambiguity around optionality slightly reduces structure clarity, though it remains efficient overall.

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

Completeness2/5

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

With no output schema and no annotations, the description is too sparse. It does not specify what events are, how they are returned, pagination or limits, or error behavior. An agent cannot reliably call this tool without more context about the expected response and failure modes.

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

Parameters2/5

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

The description explains the purpose of 'last_event_id' but does not explain 'execution_id'. More critically, it implies 'last_event_id' should be passed, yet the schema marks it as optional. This inconsistency confuses the agent about parameter requirements. Since schema coverage is 0%, the description should have clarified both parameters and their optionality.

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

Purpose4/5

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

The description states a clear action ('Resume an execution's events') and the resource (execution's events). However, 'drop' and 'events' are not defined, and sibling tools like dreamlayer_execution and dreamlayer_cancel could overlap in purpose. It is specific enough to convey the core function but lacks explicit differentiation.

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

Usage Guidelines2/5

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

The description gives a trigger condition ('after a drop') but does not mention any alternatives or when not to use this tool. It does not reference sibling tools like dreamlayer_execution or dreamlayer_cancel for comparison, leaving the agent to infer the appropriate usage context.

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

dreamlayer_executionA

Read canonical state for one execution. Use this after any uncertain response.

ParametersJSON Schema
NameRequiredDescriptionDefault
execution_idYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description must convey behavioral traits itself. It states it 'reads' state, implying a non-mutating operation, which is the key trait. It also introduces 'canonical state,' which adds context on the nature of the data. However, it doesn't disclose additional details like error handling or side effects, which is acceptable given the tool's simplicity.

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 two sentences with no fluff. The primary purpose is front-loaded first, followed by the usage instruction. Every word earns its place, demonstrating excellent conciseness.

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

Completeness3/5

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

For a tool with a single, self-explanatory parameter and no output schema, the description covers the when and what. However, it does not describe the return value or the nature of 'canonical state,' leaving some ambiguity for an agent deciding whether the response will answer its uncertainty. While not essential, this gap prevents a higher score.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for the lack of parameter documentation. The only parameter, execution_id, is not mentioned or elaborated in the description; it only appears implicitly as the target of the read. This fails to add meaning beyond the field name and basic schema constraints.

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 action 'Read canonical state for one execution' – a specific verb and resource. It distinguishes itself from siblings like dreamlayer_generate or dreamlayer_upload_image by focusing on reading state rather than actions.

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 provides a clear trigger condition: 'Use this after any uncertain response.' This tells the agent exactly when to call it. However, it doesn't explicitly mention alternatives or when not to use, but the context is sufficient for a simple tool.

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

dreamlayer_generateA

Generate or edit an image and return the resulting event stream. May end asking the user a question instead of producing an image; that is not a failure. Costs one credit per finished image.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptNo
respondNoAnswer a previous question. Requires conversation_id.
operationNoName it to run deterministically and skip interpretation, so the request cannot come back as a question. Omit it to let DreamLayer read the prompt.
aspect_ratioNoOne of 1:1, 16:9, 9:16, 4:3, 3:4.
input_asset_idNoFrom dreamlayer_upload_image. Required for every operation except text_to_image.
conversation_idNo
idempotency_keyNoOptional. Generated automatically. Supply the SAME one to retry safely.

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does a solid job: it discloses that it returns an event stream, may end with a question (and that's not a failure), and costs one credit per finished image. It also mentions that setting 'operation' makes execution deterministic. These are meaningful behavioral traits beyond the schema. It doesn't cover every side effect (e.g., whether edits overwrite assets), but it covers the most important and unusual behaviors.

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 zero waste. The main purpose is front-loaded, and the caveats (question behavior, cost) are placed immediately after. It is concise and to the point, with no redundant phrasing.

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?

Given the tool's complexity (7 params, multiple operations, no output schema) and the existence of sibling tools for execution and events, the description covers the essential behavioral context (event stream, question possibility, cost) but omits explicit routing to those siblings. The schema covers parameter details, so the description doesn't need to repeat them. It feels complete enough for an agent to know what to expect, though it could benefit from a pointer to dreamlayer_events for consuming the stream.

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 71%, so most parameters have descriptions. The description adds value by explaining that 'operation' can be set to run deterministically and skip interpretation, which is not obvious from the schema alone. However, it doesn't compensate for the two undocumented parameters (prompt, conversation_id), and it doesn't elaborate on how they interact with the question flow. The added value is moderate, so a 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 ('Generate or edit an image') and a concrete outcome ('return the resulting event stream'). It also adds an unusual behavior (may ask a question) that distinguishes it from typical generation tools. It clearly differentiates from siblings like upload or events by focusing on the generation/editing role.

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 (generate or edit images) but does not explicitly mention alternatives or exclusions. It doesn't reference sibling tools (e.g., dreamlayer_upload_image for uploading, dreamlayer_events for reading events) or provide conditions for when to choose this tool over others. The 'may ask a question' note hints at a workflow but lacks explicit guidance.

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

dreamlayer_upload_imageA

Upload one local image for use as a reference. Returns an input_asset_id to pass to dreamlayer_generate.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path to a PNG, JPEG, WEBP, or camera RAW.

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses the core behavior: it uploads a local image and returns an input_asset_id for later use. However, it does not mention potential constraints (e.g., file size limits, asynchronous behavior, or what happens on invalid paths), which are not trivial for a file upload operation. The description covers the essential contract but lacks depth.

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 two concise sentences, front-loaded with the purpose and immediately followed by the critical return-value note. There is zero redundancy or filler; every word 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 single-parameter tool with no output schema, the description is fully complete. It explains what the tool does, what input it expects (implicitly through the path), and what result the agent will get and how to use it. There are no missing details an agent would need to call the tool correctly in the intended workflow.

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 parameter 'path' is already well-described in the schema ('Absolute path to a PNG, JPEG, WEBP, or camera RAW'). The description adds negligible extra meaning beyond confirming the file is local and its role as a reference. Per the baseline for high schema coverage, a score of 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 clear verb ('Upload'), specific resource ('one local image'), and its purpose ('for use as a reference'). It also mentions the return value and how it is consumed by a specific sibling (dreamlayer_generate), which makes its role in the workflow unambiguous. No sibling tool has a similar purpose, so differentiation is inherent.

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 ties usage to subsequent generation by stating the returned ID is 'to pass to dreamlayer_generate'. This implies when to use the tool (before generation) and the intended flow. It does not explicitly state alternatives or exclusions, but no alternative upload tool exists among the siblings, so the guidance is sufficient.

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. Dates show when Glama detected each change.

  1. 6 tool updatesv0.2.0
    • First observeddreamlayer_cancel
    • First observeddreamlayer_capabilities
    • First observeddreamlayer_events
    • First observeddreamlayer_execution
    • First observeddreamlayer_generate
    • First observeddreamlayer_upload_image

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct phase in the image generation workflow: capabilities, upload, generate, execution status, event resumption, and cancellation. No two tools overlap in purpose, so an agent can reliably select the correct one.

Naming Consistency4/5

All tools share the 'dreamlayer_' prefix, but the action words mix verbs (upload, generate, cancel) and nouns (capabilities, execution, events). The pattern is still predictable and readable, with only minor stylistic inconsistency.

Tool Count5/5

With 6 tools, the surface is well-scoped for an image generation API. Each tool serves a necessary function, and the count feels neither sparse nor bloated.

Completeness5/5

The set covers the full lifecycle: capability introspection, asset upload, generation, status retrieval, event continuation, and cancellation. No obvious gaps exist for the domain, and all actions lead to resolvable outcomes.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Enables image generation and multi-turn editing sessions using the Gemini API within MCP-compatible environments. Users can create, modify, and configure images through natural language commands, supporting features like aspect ratio adjustments and session-based image transformations.
    5
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI image and video generation using Dreamshot's API, supporting tools like image editing, video creation, and enhancement directly from MCP-compatible clients.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TheDesignFounder/dreamlayer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server