Skip to main content
Glama

Cocos Asset Forge MCP

English | 简体中文

Cocos Asset Forge MCP hero

Node.js >=20 TypeScript MCP License: MIT

An MCP server for AI-assisted Cocos Creator asset production. Coding agents such as Claude, Codex, Qoder, Trae, Cursor, and other MCP clients can call high-level tools to generate sprites, animation frames, tilesets, UI assets, sound effects, and music, then receive Cocos-ready files instead of raw model output.

Related MCP server: mcp-bridge

Highlights

  • Cocos-ready output: real RGBA transparent PNGs, alpha-bounds trimming with safe padding, frame manifests, .plist atlas metadata, and AudioClip-friendly WAV/MP3/OGG files.

  • Local cutout pipeline: generated sprites use a flat #00ff00 chroma-key background by default, then Asset Forge removes the connected background locally instead of trusting fake AI checkerboards.

  • Optional local segmentation backend: configure a command such as rembg for difficult existing images or automatic fallback when chroma-key removal is not enough.

  • Consistency-first animation workflow: generate a 3x3/4x3 contact sheet, slice it into frames, clean alpha, then repack it for Cocos.

  • Motion-readability QA: sprite sheet tools compare consecutive frames and warn when the model has produced near-duplicate static poses.

  • Provider abstraction: use mock providers offline, fal, Hugging Face, ModelScope, SiliconFlow, OpenAI-compatible endpoints, generic HTTP, or ComfyUI-style workflows.

  • Separate model intent for images, SFX, and music so game teams can choose the right model for each asset class.

  • MCP-native tool surface for coding agents, with JSON reports that include written files, warnings, Cocos import hints, and next steps.

Why This Exists

AI asset generation is useful, but raw model output is not a complete game asset pipeline:

  • Sprites need real alpha, not a drawn checkerboard, plus trimmed transparent bounds, predictable names, and importable PNG files.

  • Animation frames need stable ordering, fixed source frame boxes, packed sheets, and frame coordinate metadata that preserves trimmed-frame offsets.

  • Character consistency often benefits from one 3x3/4x3 contact sheet that is sliced into frames, rather than independent per-frame generations.

  • Tiles need grid packing and map-editor-friendly metadata.

  • Audio needs Cocos-supported formats, sample-rate/channel normalization, and explicit SFX/music-loop intent.

  • The calling coding agent should not have to know every model API or every Cocos import detail.

Cocos Creator supports workflows such as SpriteFrame creation from textures, Auto Atlas packing, .plist atlas indexes, AudioClip imports, TiledMap resources, and AnimationClip spriteFrame tracks. Asset Forge turns AI output into files and manifests aligned with those workflows.

Tools

Tool

Purpose

asset_forge_get_config

Show active config with secrets redacted.

asset_forge_plan_pack

Produce an actionable asset checklist for a Cocos game.

asset_forge_generate_sprite

Generate one sprite and adapt it to transparent PNG.

asset_forge_generate_sprite_sheet

Generate ordered frames, export individual PNGs, pack a sheet, and emit .plist plus manifest.

asset_forge_generate_sprite_grid_sheet

Generate one 3x3/4x3 contact sheet for stronger identity consistency, slice it, clean alpha, and pack frames.

asset_forge_generate_tileset

Generate tiles and pack a grid tileset.

asset_forge_generate_ui_pack

Generate buttons, panels, icons, meters, and other UI sprites.

asset_forge_generate_sfx

Generate/transcode a short Cocos AudioClip.

asset_forge_generate_music_loop

Generate/transcode loop-oriented background music.

asset_forge_adapt_image

Convert an existing image into a Cocos-ready PNG.

asset_forge_adapt_audio

Convert an existing audio file into a Cocos-ready AudioClip file.

Companion Codex Skills

This repository includes companion Codex skills under skills/. The MCP provides the executable asset tools; the skills teach an agent how to define art direction, plan Cocos-ready asset packs, choose the right tool, batch related images into contact sheets when practical, preserve generated metadata, and verify outputs before import.

