query_entity_graph
Traverse the memory graph from a seed entity (BFS, depth-limited, type/direction filtered). Retired entities are excluded from the seed and the result set unless include_retired is set — traversal still walks THROUGH a retired node to reach its neighbors, only the returned/visible set is filtered. An entity whose own note is not readable under the caller’s folder read ACL (readPaths) is NOT retired-like: it is never returned and never walked through, so nothing reachable only via it appears, and an unreadable seed reads as ‘seed entity not found’. Each returned node’s observations are filtered by as_of (default now — see get_entity’s own description for the exact rule), so a graph walk answers ‘what did we believe as_of D’ the same way a direct get_entity does. response_format=concise drops each node’s hop-by-hop path (distance stays), shapes observations as get_entity does, and omits as_of and total_returned. Domain: knowledge.
| Domain | knowledge |
| Scopes | read:memory |
| Access | read |
| Tags | read-only, domain:knowledge |
| Profile | core, full |
Annotations
Section titled “Annotations”| Annotation | Value |
|---|---|
| Read-only | yes |
| Destructive | no |
| Idempotent | no |
| Accepts an idempotency key | no |
Idempotent is the advisory MCP idempotentHint. Destructive is also yes for a tool that
asks for confirmation only on some calls.
Confirmation (human in the loop)
Section titled “Confirmation (human in the loop)”No human confirmation is required to call this tool.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
vault |
string |
— | Vault id. May be omitted when only one vault is available. length 1–64; pattern ^[a-z0-9_-]+$ |
|
seed_entity_id |
string |
yes | — | length ≥ 1 |
depth |
integer |
— | range 1–5 | |
relation_types |
string[] |
— | — | |
entity_types |
string[] |
— | — | |
direction |
enum |
"both" |
One of: "out", "in", "both" |
|
include_retired |
boolean |
false |
— | |
as_of |
integer |
— | range ≥ 0 | |
response_format |
enum |
— | concise returns only the high-signal fields; detailed (the shipped default) returns the full payload. Errors and safety warnings are never trimmed. When omitted, the server’s tools.defaults.responseFormat applies. One of: "concise", "detailed" |
|
verbosity |
enum |
— | Legacy alias for response_format: terse = concise, full = detailed. One of: "full", "terse" |
|
limit |
integer |
— | range 1–1000 | |
cursor |
string |
— | — |
Output
Section titled “Output”| Field | Type | Always present | Description |
|---|---|---|---|
vault |
string |
yes | — |
as_of |
number |
— | |
seed_entity_id |
string |
yes | — |
items |
object[] |
yes | — |
items[].entity_id |
string |
yes | — |
items[].type |
string |
yes | — |
items[].name |
string |
yes | — |
items[].status |
enum |
yes | One of: "active", "retired" |
items[].distance |
number |
yes | — |
items[].path |
object[] |
— | |
items[].observations |
object[] |
yes | — |
next_cursor |
string | null |
yes | — |
total_returned |
number |
— |
Related tools
Section titled “Related tools”Other tools in the knowledge domain: add_observation, audit_provenance, close_goal, commit_capture, commit_wiki_page, create_entity, delete_entity, diagnose_retrieval, draft_wiki_page, end_session, enqueue_capture, episode_stats, explain_answer, find_existing_page, gap_report, get_entity, get_session_traces, knowledge_challenge, link_entities, lint_wiki, list_capture_queue, list_contradictions, list_goals, note_quality_report, plur_get, plur_recall, plur_recall_hybrid, plur_similarity_search, record_retrieval_feedback, reflect, rename_entity, session_bootstrap, set_goal, start_session, unlink_entities, update_observation, vault_context, vault_graph_search, work_episode_chain, work_episodes, work_forget, work_result, work_search.
Back to the tool catalog.