Skip to main content
Glama
FlexSim MCP Server

FlexSim MCP Server

by fateedit

set_loc

Sets an object's x/y/z coordinates by writing its spatial node, enabling layout of created objects that otherwise stack at the origin.

Instructions

如未先读操作指南,请先调用 get_guide。设置对象坐标(x/y/z)。通过写入对象 spatial 节点实现,不依赖模型侧 set_loc handler(只装 4 个基础 handler 即可用)。注意:多个对象创建后默认堆叠在原点 (0,0,0),创建后必须用本工具排布位置(如产线按 x=0,5,10,15 一字排开)。

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": {
      "object": "<object>",
      "x": "<x>",
      "y": "<y>",
      "z": "<z>"
    },
    "name": "set_loc"
  }
}

Input Schema

NameRequiredDescriptionDefault
xYesX 坐标
yYesY 坐标
zYesZ 坐标
objectYes对象名

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.2

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the whole burden and does well: it discloses that the write is performed by writing the object's spatial node, that it does not depend on the model-side handler, and the important side effect that objects default to overlapping at the origin. It does not state what happens if the object does not exist, nor what the call returns, which keeps it below a 5.

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 prerequisite, then the purpose, then the implementation note, then the stacking warning, which is the right ordering for an agent. The several parenthetical asides make it denser than necessary, but each conveys real information rather than filler.

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 4-parameter mutation tool with no annotations and no output schema, the description covers purpose, prerequisite, mechanism, and the key post-creation stacking pitfall. It leaves out error behavior for a missing object name and return semantics, which are the remaining gaps an agent might need.

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%, so all four parameters are already documented in the schema, making 3 the baseline. The description reinforces x/y/z and the example (x=0,5,10,15) hints that values are world-space coordinates, but it adds no unit or format detail beyond the schema.

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+resource: set an object's x/y/z coordinates, and adds that it works by writing the object's spatial node. That mechanism detail also distinguishes it in spirit from the generic write_node sibling, though the comparison is only implicit. An agent can tell what it does, but a direct contrast with write_node for spatial data is not spelled out.

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 a clear prerequisite ('call get_guide first if you haven't read it') and a concrete when-to-use rule: newly created objects all stack at (0,0,0), so this tool must be used to lay them out, with a production-line example. It does not name an alternative path (e.g. write_node) or state when this tool should not be used, so it stops just short of a full routing guideline.

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