Included skills:

To install them for Codex:

mkdir -p ~/.codex/skills
cp -R skills/cocos-art-direction-director ~/.codex/skills/
cp -R skills/cocos-asset-pipeline-director ~/.codex/skills/
cp -R skills/cocos-asset-review-director ~/.codex/skills/

Use these skills together with an MCP client entry that exposes this server as cocos_asset_forge.

Install

npm install
npm run build

Run locally during development:

npm run dev

Use the built server:

node dist/index.js --config ./examples/config.example.json

Full install instructions, Codex config, LLM install prompts, and uninstall prompts are available in docs/installation.md.

Provider keys can live directly in the MCP server config through apiKey, or in .env.local/environment variables through apiKeyEnv. Inline config is convenient for local MCP client setups, but do not commit real keys.

{
  "imageProvider": {
    "kind": "fal-image",
    "name": "fal-flux-2-pro",
    "apiKey": "your-fal-key",
    "model": "fal-ai/flux-2-pro"
  }
}

You can also pass config inline from an MCP client:

{
  "mcpServers": {
    "cocos-asset-forge": {
      "command": "node",
      "args": [
        "/absolute/path/to/cocos-asset-forge-mcp/dist/index.js",
        "--config-json",
        "{\"imageProvider\":{\"kind\":\"fal-image\",\"name\":\"fal-flux-2-pro\",\"apiKey\":\"your-fal-key\",\"model\":\"fal-ai/flux-2-pro\"}}"
      ]
    }
  }
}

MCP Client Config

Example for MCP clients that launch stdio servers:

{
  "mcpServers": {
    "cocos-asset-forge": {
      "command": "node",
      "args": [
        "/absolute/path/to/cocos-asset-forge-mcp/dist/index.js",
        "--config",
        "/absolute/path/to/cocos-asset-forge-mcp/examples/config.fal.example.json"
      ]
    }
  }
}

If you prefer to let a coding agent install it for you, use the LLM install prompt.

Uninstall

Remove the cocos-asset-forge or cocos_asset_forge entry from your MCP client config, then restart the client. Do not delete generated assets unless you no longer need them.

For a safe step-by-step uninstall and an LLM-ready uninstall prompt, see docs/installation.md.

Provider Configuration

The default provider is mock, so the pipeline works offline without external API keys. Real projects should configure image/audio providers in JSON.

Secret lookup priority is apiKey first, then apiKeyEnv, then provider-specific default environment variables such as FAL_KEY, FAL_API_KEY, HF_TOKEN, or HUGGINGFACE_API_KEY. asset_forge_get_config redacts inline keys before returning config to the calling agent.

{
  "defaultOutputDir": "./generated/cocos-assets",
  "imageProvider": {
    "kind": "openai-compatible-image",
    "name": "my-image-provider",
    "baseUrl": "https://api.example.com",
    "apiKey": "replace-with-your-key",
    "model": "image-model-name"
  },
  "audioProvider": {
    "kind": "generic-http-audio",
    "name": "my-audio-provider",
    "baseUrl": "https://api.example.com/v1/audio/generate",
    "apiKey": "replace-with-your-key",
    "model": "audio-model-name",
    "responsePath": "data.0.b64_audio"
  }
}

Supported provider kinds:

  • mock: deterministic offline PNG/WAV generation for tests and demos.

  • openai-compatible-image: POSTs to /v1/images/generations and expects b64_json or url.

  • generic-http-image: generic HTTP image provider.

  • generic-http-audio: generic HTTP audio provider.

  • fal-image: uses @fal-ai/client, reads apiKey, apiKeyEnv, FAL_KEY, or FAL_API_KEY, and defaults to fal-ai/flux-2-pro.

  • fal-audio: uses @fal-ai/client and defaults to Stable Audio 3 Small SFX or Music based on tool intent.

  • huggingface-image: calls the Hugging Face Inference text-to-image API and defaults to black-forest-labs/FLUX.1-dev.

  • siliconflow-image: calls SiliconFlow's OpenAI-compatible image endpoint and defaults to Kwai-Kolors/Kolors.

  • modelscope-image: generic ModelScope-style HTTP image provider for ModelScope deployments or gateways; set baseUrl, model, and responsePath for your endpoint.

  • comfyui: currently treated as a generic HTTP image endpoint; custom workflow parameters can be supplied through requestTemplate.

