gwanggo-mcp
This server provides AI image and video generation capabilities via the Gwanggo API, supporting 35+ models (Seedream, Sora, Veo, Kling, GPT Image, and more) through a single API key.
list_models: Browse 35+ image and video generation models, optionally filtering by type, with credit costs and per-model options (aspect ratios, resolutions, durations).generate_image: Create images from text prompts or edit existing images using a reference URL; supports model selection, quality tiers, and aspect ratio settings.generate_video: Create videos from text prompts or reference images; supports model selection, duration, resolution, aspect ratio, and optional audio track generation; waits up to 10 minutes for completion.get_task: Retrieve the status and result of a previously submitted image/video generation job by its ID.get_credits: View the connected Gwanggo account email and remaining credit balance.
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., "@gwanggo-mcpgenerate an image of a sunset over mountains"
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.
gwanggo-mcp
Give your AI agent the power to generate images & video.
MCP server + CLI for the Gwanggo API — Seedream, Sora, Veo, Kling, GPT Image and 30+ more models behind one key.
Works with Claude Code · Claude Desktop · Cursor · Codex — anything that speaks MCP.
You: "우리 신제품 세럼 광고 이미지 만들어줘, 화장품 무드로"
Agent: [calls generate_image with seedream-5] → https://…/result.pngSetup (2 minutes)
1. Connect your account (opens a browser approval — no password pasting):
npx gwanggo-mcp login
# or, after install:
gwanggo auth loginNew accounts get free credits: sign up at gwanggo.ai. You can also skip
loginand setGWANGGO_API_KEY(create one at Dashboard → API keys).
2. Add to your agent:
Claude Code
claude mcp add gwanggo -- npx -y gwanggo-mcpClaude Desktop / Cursor (claude_desktop_config.json / .cursor/mcp.json)
{
"mcpServers": {
"gwanggo": {
"command": "npx",
"args": ["-y", "gwanggo-mcp"]
}
}
}Codex CLI (~/.codex/config.toml)
[mcp_servers.gwanggo]
command = "npx"
args = ["-y", "gwanggo-mcp"]To pass the key explicitly instead of login, add "env": { "GWANGGO_API_KEY": "gwk_..." }.
Related MCP server: vicsee-mcp-server
Tools
Tool | What it does |
| 35+ image/video models with credit costs and per-model options |
| Text→image / image edit. Waits for completion, returns the URL |
| Text→video / image→video (Seedance 2.0, Kling 3.0, Veo 3.1, Sora 2 …) |
| Check a previous generation by id |
| Remaining credit balance |
Failed generations are auto-refunded server-side.
CLI usage
The same binary doubles as a CLI:
gwanggo auth login
gwanggo models
gwanggo generate image "neon alley cat, cinematic" --model gpt-image-2 --quality high
gwanggo generate video "waves crashing at dawn" --model seedance-2.0 --resolution 720p --duration 5 --generate-audio
gwanggo me # account and credits
gwanggo task <id> # check statusThe gwanggo commands reuse the account saved by gwanggo auth login; no API-key
environment variable is required. GWANGGO_API_KEY remains available for CI and
other non-interactive environments.
How it works
Thin client over the public Gwanggo /v1 REST API — the same API that powers the open-source Gwanggo Studio. Your key is stored at ~/.config/gwanggo/config.json (0600) and sent only as a Bearer token. A browser-login key takes precedence over GWANGGO_API_KEY, so a stale environment key cannot override a newly approved login. In CI, where no login file exists, GWANGGO_API_KEY is used.
License
Available Tools
5 toolsgenerate_imageA
Generate an image with a Gwanggo model. Spends credits. Waits for completion and returns the image URL. Use list_models first to choose a model slug and see its options.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Model slug, e.g. "seedream-5", "gpt-image-2" | |
| prompt | Yes | What to generate | |
| quality | No | Model-dependent quality tier, e.g. "basic" | "high" | |
| image_url | No | Reference image URL for edit/i2i models | |
| aspect_ratio | No | e.g. "1:1", "16:9", "9:16" (model-dependent) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it spends credits, waits for completion, and returns an image URL. No annotations provided, but description effectively communicates the synchronous mutation nature and cost.
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 concise, front-loaded sentences with no waste. First sentence states primary action, second adds behavioral notes, third provides prerequisite guidance.
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?
Explains overall behavior and prerequisite, but lacks discussion of error handling, timeouts, or output details beyond URL. With no output schema and moderate complexity, some gaps remain.
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% with descriptions for all 5 parameters. Description adds value by linking model parameter to list_models and noting model-dependent options for quality and aspect_ratio.
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?
Clearly states it generates an image using a Gwanggo model, spends credits, waits for completion, and returns the URL. Distinguishes from siblings like generate_video and list_models.
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 instructs to use list_models first to choose a model slug and see options, providing clear prerequisite context. No explicit when-not or alternatives, but guidance is actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_videoA
Generate a video with a Gwanggo model. Spends credits (often per-second — check list_models). Waits up to 10 minutes and returns the video URL.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Model slug, e.g. "seedance-2.0", "kling-3", "veo-3.1" | |
| prompt | Yes | Scene/motion description | |
| duration | No | Seconds (model-dependent, e.g. 5 or 10) | |
| image_url | No | Reference image URL for image-to-video | |
| resolution | No | e.g. "480p", "720p", "1080p" (model-dependent) | |
| aspect_ratio | No | e.g. "16:9", "9:16" (model-dependent) | |
| generate_audio | No | Generate audio track (model-dependent) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description effectively discloses key behaviors: credit cost (per-second, check list_models), wait time up to 10 minutes, and return of a video URL. This goes beyond a simple definition.
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, no wasted words. The first sentence states the purpose, the second adds critical behavioral details. Highly efficient.
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 7 parameters and no output schema, the description covers core behaviors (cost, wait, return value). Minor gaps: no mention of error handling or async fallback, but overall sufficient for a generation 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% with clear parameter descriptions. The description adds no extra meaning to parameters, so baseline score of 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?
The description clearly states the action ('generate a video'), the resource ('with a Gwanggo model'), and distinguishes from siblings like generate_image or get_credits by the generation context.
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 for video generation but does not provide explicit guidance on when to use this tool over alternatives (e.g., generate_image) or mention prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creditsA
Get the connected Gwanggo account email and remaining credit balance.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 clearly states it retrieves email and credit balance, which implies a read-only operation. However, it does not explicitly state that no side effects occur or mention any authentication requirements, but for a simple get operation, the transparency is sufficient.
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 a single sentence with no wasted words. It is front-loaded and efficiently conveys the tool's purpose.
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?
The tool has no output schema, so the description must explain return values. It mentions 'email and remaining credit balance,' which is adequate but could be more specific (e.g., data types, format). Given the simplicity, it meets the minimum viable standard.
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 are no parameters, and schema coverage is 100% (trivially). The description does not need to add parameter details. Baseline for zero parameters is 4.
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 retrieves the connected Gwanggo account email and remaining credit balance. This is a specific verb ('Get') and resource ('connected Gwanggo account email and remaining credit balance'), and it distinguishes from sibling tools which are about generation, tasks, and models.
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 for checking account info and credits before generating, but does not explicitly state when to use this tool versus alternatives. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_taskA
Check the status/result of a previous generation by its id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Generation id returned by generate_image/generate_video |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states 'check' (read operation) but doesn't disclose idempotency, non-destructiveness, or potential errors. Minimal transparency beyond basic purpose.
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?
Single sentence, front-loaded with key information, no redundant words. Highly efficient and easy to parse.
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?
No output schema, so description should compensate. It mentions 'status/result' but doesn't detail return value structure or possible statuses. Adequate but not complete for a check tool with 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?
Schema coverage is 100%, and schema already describes the 'id' parameter clearly. Description adds no additional meaning beyond what schema provides, so baseline score of 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?
Description clearly states verb 'check', resource 'status/result of previous generation', and method 'by its id'. It effectively distinguishes from sibling tools like generate_image/generate_video (creation) and get_credits/list_models (different resources).
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 implies usage after generation but lacks explicit guidance on when to use this tool versus alternatives. No exclusions or prerequisites mentioned, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modelsA
List available AI image/video generation models with credit costs and per-model options (aspect ratios, resolutions, durations). Call this first to pick a model slug.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter by model type |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description discloses that it returns credit costs and per-model options. Does not mention any side effects, rate limits, or authentication needs, which is acceptable for a read-only list operation.
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, efficient and front-loaded with verb and resource. No redundant 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?
Describes output contents (credit costs, per-model options like aspect ratios, resolutions, durations) but does not detail output structure (e.g., slugs returned). Given no output schema, more detail would help.
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 provides full coverage (100%) with description for the one parameter. The tool description adds context about what information is returned but does not significantly enhance parameter meaning 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?
Clearly states it lists available AI image/video generation models with credit costs and options. Distinguishes from siblings (generate_image, generate_video, get_credits) as a listing 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?
Explicitly says 'Call this first to pick a model slug', indicating it should be used before generation tools. Implicitly distinguishes from get_credits and task retrieval.
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
v0.1.0- First observed
generate_image - First observed
generate_video - First observed
get_credits - First observed
get_task - First observed
list_models
TDQS
Scored across 5 tools
Each tool serves a distinct function: generating images, generating videos, checking credits, checking task status, and listing models. No overlaps or ambiguity.
All tool names follow a consistent verb_noun pattern (generate_image, generate_video, get_credits, get_task, list_models), making predictions easy.
With 5 tools, the set covers the core workflow for an AI media generation service without being too sparse or excessive.
The surface covers model discovery, generation for both image and video, credit tracking, and task status. Missing a cancel/delete tool is a minor gap but not critical.
Maintenance
Related MCP Connectors
Generate images, video, music, voice and 3D through one API. 30 tools, 200+ models.
Best Image and video generation: 20+ models (Kling, Seedance, Veo, NB, FLUX.2), OAuth, pay-per-use.
Image, video, music and text generation across 100+ models through one endpoint.
Generate images, video, and audio with Glif's media-generation agent
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides tools to interact with RunwayML and Luma AI APIs for video and image generation, including text-to-video, image-to-video, prompt enhancement, and management of generations.17-

vicsee-mcp-serverofficial
AlicenseAqualityBmaintenanceEnables AI agents to generate, edit, and upscale videos and images using VicSee's API, with support for multiple models and asynchronous task polling.743 npmMIT- AlicenseAqualityCmaintenanceEnables AI image and video generation using Google Nano Banana and Veo 3.1 via a LiteLLM gateway, providing tools for synchronous image generation and asynchronous video generation with polling, returning public URLs.4MIT
- AlicenseAqualityCmaintenanceEnables AI agents to generate images and videos via the Corent API with automatic model routing, provider fallback, and tools for planning, creation, and balance management.764 npmMIT