Skip to main content
Glama

flexsim_agv_link_path

Links two AGV endpoints by connecting a ControlPoint or path to another and verifies reachability via outObjects. Use it to close AGV loops or attach control points to paths.

Instructions

Link two AGV endpoints with objectconnect (window backend only).

Une point_a -> point_b, donde cada extremo puede ser un AGV::StraightPath /
CurvedPath o un AGV::ControlPoint (p. ej. cerrar el loop de
flexsim_add_agv_loop, o atar un ControlPoint a su path).

Fuente / honestidad: objectconnect es el comando verificado para flujo
general (AGENTE_FLEXSIM.md sec 5) y para cintas (AGENTE_FLEXSIM.md sec 3c,
receta de flexsim_add_conveyor_leg); sobre objetos AGV su efecto NO esta
pre-verificado, asi que esta tool lo prueba en codigo y lo verifica con
_flow_path (BFS de outObjects ya usado por flexsim_agv_connect y
flexsim_add_conveyor_leg, que reporta la cadena real incluso con nodos
intermedios). No se inventa ningun comando AGV especifico.

Args:
    point_a: ControlPoint o path origen (Model.find debe resolverlo).
    point_b: ControlPoint o path destino (Model.find debe resolverlo).
    verify: caminar outObjects con BFS (_flow_path) buscando point_b.

Returns JSON {from, to, linked, path | last_out, note}.
note: "tasksequences sobre la red: flexsim_run_transport".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does disclose key context: the window-backend-only restriction, the honest caveat that objectconnect's effect on AGV objects is not pre-verified, and the internal BFS verification via _flow_path that reports the real chain even through intermediate nodes. It stops short of stating whether the operation is destructive/reversible or what permissions it needs, but the disclosure is well above average for an unannotated tool.

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 core action and constraints are front-loaded, which is good, but the text is bilingual and includes a lengthy 'Fuente / honestidad' paragraph and a redundant 'Args' section duplicating schema-level detail. It is informative yet more sprawling than it needs to be, weakening scannability.

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?

An output schema exists ({from, to, linked, path | last_out, note}), so return values need not be explained, yet the description still briefly covers them. Combined with the backend constraint, verification behavior, and parameter resolution rules, an agent has enough to invoke it correctly.

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?

Schema description coverage is 0%, so the description must compensate, and it does: point_a/point_b are explained as either an AGV::StraightPath/CurvedPath or an AGV::ControlPoint that Model.find must resolve, and verify is defined as walking outObjects with BFS looking for point_b. This meaningfully exceeds what the bare schema titles ('Point A', 'Verify') convey.

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 opening sentence gives a specific verb (Link), resource (two AGV endpoints), implementation method (objectconnect), and an environment constraint (window backend only). It further anchors the tool against a sibling by naming the flexsim_add_agv_loop loop-closing case, though it does not distinguish itself from other link-type siblings like flexsim_agv_connect or flexsim_link_transporter.

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 offers concrete usage scenarios ('cerrar el loop de flexsim_add_agv_loop', 'atar un ControlPoint a su path') and a routing hint for a related need ('tasksequences sobre la red: flexsim_run_transport'), which implies when to reach for this tool. It never states when NOT to use it versus the nearby agv_connect/link_transporter alternatives, so guidance stays at an implied level.

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

Deploy Server

Other Tools