Provider preset examples:

fal image example:

{
  "imageProvider": {
    "kind": "fal-image",
    "name": "fal-flux-2-pro",
    "apiKeyEnv": "FAL_KEY",
    "model": "fal-ai/flux-2-pro"
  }
}

fal audio example:

{
  "sfxProvider": {
    "kind": "fal-audio",
    "name": "fal-stable-audio-3-small-sfx",
    "apiKeyEnv": "FAL_KEY",
    "model": "fal-ai/stable-audio-3/small/sfx/text-to-audio"
  },
  "musicProvider": {
    "kind": "fal-audio",
    "name": "fal-stable-audio-3-small-music",
    "apiKeyEnv": "FAL_KEY",
    "model": "fal-ai/stable-audio-3/small/music/text-to-audio"
  }
}

Generation Strategy

Use asset_forge_generate_sprite_grid_sheet for characters, enemies, props with multiple states, and short animation cycles. It asks the image model for one fixed-grid contact sheet, then slices cells left-to-right and top-to-bottom. Because the model sees all poses in one composition, it usually preserves identity, costume, proportions, camera, and palette better than independent frame generation.

The grid prompt includes action-specific pose progressions for common motions such as run, walk, idle, jump, attack, and death. After slicing, Asset Forge compares consecutive frames and reports a low-variation warning if the sheet looks like repeated static artwork. Treat that warning as a failed animation candidate and regenerate with stronger motion language, a better reference sheet, or a model that follows contact-sheet instructions more reliably.

Use asset_forge_generate_sprite_sheet only when the provider cannot produce clean contact sheets, or when each frame needs a very different prompt. Use asset_forge_generate_sprite for standalone assets and placeholders.

For transparent sprites, Asset Forge defaults to a chroma-key workflow: it asks the model for a flat #00ff00 background, then removes only the key-colored region connected to the image border. This produces real alpha PNGs and avoids treating AI-drawn checkerboards as transparency.

After alpha cleanup, sprites are trimmed to their visible alpha bounds with a small transparent safety padding by default. For animation sheets, Asset Forge keeps the original frame-box dimensions in the manifest and .plist through sourceSize, sourceColorRect, and offset, so Cocos-side animation alignment can survive per-frame trimming instead of re-centering every frame.

When source backgrounds are not controlled, configure cutout.backend:

  • auto: chroma-key first; if too little background is removed and command is configured, fall back to local segmentation.

  • chroma-key: only run the built-in connected chroma-key remover.

  • local-command: always run a local segmentation command.

Example with Python rembg installed on the machine:

{
  "cutout": {
    "backend": "auto",
    "command": "rembg",
    "args": ["i", "{input}", "{output}"],
    "timeoutMs": 300000,
    "triggerMinRemovedRatio": 0.25
  }
}

For reference-image workflows, pass referenceImagePath or referenceImageUrl and configure imageProvider.model to an edit/image-to-image capable fal model. Text-to-image models are intentionally rejected when a reference image is supplied, so the calling agent gets a clear failure instead of silently losing consistency.

Recommended fal model presets:

  • Fast iteration sprites: fal-ai/flux/schnell or a fast FLUX.2 variant.

  • Higher quality sprites/contact sheets: fal-ai/flux-2-pro or FLUX.2 flex/pro variants.

  • Reference-image edits and identity preservation: fal-ai/qwen-image-2/edit, fal-ai/qwen-image-edit-2511, or fal-ai/flux-2-pro/edit.

  • Sound effects: fal-ai/stable-audio-3/small/sfx/text-to-audio.

  • Music loops: fal-ai/stable-audio-3/small/music/text-to-audio.

  • Future SFX specialization: add a dedicated SFX provider such as CassetteAI when UI/combat sound precision matters more than musicality.

