Skip to main content
Glama

create_edge

Creates directed relationships between existing project nodes, requiring the destination to exist and preventing dangling edges; re-parent part_of links only after deleting the old edge.

Instructions

Create a directed edge. STRICT (pin R2): dst must already exist -- raises not_found otherwise, no dangling-edge creation via this tool. A part_of edge when src already has a different part_of parent raises collision; call delete_edge first to re-parent.

Input Schema

NameRequiredDescriptionDefault
dstYes
srcYes
typeYes

Output Schema

NameRequiredDescriptionDefault
dstYes
srcYes
typeYes
warningsNo
dst_existsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

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 full behavioral burden and does well: it discloses the dst-existence precondition, the 'no dangling-edge creation' contract, the specific error (not_found), and the collision failure mode for part_of. It does not address duplicate-edge handling, self-loops, or permissions, so it stops short of exhaustive disclosure.

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-loaded with the core action, followed by tightly packed failure-mode detail; every clause earns its place. The '(pin R2)' token is cryptic jargon that may not be meaningful to an agent, a minor blemish on an otherwise efficient structure.

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, so return values need not be explained, and the description covers the important failure modes an agent must anticipate. Given the graph-domain complexity and the absence of annotations, it is nearly complete, missing only edge-type semantics beyond part_of and guidance relative to the batch sibling.

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 0% for all three required params, so the description must compensate. It adds real meaning for dst (must already exist) and type (part_of collision semantics), but src is only implied through the part_of rule and the remaining enum values are left entirely to 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 and resource ('Create a directed edge'), which is clear enough that an agent understands the operation immediately. However, it never differentiates itself from the sibling 'create_edges' (batch variant), so the singular-vs-batch choice is left to inference rather than stated.

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?

Provides explicit condition-based guidance: dst must exist or not_found is raised, and for a collision on a differing part_of parent it names the concrete alternative workflow ('call delete_edge first to re-parent'). No exclusions are given for the batch sibling, so it falls just short of a 5.

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