// for agents & their humans

Give Claude a local memory

Updated 2026-07-10 · A tutorial from Round Tower, the makers of M1K3

Short answer: run an MCP knowledge server on your Mac and point Claude at it. M1K3 — a free, open-source AI companion for Apple Silicon Macs — serves the Model Context Protocol over loopback HTTP at http://127.0.0.1:4242/mcp while the app runs. Import your documents and notes into M1K3, register the server with Claude Code, and Claude gains tools like search_knowledge, recall_memory, and remember over your knowledge — with retrieval, embeddings, and storage all happening on your machine. Claude Desktop connects too, via a knowledge-only stdio binary. Setup is one config snippet; the walkthrough is below.

What is an MCP knowledge server?

MCP (the Model Context Protocol) is an open standard that lets AI assistants call external tools. A knowledge server is the pattern where those tools front a document store: the assistant can search, list, and read what you've put there, instead of relying on what its model happened to memorise in training.

Cloud assistants usually solve "memory" with cloud storage. The local variant flips that: M1K3 keeps the knowledge base on your Mac — app-sandboxed, encrypted with a Keychain-held key — and exposes it only on 127.0.0.1, the loopback interface no other machine can reach. Claude gets a second brain; the second brain stays home.

What tools does M1K3 expose over MCP?

Fifteen, spanning knowledge, memory, intelligence, and voice (the README's table is generated live from the running server):

ToolWhat it does
search_knowledgeSearch M1K3's stored knowledge — documents, calls, notes; hybrid (vector + full-text) retrieval
list_documentsList indexed items with ids, kinds, and titles
get_documentFetch the text of one indexed item by id
rememberStore text in M1K3's memory, searchable in every future conversation
recall_memoryRecall atomic facts from the temporal memory graph
related_memoryBest-matching fact, plus one step out to its linked or superseded neighbours
forget_memoryPermanently forget a fact — the consent primitive, the counterpart to remember
memory_statsHow many live facts M1K3 currently remembers
ask_m1k3Ask M1K3's local brain a question (grounded in its knowledge)
get_answerFetch the result of a long-running ask_m1k3 call by job id
speak / stop_speakingSpeak text aloud through M1K3's voice (and animate the avatar); stop immediately
listenListen on the mic and return the transcript when the speaker pauses
get_statusActive brain tier, voice status, and busy flags
open_linkOpen a URL in M1K3's review panel, beside the conversation

How do I connect Claude Code to M1K3?

Step 1 — install M1K3 and give it something to know. Get the app (TestFlight, DMG, or source; requires macOS 26 on Apple Silicon), then drop documents, notes, or PDFs into it. M1K3 indexes them into its knowledge graph on-device.

Step 2 — register the server. With the app running, either add this to a .mcp.json in your project (this is verbatim the config M1K3's own repo uses):

{
  "mcpServers": {
    "m1k3": {
      "type": "http",
      "url": "http://127.0.0.1:4242/mcp"
    }
  }
}

…or register it once from the command line:

$ claude mcp add --transport http m1k3 http://127.0.0.1:4242/mcp

Step 3 — use it. Ask Claude something your documents answer:

 what did the architect's planning docs say about the roofline?
⏺ m1k3 - search_knowledge (query: "roofline planning")
  ⎿ 3 chunks, retrieved on-device

Claude now cites your files, not its training data. The remember / recall_memory tools work the same way — an agent can persist a fact today and another agent can recall it next week, all from the same local store.

How do I connect Claude Desktop or other clients?

The repo documents two surfaces: the in-app HTTP server above (the live way agents reach M1K3's voice, RAG, and memory), and a M1K3MCP stdio binary you can build from source and register in claude_desktop_config.json for knowledge-only access. Client-by-client setup lives in macos/docs/MCP_SETUP.md. MCP is an open protocol, so any MCP-capable client — not just Claude — can connect to the same endpoint.

Does this stay private?

The server side, yes, structurally: it binds to 127.0.0.1 (unreachable from the network), and search, embeddings, and storage all run on-device in a sandboxed app with an encrypted store.

One caveat we'd rather state than have you discover: whatever an MCP client retrieves becomes part of that client's context. If the client is a cloud-hosted assistant, retrieved text travels wherever that assistant's conversations go. Local server, client's rules — so connect the clients you trust, and note that M1K3's forget_memory tool exists precisely so consent stays revocable on the store itself.

Frequently asked questions

Does the M1K3 app need to be running?

Yes — the HTTP MCP server lives inside the app and serves at http://127.0.0.1:4242/mcp while it runs. (The buildable stdio binary reads the app's store directly; see the setup doc.)

Can agents write to the knowledge base, or only read?

Both. remember stores facts into the same store search_knowledge reads, and forget_memory deletes them — storage with a consent primitive built in.

Does it work with agents other than Claude?

Yes — MCP is an open protocol, and the endpoint is a standard HTTP MCP server. Claude Code and Claude Desktop are the documented first-class paths.

What does it cost?

Nothing. M1K3 is free and open source (Apache-2.0) — no account, no subscription, no telemetry.

// your second brain, local

Give your agents a memory.

M1K3 is free, open source, and entirely on-device. One config snippet and Claude knows what you know.