Output Contract

Every generation tool returns JSON text with:

  • files: absolute paths written by the server.

  • manifest: a .cocos-asset.json file when metadata is needed.

  • warnings: quality or import caveats the calling agent should surface.

  • cocos.importPath: best-effort Cocos project-relative path.

  • cocos.recommendedType: recommended import type, such as SpriteFrame, SpriteAtlas, AudioClip, or TiledMap texture.

  • cocos.notes: next steps for the calling agent.

Image postprocessing defaults to transparentBackground: true, trimTransparentEdges: true, and trimTransparentPadding: 2. Turn trimming off for fixed-size tiles, backgrounds, or any asset where the full canvas is itself meaningful.

Development

npm run typecheck
npm test
npm run build

ffmpeg is used for audio transcoding when available. Without it, the server can still copy same-format audio, but format conversion requires ffmpeg.

Roadmap

  • Native Cocos editor extension to create .anim clips from emitted frame manifests.

  • First-class ComfyUI workflow submission and polling.

  • Provider packages for Replicate, Fal, Stability, ElevenLabs, Suno-like services, and local models.

  • Texture extrusion that duplicates edge pixels instead of transparent padding.

  • Tiled .tsx generation and optional .tmx starter maps.

  • Rich visual QA reports for sprite sheet frame consistency and pose progression.

References

Available Tools

11 tools
asset_forge_adapt_audioAdapt Audio For CocosB

Convert an existing audio file into a Cocos-ready AudioClip file.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable asset name. Used for file names after slugification.
inputPathYes
outputDirNoDirectory where generated files should be written. Defaults to server config.
postprocessNo

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose any behavioral traits such as required permissions, side effects (e.g., file overwriting), idempotency, or limits. The description is purely functional with no behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that conveys the core purpose efficiently. However, it could be slightly expanded to include critical details without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters including a complex nested object, no output schema, and no annotations, the description is insufficient. It does not explain the conversion process, required input format, or what the resulting AudioClip entails, leaving significant gaps for an agent.

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 description coverage is 50% (name and outputDir have descriptions; inputPath and postprocess do not at top level). The description adds no parameter-level details beyond the schema, though it implicitly refers to parameters by stating 'Convert an existing audio file'. Baseline 3 is appropriate given moderate schema coverage.

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 states a specific action ('Convert') on a specific resource ('existing audio file') to a specific target ('Cocos-ready AudioClip file'), clearly differentiating it from sibling tools that generate new assets or adapt other media types.

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 converting existing audio files for Cocos, but it does not explicitly state when to use this tool versus alternatives like asset_forge_generate_music_loop or asset_forge_generate_sfx, nor does it provide any conditions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

asset_forge_adapt_imageAdapt Image For CocosC

Convert an existing image into a Cocos-ready transparent PNG.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable asset name. Used for file names after slugification.
inputPathYes
outputDirNoDirectory where generated files should be written. Defaults to server config.
postprocessNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full burden for behavioral disclosure, but it only states the conversion outcome. It omits critical details like required input formats, side effects on original files, permissions, or error behavior. The underlying processing parameters (postprocess) are not hinted at.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at 12 words. However, for a tool with 4 parameters including a nested object, it may be too brief to be useful. It earns points for brevity but loses some for under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 params, nested postprocess object, no output schema), the description is incomplete. It fails to explain return values, error conditions, or the specifics of the conversion process. A more detailed description is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, so the description should compensate, but it adds no parameter-specific information. It does not explain how the parameters (e.g., postprocess options) relate to the conversion. The mention of 'transparent PNG' hints at some meaning but is insufficient.

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 converts an existing image into a Cocos-ready transparent PNG, specifying the verb (convert), resource (existing image), and target format. This distinguishes it from sibling generation tools like asset_forge_generate_sprite.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or when not to use it. Users must infer from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

