Skip to main content
Glama
Nexus Memory
by Neboy72

get_related

Retrieve directly related facts for a memory fact ID using one-hop bidirectional graph edges, with optional relation and access-level filters to find connected context.

Instructions

Knowledge Graph: Get directly related facts (1-hop, bidirectional). Returns a list of {fact_id, relation, edge_id, direction} dicts.

Input Schema

NameRequiredDescriptionDefault
fact_idYesThe Qdrant point ID to find neighbors for
relationNoOnly return edges with this relation (e.g. 'manages')
access_levelNoCaller's visibility tier: only neighbours at this level or below are returned (public < trusted < private)private

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.22.40
    • addedInput schema / properties / access_level
      Added value: +{
      +  "default": "private",
      +  "description": "Caller's visibility tier: only neighbours at this level or below are returned (public < trusted < private)",
      +  "enum": [
      +    "public",
      +    "trusted",
      +    "private"
      +  ],
      +  "type": "string"
      +}
  2. First observedv0.13.1

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the burden and does partial duty: 'Get' implies a non-mutating read, 'bidirectional' clarifies that incoming edges are included, and the access_level parameter documents visibility filtering. It is silent on auth requirements, result limits/pagination, and what happens when the fact has no neighbors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the operation and scope, followed by the exact return shape. No filler, and the return-shape detail is load-bearing because no output schema exists.

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 3-parameter read tool with no annotations and no output schema, the description supplies the missing return structure ({fact_id, relation, edge_id, direction}) and the schema covers visibility and filtering. Minor gaps remain around empty results and any cap on neighbor count, but nothing essential to correct invocation is absent.

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 three parameters are fully documented in the schema, including the relation filter and the public < trusted < private ordering. The description adds nothing beyond the schema, which is the expected baseline when the schema already does the work.

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 concrete verb and resource ('Get directly related facts') and pins the scope precisely as '1-hop, bidirectional', which implicitly separates it from multi-hop siblings like get_subgraph and graph_traverse. It does not name those siblings outright, so the differentiation relies on the agent inferring it from the hop count.

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?

Usage is only implied: the '1-hop' phrasing suggests this is the shallow-neighbor lookup as opposed to the deeper traversal tools, and the access_level enum hints at visibility-scoped reads. There is no explicit statement of when to prefer this over graph_traverse or get_subgraph, and no exclusions or prerequisites.

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