// for coding agents

Connect your coding agent to M1K3

Updated 11 September 2026 · By Round Tower, the makers of M1K3

Your agent already knows the web. M1K3 is the one that knows you. It runs on your Mac — your documents, your memories, a local brain, a voice — and it answers over MCP at http://127.0.0.1:4242/mcp while the app is open. Two commands put it in front of Claude Code, Codex, Cursor, VS Code or Zed.

$ brew trust round-tower/tap && brew install --cask round-tower/tap/m1k3
$ m1k3 connect claude

The first line is Homebrew: version 6 asks you to trust a third-party tap before it will install from one, and the cask then installs the nightly Developer ID build of M1K3 and symlinks m1k3 — the small command-line client that ships inside the app bundle — onto your PATH.

The second line writes the MCP entry for your agent. Swap claude for codex, cursor, vscode or zed; add --print to see the config without touching a file.

One switch, once

The MCP server is off by default, and it lives inside the app: open M1K3, then Settings ▸ Privacy ▸ MCP server. That is the whole setup. The same pane has a picker for all five agents with the snippet and a Copy button, if you would rather click than type.

Without Homebrew

Download the signed, notarized M1K3.dmg from GitHub Releases and drag it to Applications. Then either use the picker in Settings ▸ Privacy ▸ MCP server, or run the same command from inside the bundle:

$ /Applications/M1K3.app/Contents/Helpers/m1k3 connect claude

M1K3 needs an Apple Silicon Mac on macOS 26. It does not need an account.

Per agent

Five clients, and they genuinely differ — so connect does the safe thing for each and tells you which it did. These are the snippets m1k3 connect --print produces:

ClientWhat connect doesWhere it lands
Claude CodeRuns the command for youClaude Code's own registry
CursorEdits the file for you~/.cursor/mcp.json
VS CodeEdits the file for you~/Library/Application Support/Code/User/mcp.json
CodexPrints it to paste~/.codex/config.toml
ZedPrints it to paste~/.config/zed/settings.json

the two it edits keep every other server in the file, and get one .bak beside them the first time

Claude Code

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

-s user registers it once for every project, which is the point of a resident.

Cursor — ~/.cursor/mcp.json

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

VS Code — ~/Library/Application Support/Code/User/mcp.json

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

Codex — ~/.codex/config.toml

[mcp_servers.m1k3]
url = "http://127.0.0.1:4242/mcp"

Zed — ~/.config/zed/settings.json

"context_servers": {
  "m1k3": { "url": "http://127.0.0.1:4242/mcp" }
}

Zed's settings schema has moved more than once — check the shape against your Zed version. That, and Codex's TOML living in a file full of your own settings, is why those two print rather than write.

Tell your agent it's there

A connected server your agent never thinks to call is a wasted server. m1k3 agent-notes --write folds this block into the project's AGENTS.md — or CLAUDE.md, or any path you name. It is marker-fenced, so running it again replaces the block instead of stacking copies:

<!-- m1k3:begin -->
## M1K3 is the resident

M1K3 is a local, private assistant running on this Mac, reachable over MCP. It
holds the user's own documents and memories — so before you search the web, ask
it: `ask_m1k3` for a grounded answer, `search_knowledge` for the sources behind
one. Persist a durable fact with `remember` and it is there next session too.
`speak` narrates aloud, which is often kinder than a wall of text.

M1K3 can be down — a "disconnected" MCP server just means the app is closed.
Never block on it; carry on without it.
<!-- m1k3:end -->

Four lines an agent will actually obey beat a paragraph it skims. Run m1k3 agent-notes with no arguments to print it instead.

What your agent gets

Eighteen tools. The short version: it can ask a local brain, search your own documents, keep and recall facts across sessions, speak and listen, and put something on your todo list without ever taking it off.

ToolWhat it does
ask_m1k3Ask M1K3's local brain a question, grounded in your documents and memories
get_answer / list_jobsCollect a long ask by job id; list the jobs queued and finished
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
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
list_todosRead the user's todo list — what is open, what is proposed and not yet accepted
propose_todoPropose a todo, stamped with your client's name. Only the user can accept it
get_statusActive brain tier, voice status, and busy flags
open_linkOpen a URL in M1K3's review panel, beside the conversation

The consent gates are deliberate and asymmetric: an agent can remember and it can forget_memory, but it can only ever propose a todo — accepting, completing and dismissing stay with the person.

What it will not do

Frequently asked questions

Does the M1K3 app need to be running?

Yes, and the server has to be switched on. The MCP server lives inside the app, serves at http://127.0.0.1:4242/mcp only while M1K3 is open, and is off by default — turn it on once in Settings, Privacy, MCP server. A server your agent reports as disconnected almost always means the app is closed. The m1k3 command opens the app for you and waits up to twenty seconds for the port to answer.

Which agents can m1k3 connect for me?

Five, in two ways. For Claude Code it runs that client’s own registration command; for Cursor and VS Code it edits the one JSON file, keeping every other server in it and leaving a .bak copy beside it the first time. For Codex and Zed it prints the snippet for you to paste, because rewriting an editor’s whole settings file on a hunch is the wrong thing for a tool to do.

Is it safe to leave the MCP server on?

It binds to 127.0.0.1 and nothing else, so no other machine can reach it, and it refuses any request whose Host header is not a loopback address or whose Origin is anything but a loopback page — the defence against a web page being tricked into calling it. What it does not have is a password: any program running as you on this Mac can call it while it is on. Leave it on while you are working, and treat it the way you treat a shell.

What reaches the cloud when my agent uses M1K3?

From M1K3, nothing. Retrieval, embeddings, inference and voice all run on your Mac. The honest caveat is the other direction: whatever your agent reads through M1K3 becomes part of that agent’s own context, and a cloud-hosted agent sends its context wherever its conversations go. Local server, client’s rules. M1K3’s own network crossings are unchanged — a one-time model download you opt into, web tools that are off by default, and updates.

What does it cost?

Nothing. M1K3 is free for humans — no account, no subscription, no telemetry. The source is public under the Functional Source License (FSL-1.1-ALv2). Organisations that want one shared brain served to many people on their own hardware have a separate licence, M1K3 for Teams.

// the resident and the visitor

Give your agent someone to ask.

Two commands, one switch, and the thing that knows your machine is answering on loopback.