asset_forge_generate_music_loopGenerate Cocos Music LoopC

Generate background music and transcode it into a Cocos-ready looping AudioClip file.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable asset name. Used for file names after slugification.
seedNo
styleNoVisual or audio style, e.g. 'cozy pixel art', 'hand-painted fantasy', '8-bit arcade'.
promptYes
outputDirNoDirectory where generated files should be written. Defaults to server config.
postprocessNo
durationSecondsNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It fails to mention potential side effects (e.g., file creation, overwriting), permissions needed, rate limits, or any constraints beyond the basic functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise, but it lacks structure and omits important context. While brevity is valued, here it sacrifices informativeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, nested objects, no output schema), the description is severely incomplete. It does not describe return values, file paths, or typical usage scenarios, making it inadequate for confident tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 43%, and the description adds no parameter details. The one-sentence overview does not explain the role of key parameters like 'seed', 'style', or the nested 'postprocess' object.

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's action ('generate background music and transcode it into a Cocos-ready looping AudioClip file'), specifying the resource and output format. This distinguishes it from sibling tools like asset_forge_generate_sfx (sound effects) and asset_forge_adapt_audio (adapting existing audio).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidelines are provided about when to use this tool versus alternatives. The description does not mention prerequisites, context, or exclusion cases (e.g., for sound effects, use the SFX tool instead).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

asset_forge_generate_sfxGenerate Cocos Sound EffectB

Generate a short sound effect and transcode it into a Cocos-ready AudioClip file.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable asset name. Used for file names after slugification.
seedNo
styleNoVisual or audio style, e.g. 'cozy pixel art', 'hand-painted fantasy', '8-bit arcade'.
promptYes
outputDirNoDirectory where generated files should be written. Defaults to server config.
postprocessNo
durationSecondsNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions transcoding to Cocos-ready format but does not state whether the operation is read-only, what files are created, authorization needs, or side effects. Critical behavioral context is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence without wasted words. However, it is very brief and could be expanded with useful behavioral or param hints without becoming verbose. Efficiency is good but minimalism limits informativeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 7 parameters, a nested object, no annotations, and no output schema, the description is insufficient. It does not explain return values, output locations, or provide examples. The tool is moderately complex, yet the description adds little context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 43%, meaning most parameters lack schema descriptions. The tool description adds no parameter-level information, forcing agents to rely on the incomplete schema. It does not compensate for the coverage gap.

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 generates a short sound effect and transcodes it into a Cocos-ready AudioClip file. The verb 'Generate' and resource 'sound effect' are specific, and the sibling tools include music loop and audio adaptation tools, so this tool is well-distinguished as producing short SFX.

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 does not explicitly state when to use this tool versus alternatives like asset_forge_generate_music_loop or asset_forge_adapt_audio. Usage context is implied by the name and sibling list, but no direct guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

asset_forge_generate_spriteGenerate Cocos SpriteA

Generate a single sprite image, clean its alpha/background, and save a Cocos-ready PNG plus manifest.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable asset name. Used for file names after slugification.
seedNo
sizeNo
styleNoVisual or audio style, e.g. 'cozy pixel art', 'hand-painted fantasy', '8-bit arcade'.
promptYes
outputDirNoDirectory where generated files should be written. Defaults to server config.
postprocessNo
negativePromptNo
referenceImageUrlNoPublic reference image URL for image-to-image/edit capable providers.
referenceStrengthNoHow strongly an image-to-image/edit provider should preserve the reference.
referenceImagePathNoLocal reference image path for image-to-image/edit capable providers.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits. It mentions cleaning alpha/background and saving output, but lacks details on resource consumption, side effects, or prerequisites. This is adequate but not thorough.

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 concise sentence (14 words) that front-loads the core action and deliverables. Every word is informative with no redundant content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 11 parameters, 55% schema coverage, nested objects, and no output schema, the description is too minimal. It does not explain the manifest, the cleaning process, or provide usage guidance for the many optional parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not add any meaning beyond what the input schema provides. Schema description coverage is 55%, so some parameters have documentation, but the description adds no extra context for parameter usage or relationships.

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 generates a single sprite image, cleans its alpha/background, and saves a Cocos-ready PNG plus manifest. This verb+resource specificity distinguishes it from sibling tools like generate_sprite_sheet and generate_sprite_grid_sheet, which handle multiple sprites.

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?

