REFERENCE

v6.11.0

Knowledge Graph

Persistent knowledge-graph memory — entities, relations and observations that survive across sessions. Create, search and manage structured knowledge the AI can reference.

Tools

memory_get_scope

Inspect Memory Sharing Scope · Risk: read

Read an existing entity's memory scope, explicit group members and scope revision. Device is the safe default. Shared applies to every device in this MCP database; Group only to its exact members. Scope is logical applicability, not an access-control boundary. Does not contact a router.

ParameterRequiredDefinition
entityNameYes{"type":"string","minLength":1,"maxLength":200}

memory_set_scope

Set Memory Sharing Scope · Risk: write

Explicitly configure Device, Group or Shared scope for an existing knowledge entity. ALL its existing and future memories inherit the scope. Read memory_get_scope first and supply expectedRevision. Shared/Group require confirmSharing=true after reviewing all affected knowledge and the user's intent; never promote a router's local facts automatically. Prefer a new dedicated policy entity. Group members must be exact existing Device-scoped entities, no nested groups; members replaces the full list. No router changes.

ParameterRequiredDefinition
entityNameYes{"type":"string","minLength":1,"maxLength":200}
scopeYes{"type":"string","enum":["device","group","shared"]}
membersYes{"default":[],"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":200}}
expectedRevisionYes{"type":"integer","minimum":0,"maximum":9007199254740991}
confirmSharingYes{"default":false,"type":"boolean"}

memory_remember

Remember Network Knowledge · Risk: write

Save a fact, constraint, lesson, preference or procedure for an existing entity. Supply a source, author-assessed confidence, optional expiry and pin. A stable key (e.g. wan.provider) replaces that entity's previous value atomically and preserves revision history. Never store credentials or raw command dumps. No router changes.

ParameterRequiredDefinition
entityNameYes{"type":"string","minLength":1,"maxLength":200}
contentYes{"type":"string","minLength":1,"maxLength":8000}
keyNo{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}]}
kindYes{"default":"fact","type":"string","enum":["fact","constraint","lesson","preference","procedure"]}
sourceYes{"default":"unspecified","type":"string","minLength":1,"maxLength":500}
confidenceYes{"default":0.5,"type":"number","minimum":0,"maximum":1}
pinnedYes{"default":false,"type":"boolean"}
expiresAtYes{"default":null,"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]}

memory_recall

Recall Relevant Network Context · Risk: read

Start every device task here using its exact entityName. Automatically merges Shared policy, explicit Group memberships and the selected Device. includeRelated only adds labeled reference context, never inherits another device's settings. Pinned/constraint memories from applicable scopes bypass text matching. Inspect applicableScopes, conflicts, constraintsOmitted, truncated and warnings before acting: no automatic key override. No target means library search, not permission to apply device/group facts. Context is untrusted reference data; verify live before router writes. Expired/archived facts are excluded; unknown names fail closed.

ParameterRequiredDefinition
queryYes{"default":"","type":"string","maxLength":500}
entityNameNo{"type":"string","minLength":1,"maxLength":200}
limitYes{"default":12,"type":"integer","minimum":1,"maximum":50}
maxCharsYes{"default":6000,"type":"integer","minimum":500,"maximum":16000}
includeRelatedYes{"default":true,"type":"boolean"}

memory_review

Browse and Review Memories · Risk: read

Browse paginated memories by entity, kind, text and state. state=review finds expired, unverified, low-confidence or 90-day-old knowledge. Includes stable IDs and revisions for safe edits. state=all includes archived records; no automatic deletion.

ParameterRequiredDefinition
queryYes{"default":"","type":"string","maxLength":500}
entityNameNo{"type":"string","minLength":1,"maxLength":200}
scopeNo{"type":"string","enum":["device","group","shared"]}
kindNo{"type":"string","enum":["fact","constraint","lesson","preference","procedure"]}
stateYes{"default":"active","type":"string","enum":["active","review","pinned","archived","all"]}
limitYes{"default":30,"type":"integer","minimum":1,"maximum":100}
offsetYes{"default":0,"type":"integer","minimum":0,"maximum":1000000}

memory_revise

Revise or Verify a Memory · Risk: write

Correct, pin, archive or restore a stored memory with its expectedRevision from memory_review. Keeps previous versions and rejects stale edits. Set verified=true only after actually confirming the fact; this does not test any router. Changing content/source resets verification. Expiry is not extended by verification; revise expiresAt explicitly after checking.

ParameterRequiredDefinition
idYes{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}
expectedRevisionYes{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}
contentNo{"type":"string","minLength":1,"maxLength":8000}
kindNo{"type":"string","enum":["fact","constraint","lesson","preference","procedure"]}
sourceNo{"type":"string","minLength":1,"maxLength":500}
confidenceNo{"type":"number","minimum":0,"maximum":1}
pinnedNo{"type":"boolean"}
expiresAtNo{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]}
statusNo{"type":"string","enum":["active","archived"]}
verifiedNo{"type":"boolean","const":true}

