# generate_asset

Generate an asset for a video of the iDos Games video studio and get it in the studio's asset format: voxel-character (a voxel hero — CharacterSpec recipe), rig2d-character (a 2D hero — rig recipe), image-actor (any creature or object that acts — picture cut-out), prop (an object in a hand), background (a new scene: the picture goes into a library scene with its anchors and camera shots), music (a loop). Pass the video package from plan_video and the plan item's slot (cast[0], set, music…): the asset joins package.assets, takes that slot and the answer carries the updated package and its link. Prompts, model settings and the style lock are the studio's own. Costs one generation of the publisher's credits — text for the heroes, image or music for the rest (estimate_media_cost). If it is not ready in about two minutes, call generate_asset again with the same kind and generation_id. Check the hero recipes with validate_asset of @idosgames/mcp before publishing.

Agent View of the PolicyLayer registry record for `generate_asset`. HTML page: https://policylayer.com/tools/com-idosgames-platform/generate-asset

## Facts

- Tool: `generate_asset`
- Server: iDos Games (`https://site.idosgames.com/api/v2/mcp`) — https://policylayer.com/tools/com-idosgames-platform.md
- Homepage: https://github.com/iDos-Games/idosgames-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: no
- Parameters: 10 (2 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `kind` | string | yes | voxel-character \| rig2d-character \| image-actor \| prop \| background \| music. |
| `slot` | string | no | Where the asset goes in the package: cast[<i>], set or music (optional; other slots only add the asset). |
| `tier` | string | no | Quality/price tier of the image/music/text model (optional, see list_ai_tiers). |
| `style` | string | no | Style family of the video, e.g. voxel-warm or chibi-2d (default voxel-warm). The heroes keep their own style. |
| `title` | string | no | Name of the asset in the studio (optional, ≤ 60 characters). |
| `prompt` | string | yes | What to make, in English, precise (≤ 400 characters) — e.g. the plan item's generate.prompt. |
| `package` | object | no | The video package ({ spec, assets }) from plan_video or an earlier generate_asset (optional). |
| `base_set` | string | no | background only: the library scene (ref, kind set) whose stage and camera it reuses (default — the first scene of the style). |
| `title_id` | string | no | Which game this is for — a label for the report, optional (credits are the publisher's). |
| `generation_id` | string | no | Finish an asset whose generation was still running (optional; no new charge). |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "generate_asset",
    "arguments": {
      "kind": "<kind>",
      "prompt": "<prompt>"
    }
  }
}
```

## Why generate_asset is rated Medium

An AI agent can call generate_asset faster than any human can review: one bad instruction and it creates or modifies resources in iDos Games by the hundred, each call as confident as the last.

Risk signals: High parameter count (10 properties)

## Use case

AI agents use generate_asset to create or update resources in iDos Games, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your iDos Games environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches iDos Games:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "generate_asset": {
      "limits": [
        {
          "counter": "generate_asset_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on iDos Games (158)

- `delete_kanban_card` — Destructive — https://policylayer.com/tools/com-idosgames-platform/delete-kanban-card.md
- `delete_kanban_column` — Destructive — https://policylayer.com/tools/com-idosgames-platform/delete-kanban-column.md
- `delete_kanban_project` — Destructive — https://policylayer.com/tools/com-idosgames-platform/delete-kanban-project.md
- `get_push` — Destructive — https://policylayer.com/tools/com-idosgames-platform/get-push.md
- `get_usage` — Destructive — https://policylayer.com/tools/com-idosgames-platform/get-usage.md
- `save_push` — Destructive — https://policylayer.com/tools/com-idosgames-platform/save-push.md
- `save_usage` — Destructive — https://policylayer.com/tools/com-idosgames-platform/save-usage.md
- `begin_build_upload` — Execute — https://policylayer.com/tools/com-idosgames-platform/begin-build-upload.md
- `finish_build_upload` — Execute — https://policylayer.com/tools/com-idosgames-platform/finish-build-upload.md
- `draft_social_reply` — Read — https://policylayer.com/tools/com-idosgames-platform/draft-social-reply.md
- `estimate_media_cost` — Read — https://policylayer.com/tools/com-idosgames-platform/estimate-media-cost.md
- `get_advertising` — Read — https://policylayer.com/tools/com-idosgames-platform/get-advertising.md
- `get_ai` — Read — https://policylayer.com/tools/com-idosgames-platform/get-ai.md
- `get_analytics` — Read — https://policylayer.com/tools/com-idosgames-platform/get-analytics.md
- `get_asset_bundle` — Read — https://policylayer.com/tools/com-idosgames-platform/get-asset-bundle.md
- `get_attribution` — Read — https://policylayer.com/tools/com-idosgames-platform/get-attribution.md
- `get_authentication` — Read — https://policylayer.com/tools/com-idosgames-platform/get-authentication.md
- `get_ban` — Read — https://policylayer.com/tools/com-idosgames-platform/get-ban.md
- `get_blockchain` — Read — https://policylayer.com/tools/com-idosgames-platform/get-blockchain.md
- `get_build` — Read — https://policylayer.com/tools/com-idosgames-platform/get-build.md
- `get_character` — Read — https://policylayer.com/tools/com-idosgames-platform/get-character.md
- `get_chat` — Read — https://policylayer.com/tools/com-idosgames-platform/get-chat.md
- `get_cloud_code` — Read — https://policylayer.com/tools/com-idosgames-platform/get-cloud-code.md
- `get_collection` — Read — https://policylayer.com/tools/com-idosgames-platform/get-collection.md
- `get_community_marketing` — Read — https://policylayer.com/tools/com-idosgames-platform/get-community-marketing.md
- `get_coop_event` — Read — https://policylayer.com/tools/com-idosgames-platform/get-coop-event.md
- `get_craft` — Read — https://policylayer.com/tools/com-idosgames-platform/get-craft.md
- `get_currency` — Read — https://policylayer.com/tools/com-idosgames-platform/get-currency.md
- `get_data_collections` — Read — https://policylayer.com/tools/com-idosgames-platform/get-data-collections.md
- `get_deal_offer` — Read — https://policylayer.com/tools/com-idosgames-platform/get-deal-offer.md
- …and 128 more: https://policylayer.com/tools/com-idosgames-platform.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=com-idosgames-platform · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-idosgames-platform
