Graph Search
graph_searchFind what the graph knows about something, plus its neighbourhood. FREE.
Scores entities by how many query words appear in the name, type and observations, then pulls in whatever is within the requested number of hops - because the useful answer to "what do we know about Acme" is usually Acme plus who it is connected to. Typical input {"graph": {...}, "query": "acme renewal", "hops": 1} returns {"matches": [{"name": "Acme Corp", "score": 3, "why": ["name", "observation"]}], "neighbourhood": {"entities": [...], "relations": [...]}, "hops": 1}.
Use to read memory back before answering. Not for writing (graph_upsert) and not for narrowing by date, which graph_at_time does. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "query must contain at least one word or number"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hops | No | How far to expand from each match along relations. 0 returns matches only; 3 is the maximum. Default 1. | |
| graph | Yes | The graph document to search. | |
| limit | No | Maximum entities to return. Default 20, maximum 200. | |
| query | Yes | Words to look for, e.g. "acme renewal". Matching is on whole lowercase words, so it is exact and repeatable rather than fuzzy. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||