Inside the NemoClaw sandbox, my agents could only find notes by exact words. NemoClaw MCP memory needs a plugin and a vector extension the sandbox does not have yet. I stopped waiting for the fix inside.
Outside the sandbox, on the same Spark, my co-pilot Sparky already had NemoClaw MCP memory: every conversation and the whole documentation indexed by meaning with qwen3-embedding in Ollama. So I opened one door. Sparky answers as an MCP server on port 8888, the port NemoClaw's own local-memory preset was made for.
This is the follow-up to the NemoClaw memory search investigation. The problem was real. This one is for the NemoClaw team as much as for anyone running a Spark. A workaround that works today, and a few small things that would make it unnecessary.
Reproduced on this Spark: NemoClaw 0.0.123, OpenShell 0.0.106, OpenClaw 2026.7.1, Ollama 0.34.0.
One librarian for the whole operation. No copies of anything.
Sparky, the librarian next door: agents inside the sandbox reach semantic memory through one
door, port 8888 over MCP.
Every agent now has five tools: search_conversations, search_docs, recall, remember, gateway_status. The first thing Assistant did with them was find a decision another agent had taken two days earlier. One librarian, and the notes stay where they were written.
The aha moment
I had been staring at the locked room. The GPU, the embedding model, the data were all on this machine, and I kept asking how to get the search into the sandbox.
The answer was the other way round. Let the agents out to the memory, through the one thing OpenClaw already supports for exactly this: MCP servers. One extra line in the OpenClaw Gateway configuration. Sparky is just another server on the same gate.
Ten minutes after that thought, I called search_conversations("render farm move") through the agent. It answered "Friday, 2026-09-19, owner Bernhard" - correct, from a conversation the agent had never been part of. I grinned at the screen like an idiot.
Do not push the smart search into the locked room. Give one librarian a key to the room.
>
I kept asking how to get the search into the sandbox. The answer was the other way round: let the
agents out to the memory.
What I built, and what I ran into
Sparky listens a second time on the sandbox's bridge address (172.18.0.1:8888). It serves only /mcp and a health check there. It needs a bearer token that lives in its secret store.
Three things cost me an hour. I mention them because they are easy to improve, not because they were hard to work around.
Three surprises on the door //
None of these were hard. All three would be small upstream fixes. I burned an hour on them anyway.
The built-in local-memory preset opens port 8888, but only for the Hermes Python binary. A preset variant for OpenClaw's Node binary would make the door a one-liner. I wrote a nine-line custom preset instead.
Custom presets may not contain allowed_ips. --trusted-private-host accepts a private IP but not host.openshell.internal, the very name NemoClaw hands the sandbox. Accepting that name would remove one surprise.
Sparky refuses to write credentials as an ordinary config change, so the MCP token had to take the same hidden path as provider keys. The first attempt logged the token. I rotated it.
A documented secret-header pattern for mcp.servers would help everyone here.
Why one librarian, and no copies
The obvious next step would have been copying every agent's session files into Sparky. That is duplicating everything, twice on one disk. No.
What every real library does instead: catalog cards, not photocopies. For each page an agent writes, Sparky keeps one card, a numeric fingerprint of the meaning plus a pointer to the original file, and fetches the passage from the shelf only when someone asks. That is vector embeddings semantic relationships, on one disk, without copies.
Sparky is the admin on this machine and can read the originals in place.
One card per page: a fingerprint of the meaning plus a pointer to the original. No text stored.
One truth.
And one librarian beats one per agent. One embedding model loaded once, one index, one door to guard. An agent can find what a different agent learned yesterday.
If the in-sandbox search gets fixed upstream, and I hope it does, it becomes my fallback for the minutes Sparky is down. The main road is the librarian.
>
Catalog cards, not photocopies. One fingerprint, one pointer. The original stays on the shelf.
How NemoClaw MCP memory works today
The room still does keyword search. Fine. The room does not need to search itself any more.
An agent in the room asks the librarian through MCP. Sparky looks up the catalog cards by meaning, opens the original page in place, and answers with the passage and where it came from. Every call is audited.
The kitchen stays on the host. Ollama runs qwen3-embedding:4b once, next to the chat model. Only Sparky talks to the kitchen. The room never needs to.
Five tools on the door
search_conversations: find what any agent said, by meaning. search_docs: same door, for OpenClaw
and NemoClaw docs. recall: pull a passage from a catalog card. remember: write a new card, not a
second copy of the file. gateway_status: is the librarian awake.
For the NemoClaw team, with thanks
The sandbox model is right. It kept me honest more than once.
Three small things would turn this evening's workaround into a supported path: an OpenClaw-binary variant of local-memory, trusting host.openshell.internal in custom presets, and a documented secret path for MCP headers.
Happy to walk through it //
Everything I did is reproducible from the repo: preset, MCP server, cards, audit lines. If the
NemoClaw team wants the walkthrough on a call, I will make the time.
>
Do not push the smart search into the locked room. Give one librarian a key to the room.
Latest Blog Posts
Investigation2026-09-13
What is NemoClaw doing with semantic search?
NemoClaw 0.0.123 on an NVIDIA Spark: qwen3-embedding sits idle, the sandbox still searches by exact words, and the docs describe a path the image does not open. The problem is real. I need to investigate further.
Opinion2026-09-06
When Are You Getting Absorbed?
Absorption is not a maybe. MCP-connected corporate agents empty seats floor by floor — and the Agent War is already lit.
Opinion2026-09-06
Is OpenClaw About to Become DeadClaw?
OpenClaw becomes DeadClaw when the Gateway stays too complex for real users. Consumer-ready defaults—not more plugins—are what get Agents to work out of the box.
Opinion2026-09-06
Your AI Agent Needs a Door. I Built One.
I use WebMCP because my sites are Agent-first. The product is the Agent Gateway — MCP, REST, notify, discovery — so YOUR AI AGENT connects to bernhardrieder.com without screenshot theater. WebMCP is the in-page door.
A
B
C
This article is part of a Semantic Cluster. All links are managed by the Digital Architect AI.