Skip to content

Memory server

Start the server:

bash
tuls memory \
  --memory-file /work/state/memory.jsonl \
  --allow memory.read \
  --allow memory.write

If --memory-file is omitted:

  1. MEMORY_FILE_PATH is used when present;
  2. otherwise memory.jsonl is used in the process working directory.

Tools

ToolCapabilityPurpose
read_graphmemory.readRead the graph
search_nodesmemory.readSearch names, types, and observations
open_nodesmemory.readOpen named entities
create_entitiesmemory.writeAdd entities
create_relationsmemory.writeAdd relations
add_observationsmemory.writeAppend observations to entities
delete_entitiesmemory.writeDelete entities
delete_observationsmemory.writeDelete selected observations
delete_relationsmemory.writeDelete relations

Knowledge graph resource

The server also exposes the knowledge graph as:

text
memory://knowledge-graph

Grant memory.read when resource access is required. The resource is an auxiliary surface: an exact single-tool grant like --allow memory/read_graph keeps the tool but hides the resource (see capability policy).

Persistence

The graph is stored as JSONL and mutations rewrite a complete validated graph atomically. Existing Unix file permissions are preserved when replacing an existing regular file.

No-op mutations — duplicate entity/relation/observation creates, or deletes that match nothing — change nothing: they do not rewrite the file and do not send resource-update notifications.

Read-only memory:

bash
tuls memory \
  --memory-file /work/state/memory.jsonl \
  --allow memory.read

Related

MIT licensed · built for MCP 2026-07-28