gwanggo-mcp
gwanggo-mcp
AI 에이전트에 이미지 및 영상 생성 기능을 부여하세요.
MCP 서버 + 광고(Gwanggo) API용 CLI — Seedream, Sora, Veo, Kling, GPT Image 등 30개 이상의 모델을 하나의 키로 제공합니다.
Claude Code · Claude Desktop · Cursor · Codex 등 MCP를 지원하는 모든 도구에서 사용할 수 있습니다.
You: "우리 신제품 세럼 광고 이미지 만들어줘, 화장품 무드로"
Agent: [calls generate_image with seedream-5] → https://…/result.png설정 (2분)
1. 계정 연결 (브라우저 승인 창이 열립니다 — 비밀번호를 붙여넣을 필요 없음):
npx gwanggo-mcp login
# or, after install:
gwanggo auth login새 계정에는 무료 크레딧이 제공됩니다: gwanggo.ai에서 가입하세요.
login을 건너뛰고GWANGGO_API_KEY를 설정할 수도 있습니다(Dashboard → API keys에서 생성).
2. 에이전트에 추가:
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"]login 대신 키를 명시적으로 전달하려면 "env": { "GWANGGO_API_KEY": "gwk_..." }을 추가하세요.
Related MCP server: vicsee-mcp-server
도구
도구 | 기능 |
| 크레딧 비용과 모델별 옵션을 포함한 35개 이상의 이미지/영상 모델 목록 |
| 텍스트→이미지 / 이미지 편집. 완료를 기다렸다가 URL을 반환합니다 |
| 텍스트→영상 / 이미지→영상 (Seedance 2.0, Kling 3.0, Veo 3.1, Sora 2 …) |
| 이전 생성 작업을 ID로 확인 |
| 남은 크레딧 잔액 |
실패한 생성은 서버 측에서 자동 환불됩니다.
CLI 사용법
동일한 바이너리가 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 statusgwanggo 명령어는 gwanggo auth login으로 저장된 계정을 재사용하므로 API 키 환경 변수가 필요하지 않습니다. GWANGGO_API_KEY는 CI 및 기타 비대화형 환경에서 계속 사용할 수 있습니다.
작동 방식
공개 Gwanggo /v1 REST API 위의 얇은 클라이언트입니다 — 오픈소스 Gwanggo Studio를 구동하는 동일한 API입니다. 키는 ~/.config/gwanggo/config.json(0600)에 저장되며 Bearer 토큰으로만 전송됩니다. 브라우저 로그인 키는 GWANGGO_API_KEY보다 우선하므로, 오래된 환경 키가 새로 승인된 로그인을 덮어쓸 수 없습니다. 로그인 파일이 없는 CI에서는 GWANGGO_API_KEY가 사용됩니다.
라이선스
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