The description implies use for individual sprites via 'single sprite', which provides context to differentiate from sheet-generating siblings. However, it does not explicitly state when to avoid using this tool or name alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

asset_forge_generate_sprite_grid_sheetGenerate Cocos Sprite Grid SheetC

Generate one AI contact sheet such as 3x3 or 4x3 for better character consistency, slice it into frames, clean alpha, and pack Cocos-ready sprite sheet metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable asset name. Used for file names after slugification.
rowsNo
seedNo
styleNoVisual or audio style, e.g. 'cozy pixel art', 'hand-painted fantasy', '8-bit arcade'.
actionNoidle
marginNo
promptYesDescribe the same character/object and the complete motion/state set.
columnsNo
paddingNo
frameSizeNo
outputDirNoDirectory where generated files should be written. Defaults to server config.
frameCountNo
postprocessNo
referenceImageUrlNoPublic reference image URL for image-to-image/edit capable providers.
referenceStrengthNoHow strongly an image-to-image/edit provider should preserve the reference.
referenceImagePathNoLocal reference image path for image-to-image/edit capable providers.
contactSheetBackgroundNoflat_key_color

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions actions like 'clean alpha' and 'pack metadata' but does not disclose side effects, file creation details, or whether the tool modifies existing files. The behavioral impact is under-described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that packs multiple processing steps, making it slightly run-on. It is adequately sized but could be more front-loaded and concise. Every part earns its place, but structure could be improved.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 17 parameters, no output schema, and no annotations, the description is insufficient. It does not explain the output format, required parameter roles (beyond prompt/name), or describe defaults like frameSize, postprocess, etc. The tool's complexity demands more context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 41%, meaning most parameters lack descriptions. The tool description adds no parameter-specific information beyond mentioning '3x3 or 4x3' (related to rows/columns). It does not compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies generating an AI contact sheet for character consistency, slicing into frames, cleaning alpha, and packing Cocos-ready metadata. This clearly identifies the tool's purpose, but it does not distinguish from sibling 'asset_forge_generate_sprite_sheet', which may cause confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like 'asset_forge_generate_sprite_sheet' or 'asset_forge_generate_sprite'. The description implies use for multi-frame character consistency but offers no exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

asset_forge_generate_sprite_sheetGenerate Cocos Sprite SheetC

Generate an animation as individual frames, pack them into a transparent PNG sprite sheet, and emit Cocos/TexturePacker metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable asset name. Used for file names after slugification.
seedNo
styleNoVisual or audio style, e.g. 'cozy pixel art', 'hand-painted fantasy', '8-bit arcade'.
actionNoidle
marginNo
promptYesDescribe the character/object and the motion.
columnsNo
paddingNo
frameSizeNo
outputDirNoDirectory where generated files should be written. Defaults to server config.
frameCountNo
postprocessNo
referenceImageUrlNoPublic reference image URL for image-to-image/edit capable providers.
referenceStrengthNoHow strongly an image-to-image/edit provider should preserve the reference.
referenceImagePathNoLocal reference image path for image-to-image/edit capable providers.

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It only describes high-level functionality (frames, packing, metadata) but omits critical behavioral details like file output, overwrite behavior, authentication needs, rate limits, or side effects. For a tool with 15 parameters and nested objects, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, making it concise but overly brief for a tool with 15 parameters and complex nested objects. It front-loads the main action but lacks structure or additional detail that would fit in a few more sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description should explain the return value (files, metadata). It does not. It also omits any mention of file generation, output directory implications, or the complexity of the generation process. The description is incomplete for the tool's actual complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 47%, leaving 8 parameters undocumented. The description adds zero parameter-level context beyond what the schema provides. It does not explain how parameters like style, action, frameCount, or postprocess affect the output.

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 it generates an animation as frames, packs into a PNG sprite sheet, and emits Cocos/TexturePacker metadata. This specific verb-resource combination distinguishes it from sibling tools like asset_forge_generate_sprite (single sprite) and asset_forge_generate_sprite_grid_sheet (grid sheet).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool vs alternatives. It does not mention prerequisites, exclusions, or explicitly differentiate from similar tools like sprite grid sheet or tileset generation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

