Skip to main content
Glama
ckz

volcengine-seedream-img-mcp

by ckz

volcengine-seedream-img-mcp

MCP server for Volcengine Ark Doubao-Seedream image generation and editing.

Tools

Tool

Description

generate_image

Text-to-image or image-to-image (1–14 refs). Returns request_id.

edit_image

Edit/restyle a single image with a prompt (seededit-3.0). Returns request_id.

generate_image_group

Generate a group of related images. Returns request_id.

get_image_result

Poll a previous job by request_id. Returns state + images[].

Related MCP server: Seedream 4.0 MCP Server

Setup (Claude Code)

Add to .mcp.json:

{
  "mcpServers": {
    "seedream": {
      "command": "npx",
      "args": ["-y", "volcengine-seedream-img-mcp"],
      "env": { "ARK_API_KEY": "your_key_here" }
    }
  }
}

Auth

Set ARK_API_KEY environment variable, or pass --api-key <value> as a CLI flag.

Get your key at: https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey

Models

Model ID

Resolution support

doubao-seedream-4-0-250828

1K, 2K, 4K

doubao-seedream-4-5-251128

2K, 4K

doubao-seedream-5-0-260128

2K, 3K

1K resolution is silently upgraded to 2K when using a model that doesn't support it.

edit_image always uses doubao-seededit-3-0-i2i (model not selectable).

Workflow

generate_image / edit_image / generate_image_group
  → { request_id }
  → poll get_image_result until state = "succeeded"
  → images[].url  (download within 24h)

License

MIT

Available Tools

4 tools
edit_imageA

Edit or restyle a single reference image using a text prompt (uses doubao-seededit-3-0-i2i). Output size is adaptive to input image aspect ratio. Returns a request_id to poll with get_image_result.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYesReference image URL or base64.
promptYesEdit instruction.
watermarkNo
response_formatNourl

TDQS

A4.1/5.0
Behavior4/5

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

No annotations, so description bears full burden. Discloses output size adaptation to aspect ratio and polling mechanism via request_id. Names the underlying model. Does not cover auth, rate limits, or error handling, but adds significant context beyond schema.

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, front-loaded with purpose and model, no wasted words. Efficiently conveys core information.

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 4 params, no output schema, no annotations, the description covers purpose, model, adaptive output, and polling workflow. Lacks return format details and error handling, but is complete enough for typical use.

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 coverage is 50%, but description adds no additional meaning beyond what the schema already provides (image URL, prompt, watermark, response_format). Does not elaborate on formats, constraints, or usage tips for parameters.

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?

States specific verb 'edit or restyle' and resource 'single reference image', uses text prompt, and names the model. Distinguishes from siblings (generate_image for generation, get_image_result for polling).

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?

Clearly implies use case for editing existing images vs generating from scratch. Mentions returning request_id for polling, linking to sibling tool get_image_result. Lacks explicit when-not-to-use or alternatives.

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

generate_imageA

Generate a single image from a text prompt (text-to-image), or using 1–14 reference images (image-to-image). Returns a request_id to poll with get_image_result.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageNoReference image URL(s) or base64 for image-to-image. Up to 14 images.
modelNoModel ID. 1K resolution only works with 4-0 (auto-upgraded to 2K for others). 3K only works with 5-0. 4K works with 4-5 and 4-0.doubao-seedream-4-0-250828
promptYesText prompt. Max ~300 Chinese chars / 600 English words.
watermarkNoAdd AI-generated watermark.
resolutionNoOutput resolution. 1K auto-upgrades to 2K if model does not support it.2K
aspect_ratioNoOutput aspect ratio. Default 9:16 (portrait/mobile).9:16
response_formatNourl (24h expiry) or b64_json.url

TDQS

A3.8/5.0
Behavior3/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 burden. It discloses the two modes and asynchronous nature, but does not mention rate limits, costs, or other constraints that could affect agent decisions.

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 two sentences, front-loaded with the core purpose, and each sentence adds value. It could be slightly more structured, but it is efficient and to the point.

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?