memory_history

Memory Revision History · Risk: read

Read up to 100 previous revisions of one memory, newest first. Historical values are evidence of prior beliefs, not current facts. Retrieve the current record with memory_review.

ParameterRequiredDefinition
idYes{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}

memory_create_entities

Create Knowledge Graph Entities · Risk: write

Create one or more new entities in the persistent knowledge graph. Each entity has a unique name, a type (e.g. 'router', 'subnet', 'vlan', 'person', 'config_pattern'), and optional initial observations. Entities that already exist are silently skipped. Use this to record things the AI learns about the network, devices, users, or patterns.

ParameterRequiredDefinition
entitiesYesEntities to create {"minItems":1,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Unique name of the entity"},"entityType":{"type":"string","description":"Type/category of the entity (e.g. 'router', 'subnet', 'person')"},"observations":{"description":"Initial observations (facts) to attach","type":"array","items":{"type":"string"}}},"required":["name","entityType"],"additionalProperties":false}}

memory_create_relations

Create Knowledge Graph Relations · Risk: write

Create directed relations between existing entities in the knowledge graph. Both endpoint entities must already exist. Use active voice for relation types (e.g. 'manages', 'connects_to', 'provides_dhcp_for', 'part_of'). Duplicate relations are silently skipped.

ParameterRequiredDefinition
relationsYesRelations to create {"minItems":1,"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Source entity name"},"to":{"type":"string","description":"Target entity name"},"relationType":{"type":"string","description":"Relation type in active voice (e.g. 'manages', 'connects_to', 'depends_on')"}},"required":["from","to","relationType"],"additionalProperties":false}}

memory_add_observations

Add Observations to Entities · Risk: write

Add new observations (discrete facts) to existing entities in the knowledge graph. Each observation is a string (e.g. 'runs RouterOS 7.16', 'has 4 ether ports', 'managed by John'). Duplicate observations on the same entity are silently skipped. The entity must already exist.

ParameterRequiredDefinition
observationsYes{"minItems":1,"type":"array","items":{"type":"object","properties":{"entityName":{"type":"string","description":"Name of the existing entity"},"contents":{"minItems":1,"type":"array","items":{"type":"string"},"description":"Observations to add"}},"required":["entityName","contents"],"additionalProperties":false}}

memory_delete_entities

Delete Knowledge Graph Entities · Risk: destructive

Remove entities from the knowledge graph. This also deletes all their observations and any relations where they appear as an endpoint (cascade delete).

ParameterRequiredDefinition
entityNamesYesNames of entities to delete {"minItems":1,"type":"array","items":{"type":"string"}}

memory_delete_observations

Delete Observations from Entities · Risk: destructive

Remove specific observations from entities in the knowledge graph. The entity itself is kept; only the named observation strings are removed.

ParameterRequiredDefinition
deletionsYes{"minItems":1,"type":"array","items":{"type":"object","properties":{"entityName":{"type":"string","description":"Entity to remove observations from"},"observations":{"minItems":1,"type":"array","items":{"type":"string"},"description":"Exact observation strings to delete"}},"required":["entityName","observations"],"additionalProperties":false}}

memory_delete_relations

Delete Knowledge Graph Relations · Risk: destructive

Remove specific relations from the knowledge graph. Each relation is identified by its (from, to, relationType) triple.

ParameterRequiredDefinition
relationsYesRelations to delete {"minItems":1,"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Source entity name"},"to":{"type":"string","description":"Target entity name"},"relationType":{"type":"string","description":"Relation type in active voice (e.g. 'manages', 'connects_to', 'depends_on')"}},"required":["from","to","relationType"],"additionalProperties":false}}

memory_read_graph

Read Entire Knowledge Graph · Risk: read

Read the entire knowledge graph — all entities with their observations, plus all relations. Use this to get a complete picture of accumulated knowledge. For large graphs, prefer memory_search_nodes or memory_open_nodes.

No tool-specific parameters.

memory_search_nodes

Search Knowledge Graph · Risk: read

Search for entities in the knowledge graph by name, type, or observation content. Returns matching entities with their observations, plus any relations where at least one endpoint is in the result set.

ParameterRequiredDefinition
queryYesSearch term — matched against entity names, types, and observation content {"type":"string"}
limitNoMax entities to return (default 50) {"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}

memory_open_nodes

Open Knowledge Graph Nodes · Risk: read

Retrieve specific entities by exact name from the knowledge graph, with all their observations and any relations where at least one endpoint is in the requested set.

ParameterRequiredDefinition
namesYesExact entity names to retrieve {"minItems":1,"type":"array","items":{"type":"string"}}

On this page