RunningHub Image Gen MCP Plugin
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@RunningHub Image Gen MCP PluginGenerate an image of a futuristic city at sunset"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
# RunningHub Image Gen MCP Plugin
A Codex MCP plugin for generating images via RunningHub's seedream-v5-lite model.
Prerequisites
Python >= 3.11
uv package manager
A RunningHub API key (set as
RUNNINGHUB_API_KEY)
Related MCP server: seedream-mcp
Install
cd work/runninghub-image-gen
uv syncUsage
Environment variable
export RUNNINGHUB_API_KEY=your-api-key-hereTools
Tool | Description |
| Submit a text-to-image task, returns taskId |
| Poll task status/results by taskId |
| Submit + poll until complete |
Available parameters
prompt(required) — Text description of the imagewidth/height— Image dimensions in pixelsmax_images— Number of images to generatesequential_image_generation— "enabled" or "disabled"tools_type— e.g. "web_search"
Running standalone
RUNNINGHUB_API_KEY=your-key uv run runninghub-image-genAPI
Submit:
POST /openapi/v2/seedream-v5-lite/text-to-imageQuery:
POST /openapi/v2/query
Available Tools
3 toolsquery_taskA
Query the status and results of a previously submitted task. Use the taskId returned by text_to_image. Status values: QUEUED (waiting), RUNNING (processing), SUCCESS (completed, results available), FAILED (error occurred). When SUCCESS, results contains image URLs in the 'url' field.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Task ID returned by text_to_image |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains status values (QUEUED, RUNNING, SUCCESS, FAILED) and what to expect on SUCCESS (image URLs in 'url' field). It does not mention rate limits or auth, but for a read-only query tool, this is sufficient. Could be more detailed about error responses but adequate.
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?
The description is three sentences, no wasted words. It front-loads the purpose, then adds status details and result structure. Every sentence adds value; perfect conciseness for a simple query tool.
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?
Given the tool has an output schema, the description explains status and result fields adequately. It mentions the source of taskId and status transitions. For a polling/query tool with one parameter and clear output, the description covers all needed context. No gaps.
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 the schema already describes task_id as 'Task ID returned by text_to_image'. The description repeats this, adding no new semantics. Baseline 3 is appropriate since the description does not significantly enhance parameter understanding beyond the 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?
Description clearly states the tool's purpose: 'Query the status and results of a previously submitted task.' It specifies the resource (task) and action (query). It distinguishes from sibling tools (text_to_image, run_text_to_image) by noting the taskId comes from text_to_image, making differentiation explicit.
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?
Description provides clear usage context: use after submitting a task, with taskId from text_to_image. It lists status values and behavior. However, it does not explicitly state when not to use or mention alternative tools, but the sibling differentiation is implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_text_to_imageA
Submit a text-to-image task and poll until completion. Combines text_to_image + query_task polling into one call. Returns immediately with image URLs when SUCCESS, or status details if FAILED or TIMEOUT. Default timeout is 10 minutes.
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | Image width in pixels (e.g. 1024, 2048) | |
| height | No | Image height in pixels (e.g. 1024, 2048) | |
| prompt | Yes | Text prompt describing the image to generate | |
| timeout | No | Maximum wait time in seconds before timing out | |
| max_images | No | Maximum number of images to generate (e.g. 1, 4) | |
| tools_type | No | Tools type, e.g. 'web_search' | |
| poll_interval | No | Polling interval in seconds between status checks | |
| sequential_image_generation | No | Enable sequential generation: 'enabled' or 'disabled' |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility. It discloses that the tool polls until completion, returns immediately on success or failure/timeout, and specifies a default timeout of 10 minutes. It does not cover concurrency or rate limits, but the behavioral traits of polling and return conditions are well explained.
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?
The description is two concise sentences with no wasted words. It front-loads the core purpose and then adds behavioral details efficiently.
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?
Given the presence of an output schema and full schema coverage, the description adequately explains the tool's behavior (submit, poll, return). It does not detail every parameter, but the schema covers them. The description is complete for a wrapper tool with good structured documentation.
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%, so baseline is 3. The description adds no extra parameter information beyond what the schema provides, only referencing the default timeout. This meets the baseline but does not exceed it.
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 clearly states the tool's function: 'Submit a text-to-image task and poll until completion.' It also distinguishes itself from siblings by noting it 'Combines text_to_image + query_task polling into one call.' This provides a specific verb-resource pair and differentiates from related tools.
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 description implies usage: use when you want a combined submit-and-poll call. It does not explicitly state when not to use, but the mention of combining two sibling tools gives context for when this is appropriate over individual calls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
text_to_imageA
Submit a text-to-image generation task to RunningHub (seedream-v5-lite). Returns a taskId that can be used with query_task to get results. Images are submitted asynchronously; use query_task to poll for completion.
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | Image width in pixels (e.g. 1024, 2048) | |
| height | No | Image height in pixels (e.g. 1024, 2048) | |
| prompt | Yes | Text prompt describing the image to generate | |
| max_images | No | Maximum number of images to generate (e.g. 1, 4) | |
| tools_type | No | Tools type, e.g. 'web_search' | |
| sequential_image_generation | No | Enable sequential generation: 'enabled' or 'disabled' |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description discloses key behavioral trait: async execution and need for polling. Does not mention rate limits or permissions, but the primary behavior is clearly stated.
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 sentences, each packed with essential info. First sentence defines action and model; second explains async flow. No redundancy or filler.
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 async submission pattern, mention of taskId, and polling. Output schema exists, so return values are covered. All essential aspects are addressed given tool complexity.
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%, so description doesn't need to add much. Description reinforces prompt as main input and mentions optional size parameters, but adds no new semantics beyond 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?
Description clearly states action ('Submit'), resource ('text-to-image generation task'), and model ('seedream-v5-lite'). Distinguishes from siblings query_task and run_text_to_image by indicating it returns a taskId for async polling.
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 notes async submission and directs to use query_task for results. Provides clear context for when to use this tool, though lacks explicit when-not-to-use scenarios.
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.
3 tool updates
v0.1.0- First observed
query_task - First observed
run_text_to_image - First observed
text_to_image
TDQS
Scored across 3 tools
The tools have clear descriptions but overlap: text_to_image and run_text_to_image both submit tasks, with run_text_to_image combining submission and polling. An agent might be uncertain which to use, though the descriptions help distinguish asynchronous vs synchronous workflows.
Naming is mixed: 'query_task' and 'run_text_to_image' follow a verb_noun pattern, but 'text_to_image' lacks a verb and reads as a noun phrase. The patterns are inconsistent, reducing predictability.
Three tools is minimal but reasonable for a focused plugin covering async submission, polling, and a combined sync call. It is slightly under the typical range but not problematic.
Covers the core workflow of submitting and retrieving image generation tasks, but lacks obvious operations like canceling tasks or listing all tasks. This leaves notable gaps for a full lifecycle.
Maintenance
Related MCP Connectors
Create images and videos from prompts, with options for image mixing, reference images, and start/…
LLM chat, text tools, image generation, editing, batch image jobs, and asynchronous video generation
Generate AI images and videos from any compatible MCP client.
Run multi-step AI pipelines for video, image, audio and text: upload media, run, poll results.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables AI-powered image and video generation through the TensorsLab API using models like SeeDream and SeeDance. It supports tasks such as creating high-resolution media from text prompts, image-to-video conversion, and monitoring generation status.9-
- AlicenseBqualityAmaintenanceEnables creating, polling, and checking pricing for Seedream image generation tasks (edit and text-to-image) through a single RunAPI API key.636 npmApache 2.0
- AlicenseBqualityAmaintenanceEnables creating and managing GPT Image tasks (edit and text-to-image) via RunAPI, with options to poll status and check pricing.594 npmApache 2.0
- AlicenseBqualityAmaintenanceEnables AI image and video generation tasks (text-to-image, image-to-video, edit, upscale, etc.) via RunAPI, with support for polling and pricing lookups.10239 npmApache 2.0