Skip to main content
Glama

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.

npm License: MIT MCP

Works with Claude Code · Claude Desktop · Cursor · Codex — anything that speaks MCP.


You: "우리 신제품 세럼 광고 이미지 만들어줘, 화장품 무드로"
Agent: [calls generate_image with seedream-5] → https://…/result.png

Setup (2 minutes)

1. Connect your account (opens a browser approval — no password pasting):

npx gwanggo-mcp login
# or, after install:
gwanggo auth login

New accounts get free credits: sign up at gwanggo.ai. You can also skip login and set GWANGGO_API_KEY (create one at Dashboard → API keys).

2. Add to your agent:

Claude Code

claude mcp add gwanggo -- npx -y gwanggo-mcp

Claude 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

list_models

35+ image/video models with credit costs and per-model options

generate_image

Text→image / image edit. Waits for completion, returns the URL

generate_video

Text→video / image→video (Seedance 2.0, Kling 3.0, Veo 3.1, Sora 2 …)

get_task

Check a previous generation by id

get_credits

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 status

The 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

MIT

Available Tools

5 tools
generate_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel slug, e.g. "seedream-5", "gpt-image-2"
promptYesWhat to generate
qualityNoModel-dependent quality tier, e.g. "basic" | "high"
image_urlNoReference image URL for edit/i2i models
aspect_ratioNoe.g. "1:1", "16:9", "9:16" (model-dependent)

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel slug, e.g. "seedance-2.0", "kling-3", "veo-3.1"
promptYesScene/motion description
durationNoSeconds (model-dependent, e.g. 5 or 10)
image_urlNoReference image URL for image-to-video
resolutionNoe.g. "480p", "720p", "1080p" (model-dependent)
aspect_ratioNoe.g. "16:9", "9:16" (model-dependent)
generate_audioNoGenerate audio track (model-dependent)

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/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 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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/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 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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesGeneration id returned by generate_image/generate_video

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by model type

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 5 tool updatesv0.1.0
    • First observedgenerate_image
    • First observedgenerate_video
    • First observedget_credits
    • First observedget_task
    • First observedlist_models

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool serves a distinct function: generating images, generating videos, checking credits, checking task status, and listing models. No overlaps or ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (generate_image, generate_video, get_credits, get_task, list_models), making predictions easy.

Tool Count5/5

With 5 tools, the set covers the core workflow for an AI media generation service without being too sparse or excessive.

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers