Skip to main content
Glama
HullForge MCP Connector

HullForge MCP Connector

by jigwright

Write

hf_write
Idempotent

Applies non-destructive changes to a running Unreal Engine 5 project, such as creating, spawning, moving, or renaming assets, then reads back the result and confirms whether the edit took. Refuses destructive operations.

Instructions

Call a HullForge tool that changes the project but cannot destroy work: create, set, spawn, move, rename, add. The editor applies it, reads it back and reports whether it took. Destructive tools are refused here; use hf_destroy.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "tool": "<tool>"
    },
    "name": "hf_write"
  }
}

Input Schema

NameRequiredDescriptionDefault
argsNoThe tool's arguments, matching the schema hf_tool_schema returned.
toolYesThe tool's exact name, as hf_search_tools returned it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare readOnly=false, destructive=false, idempotent=true; the description goes further by disclosing the execution model ('the editor applies it, reads it back and reports whether it took') and the failure mode (destructive calls are refused). What's missing is whether a refused or failed application surfaces as an error versus a report, and whether partial application is possible.

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?

Three short sentences, front-loaded with scope and ending on the routing rule; nothing is padded. Slight redundancy between 'cannot destroy work' and 'Destructive tools are refused here', which could be one clause.

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?

For a proxy tool with a nested args object and no output schema, the definition covers what it does, its safety envelope, and that a verification report comes back. It stops short of describing the shape of that report or what happens when the inner tool rejects the arguments, which is the main remaining gap.

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 100%: 'tool' (exact name as returned by hf_search_tools) and 'args' (matching the schema hf_tool_schema returned) are already fully documented in the schema. The prose adds no argument-level detail beyond implying the tool must come from HullForge discovery, so the baseline 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?

Names the exact class of operation ('changes the project but cannot destroy work') and enumerates the verb families (create, set, spawn, move, rename, add), which tells an agent precisely which calls belong here versus hf_read or hf_destroy. It is a specific, discriminator-rich statement of purpose rather than a restatement of the name 'hf_write'.

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

Usage Guidelines5/5

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

Gives an explicit routing rule: destructive tools are refused here and must go to hf_destroy. Combined with the 'cannot destroy work' scoping sentence and the verb list, an agent can decide inclusion without consulting siblings' schemas.

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