Given 7 parameters and no output schema, the description covers the primary use cases and return value (request_id). However, it does not explain the workflow fully (e.g., expected return in addition to id) or mention defaults, leaving some gaps for a complex tool without schema-defined output.

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%, so the baseline is 3. The description summarizes the image parameter's usage (text-to-image vs image-to-image) but adds little meaning beyond what the schema already provides for other parameters.

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 it generates a single image from text or reference images, distinguishing it from siblings like edit_image, generate_image_group, and get_image_result. It also specifies the return (request_id) for polling.

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 provides clear context for when to use the tool (text-to-image or image-to-image with up to 14 reference images) and mentions the polling mechanism. However, it lacks explicit guidance on when not to use it compared to siblings.

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

generate_image_groupB

Generate a group of related images from a prompt and optional reference images. Returns a request_id to poll with get_image_result.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageNoOptional reference image(s). URL preferred. ref_count + max_images must be ≤ 15.
modelNoModel ID. All three models support group generation.doubao-seedream-4-5-251128
promptYesText prompt.
watermarkNo
max_imagesNoMax number of images to generate (not counting reference images).
resolutionNo2K
aspect_ratioNo1:1
response_formatNourl

TDQS

B3.2/5.0
Behavior3/5

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

No annotations exist, so the description carries full burden. It discloses async behavior (polling via request_id) but omits other behavioral traits like error handling, rate limits, or authorization needs. The mutation is not destructive, but transparency is incomplete.

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-loaded with the primary action. However, it could be more information-dense by summarizing key parameter constraints (e.g., max 15 images) without adding length.

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?

Given the complexity (8 parameters, async, sibling tools), the description is incomplete. It lacks guidance on when to use it, does not summarize important constraints from the schema, and only hints at the return value (request_id) without mentioning other output details. No output schema exists, so more description is needed.

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 coverage is 50% (4 of 8 parameters have descriptions in schema). The description adds minimal: it mentions 'prompt' and 'optional reference images', but does not explain model, max_images, resolution, aspect_ratio, or response_format. It fails to compensate for the undocumented parameters.

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 'Generate a group of related images' and specifies the resources 'from a prompt and optional reference images'. It distinguishes from siblings like generate_image (single image) and edit_image, and mentions the async polling mechanism with get_image_result.

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 does not provide explicit guidance on when to use this tool versus alternatives (e.g., generate_image for single images or edit_image for edits). It only implies usage for generating multiple related images, but lacks when-not-to-use or exclusion criteria.

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

get_image_resultA

Poll the result of a previous generate_image, edit_image, or generate_image_group call. Returns state: pending | succeeded | error.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idYesUUID returned by a submit tool.

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so description must carry burden. It discloses return states, but does not mention whether the call is read-only, safe, idempotent, or any rate limits. The safety profile is not explicitly stated.

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, no redundant words. The first sentence states purpose and scope, the second lists return states. Efficient and front-loaded.

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 polling tool with one parameter and no output schema, the description explains purpose and states. However, it omits behavioral details like read-only nature and does not fully describe the response structure beyond state.

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?

Schema coverage is 100% and schema description says 'UUID returned by a submit tool.' The tool description adds value by specifying the exact submit tools (generate_image, edit_image, generate_image_group), making it more precise.

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 it polls results from three sibling tools, includes the verb 'poll', and specifies the resource (image generation result). This distinguishes it from the creation tools.

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?

Explicitly tells when to use: after calling generate_image, edit_image, or generate_image_group. It implies the polling context, but does not provide when-not-to-use or alternative strategies.

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.

  1. 4 tool updatesv0.1.0
    • First observededit_image
    • First observedgenerate_image
    • First observedgenerate_image_group
    • First observedget_image_result

TDQS

A4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct operation: editing a single image, generating a single image, generating a group, and polling results. No overlap in purpose.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case: edit_image, generate_image, generate_image_group, get_image_result.

Tool Count5/5

4 tools is well-scoped for an image generation server, covering core creation, editing, and result polling without unnecessary extra tools.

Completeness4/5

The set covers the main workflow (generate, edit, poll), but is missing optional features like cancellation or listing pending requests, which are minor gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers