search_memories_with_graphLABSCO SUMMARY
Local model or hosted model — the analysis layer is your choice.
The same server runs against Ollama on your own machine or against the Anthropic API, selected by the model name on the launch line, so the semantic work can stay local if the memories are sensitive. Three storage layers is real setup cost; the payoff is that a search returns related memories through the graph rather than only the ones that happened to share vocabulary.
What it is
A memory system rather than a note store. Memories go into a local SQL database, get embedded for semantic search in ChromaDB, and are linked into a Neo4j graph so retrieval can follow relationships instead of only matching text. A configurable LLM — a local Ollama model or the Anthropic API — does the classification and concept extraction.
What you get
- A memory saved with automatic linking into the relationship graph, and search that returns the wider context around a hit rather than the hit alone —
save_memory_full,search_memories_with_graph - The relationship network around one memory, and network-wide statistics —
get_graph_context_for_memory,get_graph_statistics - Health and container status for the backing services —
memory_status - Semantic analysis over stored memories: classification as technical, emotional, procedural or factual, key-concept extraction, metadata enrichment for tools, people and code, and automatic semantic linking, run asynchronously in batches
- Container management that starts ChromaDB and Neo4j for you through Podman or Docker and restarts them when they fail
Requirements
Node.js >= 18.0 and TypeScript >= 5.0. For the analysis layer, either an Anthropic API key in ANTHROPIC_API_KEY or a local Ollama model — the launch line takes --db-path for the database file and --brain-model for the model to use. Neo4j is optional but recommended, configured through NEO4J_URL, NEO4J_USER and NEO4J_PASSWORD, and can be run from a container. Install from a clone with npm install and npm run build, then point your client at build/index.js.
Setup effort
Build from source — git clone https://github.com/spie-mkroehn/baby-skynet.git
USE CASES
Keeping project context across sessions
Save decisions and findings as they happen so the next conversation starts from them instead of from scratch.
Finding something you discussed weeks ago
Search semantically and get the surrounding context, rather than needing the exact words you used at the time.
Seeing how a topic connects to the rest of your work
Read the relationship network around a memory to surface links you did not record explicitly.
Checking the stack is actually up
Ask for status before relying on retrieval — it reports container health for the vector and graph services too.
19 tools
Listed in project docs. Your client may show a different list.
search_memories_intelligentsave_memory_fullsave_memory_sqlget_graph_context_for_memoryget_graph_statisticsmemory_statustest_llm_connectionlist_categoriesget_recent_memoriesrecall_categoryread_system_logsupdate_memory_sqlmove_memory_sqlexecute_special_directivebatch_analyze_memoriesget_analysis_statusget_analysis_resultretrieve_memory_advancedBEFORE YOU INSTALL
What to know first
Tools you get
19 tools named in the project's documentation.
Requires
- node on PATH
- Node.js >= 18.0
- ANTHROPIC_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/spie-mkroehn/baby-skynet.git
cd baby-skynet
npm install
npm run buildMCP Clients
Claude Desktop
{
"mcpServers": {
"baby-skynet": {
"command": "node",
"args": [
"<YOUR_PATH_TO_BABY_SKYNET>/build/index.js",
"--db-path",
"<YOUR_PATH_TO_CLAUDE_MEMORY>",
"--brain-model",
"claude-3-5-haiku-latest"
],
"env": {
"ANTHROPIC_API_KEY": "<YOUR_ANTHROPIC_API_KEY>"
}
}
}
}<YOUR_PATH_TO_BABY_SKYNET> is the folder you cloned and built, and <YOUR_PATH_TO_CLAUDE_MEMORY> is where the memory database should be kept. Put your Anthropic API key in ANTHROPIC_API_KEY — or, for a local Ollama model, drop the env entry and pass the model (for example llama3.1:latest) to --brain-model.