asset_forge_generate_tilesetGenerate Cocos TilesetC

Generate multiple seamless-ish tile sprites, pack them into a tileset sheet, and emit tile metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable asset name. Used for file names after slugification.
seedNo
styleNoVisual or audio style, e.g. 'cozy pixel art', 'hand-painted fantasy', '8-bit arcade'.
promptYes
columnsNo
tileSizeNo
outputDirNoDirectory where generated files should be written. Defaults to server config.
tileCountNo
postprocessNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully shoulders behavioral disclosure. It mentions 'seamless-ish' (non-committal quality) but omits side effects (e.g., file creation, potential overwrites), output specifics, or required permissions. A mutation tool like this needs more transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is concise (16 words) and front-loaded with verbs, but it omits essential details. Conciseness here comes at the cost of completeness, earning a middle score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (9 parameters, nested objects, no output schema), the description is far too sparse. It does not explain tile metadata format, parameter roles, or output behavior, making it inadequate for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (3 of 9 parameters documented), and the tool description adds zero parameter information. It fails to compensate for the low coverage, leaving agents uninformed about key parameters like seed, tileCount, or postprocess.

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, pack, emit), the resource (tile sprites, tileset sheet, tile metadata), and distinguishes from sibling tools like generate_sprite (single sprite) and generate_sprite_sheet (arbitrary sprites) by specifying 'seamless-ish' tiles and packing into a tileset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives, no prerequisites or contraindications mentioned. The description is purely functional without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

asset_forge_generate_ui_packGenerate Cocos UI PackC

Generate Cocos-ready UI element sprites such as buttons, panels, icons, bars, badges, and cursors.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable asset name. Used for file names after slugification.
seedNo
styleNoVisual or audio style, e.g. 'cozy pixel art', 'hand-painted fantasy', '8-bit arcade'.
promptYes
elementsNo
outputDirNoDirectory where generated files should be written. Defaults to server config.
elementSizeNo
postprocessNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behaviors but only states the output type. It does not mention file creation, side effects, or what 'Cocos-ready' entails.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise but under-informative for a tool with 8 parameters. Structure is front-loaded but lacks necessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, no annotations, no output schema, and sibling tools, the description is too brief. It does not explain output format, usage flow, or how this tool differs from similar ones.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 38% (low), and the description adds no parameter information. It does not explain what prompt, style, or elements mean, leaving the agent without guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it generates Cocos-ready UI element sprites and lists examples (buttons, panels, etc.), distinguishing it from sibling tools that generate single sprites or sheets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like generate_sprite or generate_sprite_sheet. The description lacks explicit context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

asset_forge_get_configGet Asset Forge ConfigA

Return the active Cocos Asset Forge MCP configuration with secrets redacted.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses the redaction behavior, which is valuable. However, it does not mention any required permissions, error conditions, or the return format. While adequate for a simple tool, it could be more transparent about what the configuration includes.

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 that immediately states the purpose and key behavior. It is front-loaded and contains no superfluous information, earning every character.

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 zero parameters and no output schema, the description provides enough context: it returns the config with secrets redacted. It does not describe the output format, but that is not strictly required. For a tool of this simplicity, it is nearly complete.

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?

