Skip to main content
Glama

gwanggo-mcp

AI 에이전트에 이미지 및 영상 생성 기능을 부여하세요.

MCP 서버 + 광고(Gwanggo) API용 CLI — Seedream, Sora, Veo, Kling, GPT Image 등 30개 이상의 모델을 하나의 키로 제공합니다.

npm License: MIT MCP

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-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"]

login 대신 키를 명시적으로 전달하려면 "env": { "GWANGGO_API_KEY": "gwk_..." }을 추가하세요.

Related MCP server: vicsee-mcp-server

도구

도구

기능

list_models

크레딧 비용과 모델별 옵션을 포함한 35개 이상의 이미지/영상 모델 목록

generate_image

텍스트→이미지 / 이미지 편집. 완료를 기다렸다가 URL을 반환합니다

generate_video

텍스트→영상 / 이미지→영상 (Seedance 2.0, Kling 3.0, Veo 3.1, Sora 2 …)

get_task

이전 생성 작업을 ID로 확인

get_credits

남은 크레딧 잔액

실패한 생성은 서버 측에서 자동 환불됩니다.

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 status

gwanggo 명령어는 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가 사용됩니다.

라이선스

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