Skip to main content
Glama

Create projectile VFX

gripforge_projectile_create

ADMIN ONLY. Create an editable 3D projectile: ignition, elemental volume, world-space trail, embers, contact flash, oriented ring and soot. 20 named variants: darts, short bolts, orbs, wisps, carrot rocket, spinning disc, spears, comets, coils and lightning. config.variant selects the geometry, trail and impact; style/color optionally override its palette. Omit variant to retain the original elemental recipe. To save several catalogue entries, pass variants=[IDs] without config/name: one persistent job renders/reviews each item sequentially, preserves completed items on retry and returns result.items. Publication remains explicit. Uses the shared trail and Scene Engine modules. save=true (default) queues persistent rendering/review/workspace save; poll gripforge_generation_read for Library ID and Studio link. save=false returns an unsaved recipe. Bind the resulting VFX to combat.projectiles/projectile_vfx using the Game Kit tools; gameplay speed/gravity/damage stay in the module. Web player only in v1. Does not install a kit or modify a game automatically. Recipe compilation needs no AI; saved previews use the existing review pipeline. No automatic visual validation.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "gripforge_projectile_create"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNo
saveNo
configNo
variantsNo
workspace_idNo
idempotency_keyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the annotations (which only mark it as a non-read-only, non-destructive, non-idempotent write): it discloses the async job model, that batch runs render/review sequentially and resume after retry while preserving completed items, that result.items is returned, that publication stays explicit, and that there is no automatic visual validation. It also flags the admin prerequisite, a permission fact the annotations do not carry.

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?

Front-loads the two things an agent must know first (admin-only gate, what gets created) ahead of the workflow and limitation clauses. It is long and dense, but this is a heavyweight tool with batch mode, async persistence and multiple exclusions, so nearly every sentence carries a real constraint; some caveat stacking near the end could still be tightened.

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?

With no output schema, the description supplies the return picture for both paths (Library ID and Studio link via gripforge_generation_read; unsaved recipe for save=false; result.items for batch) and lists the key boundaries. The gaps are the unexplained nested tuning fields and workspace_id/idempotency_key semantics, which an agent would have to guess at from names alone.

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 0%, so the description must carry parameter meaning, and it partially does: config.variant's role, style/color as palette overrides, save's default and effect, and the variants array's incompatibility with config/name. But seed, radius, quality, trailLifetime, impactDuration, workspace_id and idempotency_key get no explanation at all, leaving most of a nested 6-parameter schema undocumented in both places.

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?

States a specific verb and resource ("Create an editable 3D projectile") and enumerates exactly what the recipe contains (ignition, trail, embers, contact flash, ring, soot), so the agent knows the artifact it gets. It scopes itself against game-kit tools ("gameplay speed/gravity/damage stay in the module") but never names other VFX siblings such as gripforge_vfx_generate or gripforge_shield_vfx, so sibling differentiation is only partial.

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?

Gives clear operational conditions: ADMIN ONLY, omit variant to keep the original elemental recipe, pass variants=[IDs] without config/name for batch catalogue entries, save=true queues rendering while save=false returns an unsaved recipe. It states what the tool does not do (no kit install, no automatic game modification, web player only in v1). What it lacks is an explicit "use X instead when..." routing to a specific alternative tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.