The input schema has zero parameters and 100% coverage, so the baseline is 4. The description adds no parameter info (none needed) but also doesn't introduce confusion. It appropriately relies on the schema for parameter information.

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 ('Return'), the specific resource ('active Cocos Asset Forge MCP configuration'), and a notable behavioral trait ('with secrets redacted'). It distinctly separates this tool from its sibling generation/adaptation tools, which serve entirely different purposes.

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 does not explicitly state when to use this tool versus alternatives, but the context of being a configuration retrieval tool implicitly differentiates it. No exclusions or alternative tool references are provided, which is acceptable for a simple getter but still lacks explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

asset_forge_plan_packPlan A Cocos Asset PackB

Create a concrete asset checklist for a Cocos game so the calling coding agent can generate assets systematically.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetTypesNo
artDirectionNo
targetPlatformNoCocos Creator 3.x
gameDescriptionYes

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden of behavioral disclosure. It only says 'Create' and implies a plan is produced, but it does not specify side effects, permissions, or the nature of the output. Without an output schema, the agent remains uncertain about the tool's behavior beyond the intent to produce a list.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence of 18 words, front-loaded with the main action. However, it is somewhat vague and could benefit from additional structure, such as mentioning what the checklist contains.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters, no output schema, and no annotations, the description is too brief to be complete. It does not explain what a 'concrete asset checklist' is, how it is structured, or how the agent should use the resulting plan. The agent would likely need to infer or experiment.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% schema description coverage, meaning parameter descriptions are absent. The tool description does not explain any of the four parameters (assetTypes, artDirection, targetPlatform, gameDescription); it only vaguely references a 'Cocos game'. This fails to compensate for the missing schema documentation.

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 ('Create') and the resource ('concrete asset checklist'), and it distinguishes this tool from sibling generation tools by specifying it is for planning before generation. The phrase 'for a Cocos game' narrows the 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 this tool is for planning before asset generation ('so the calling coding agent can generate assets systematically'), but it does not explicitly state when to use it over alternatives or provide exclusions. The sibling tools are all generation-focused, so the context hints at a sequential workflow, but no direct guidance is given.

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. 11 tool updatesv0.1.0
    • First observedasset_forge_adapt_audio
    • First observedasset_forge_adapt_image
    • First observedasset_forge_generate_music_loop
    • First observedasset_forge_generate_sfx
    • First observedasset_forge_generate_sprite
    • First observedasset_forge_generate_sprite_grid_sheet
    • First observedasset_forge_generate_sprite_sheet
    • First observedasset_forge_generate_tileset
    • First observedasset_forge_generate_ui_pack
    • First observedasset_forge_get_config
    • First observedasset_forge_plan_pack

TDQS

B3.4/5.0

Scored across 11 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: adapting existing assets, generating new ones, planning, or configuration. No overlap in functionality.

Naming Consistency5/5

All tools use a consistent 'asset_forge_verb_noun' pattern in snake_case, with clear and predictable naming conventions.

Tool Count5/5

11 tools provide comprehensive coverage for asset generation without being excessive. The number is well-scoped for a content creation server.

Completeness4/5

Covers adaptation and generation of audio, images, sprites, tiles, UI packs, plus config and planning. Minor gaps like 3D or text assets, but core workflows are complete.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for Cocos Creator that enables AI tools to automate scene editing, resource management, and project operations via HTTP and stdio interfaces.
    7 npm
    225
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive MCP server plugin for Cocos Creator 3.8+ that enables AI assistants to control the editor via standardized protocol, offering 50 tools for scene, node, component, prefab, asset, project, and debugging operations.
    12 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive MCP server for Cocos Creator 3.8+ that enables AI assistants to interact with the editor via 50+ tools for scene, node, component, prefab, asset, and project management.
    12 npm
    MIT