Install M1K3
Four steps, and the third one is optional. Get the app, say hello to the brain that is already on your Mac, flip one switch and connect your coding agent, then check it from the terminal. Nothing here asks for an account, a key, or a card — and nothing you say to it leaves the machine.
the page reorders itself a little; every route works for both
Setting this up for an agent, or as one? The whole thing is also a plain-text file your agent can fetch and follow — curl -sL https://m1k3.app/install.txt — and the full recipe is at the bottom of this page.
Get the app
Three routes to the same signed app. Homebrew is the one that also puts the m1k3 command on your PATH, which is why agents prefer it; the DMG is the one-click route; the App Store build is in review.
Homebrew
Homebrew 6 asks you to trust a third-party tap first. The cask installs the nightly Developer ID build and symlinks m1k3 into /opt/homebrew/bin.
$ brew trust round-tower/tap $ brew install --cask round-tower/tap/m1k3
Download the DMG
Signed and notarized by Round Tower. Open it, drag M1K3 to Applications. The command-line client is inside the bundle at Contents/Helpers/m1k3.
Mac App Store
1.0 was submitted to App Review on 15 September 2026. Until it is live, the TestFlight beta is the same build lane. One honest note: the App Store copy of m1k3 is sandboxed, so its connect prints the config rather than writing it.
Check: M1K3 is in Applications. Nothing has been downloaded but the app itself.
Say hello
Open M1K3. First run picks Mini — Apple's on-device model, already on your Mac, so there is nothing to download and nothing to sign in to. Ask it anything. Type, or hold the mic and talk; ending a spoken sentence on "please" hands it the floor.
After your first answer M1K3 offers the upgrade: Lil (Qwen 3, about 2.2 GB, downloaded once from Hugging Face) is the brain that fronts the conversation on every Mac; Big (Gemma 4 12B) is offered on 16 GB Macs and up, and reached by delegation for deep work. Both are a tap away in Settings any time, and how they score is public.
From a shell, the same first run: open -a M1K3. The brain choice is a click in the app, on purpose — a download of that size is the user's to start.
Check: an answer came back, and the menu-bar M is lit. You now have a local AI. Step 3 is for agents; step 4 is a two-line proof it's working.
Connect your agent · optional
One switch, once. The MCP server lives inside the app and is off by default: open M1K3 ▸ Settings ▸ Privacy ▸ MCP server and turn it on. It serves http://127.0.0.1:4242/mcp while the app is open, binds to loopback only, and answers one client at a time. That pane also has a picker for all five agents with the snippet and a Copy button, if you would rather click than type.
Then one command wires your client. Pick yours:
$ m1k3 connect claudeconnect runs Claude Code's own registration for you — this, at user scope so it is there in every project:
$ claude mcp add --transport http -s user m1k3 http://127.0.0.1:4242/mcp$ m1k3 connect cursorconnect edits ~/.cursor/mcp.json for you, keeps every other server in it, and leaves one .bak beside it the first time. What lands:
{
"mcpServers": {
"m1k3": { "url": "http://127.0.0.1:4242/mcp" }
}
}$ m1k3 connect vscodeconnect edits ~/Library/Application Support/Code/User/mcp.json for you, keeps every other server in it, and leaves one .bak beside it the first time. What lands:
{
"servers": {
"m1k3": { "type": "http", "url": "http://127.0.0.1:4242/mcp" }
}
}$ m1k3 connect codexCodex's TOML lives in a file full of your own settings, so connect prints this for you to paste into ~/.codex/config.toml rather than rewriting the file on a hunch:
[mcp_servers.m1k3]
url = "http://127.0.0.1:4242/mcp"$ m1k3 connect zedZed's settings schema has moved more than once, so connect prints this for you to paste into ~/.config/zed/settings.json — check the shape against your Zed version:
"context_servers": { "m1k3": { "url": "http://127.0.0.1:4242/mcp" } }
Add --print to any of them to see the config without touching a file. Installed from the DMG and not Homebrew? The same command lives at /Applications/M1K3.app/Contents/Helpers/m1k3.
Tell your agent it's there
A connected server your agent never thinks to call is a wasted server. This folds a short "M1K3 is the resident" block into the project's AGENTS.md — or CLAUDE.md, or any path you name — marker-fenced, so running it again replaces the block instead of stacking copies:
$ m1k3 agent-notes --writeCheck: your agent lists an m1k3 server, and its project notes say to ask M1K3 before searching the web. The block itself is on the agents page.
Verify
Three commands, each proving one thing: the app answers on the port, the voice works, the brain runs a real turn.
$ m1k3 status {"brain":"Lil","provider":"kokoro","speaking":false,"in_conversation":false, …} $ m1k3 speak "hello from the terminal" $ m1k3 ask "what can you do?"
A "disconnected" server almost always means the app is closed — m1k3 opens it for you and waits up to twenty seconds for the port. If status still fails, the switch in Settings ▸ Privacy ▸ MCP server is off.
Done. Two minutes, no account, and the thing that knows your machine is answering on loopback. From here: what your agent gets (18 tools, and the seven things the server will not do), the brains and how they score, how to verify the privacy claims yourself.
The whole thing as text, for agents
The same four steps as a file your agent can fetch and follow — m1k3.app/install.txt. Two of the steps are clicks in the app, on purpose: turning the server on, and starting a 2 GB download, are the user's to do.
# 1 · get the app (puts `m1k3` on PATH) brew trust round-tower/tap brew install --cask round-tower/tap/m1k3 # 2 · open it once — first run is Mini, nothing to download open -a M1K3 # 3 · ask the user to flip the switch: M1K3 ▸ Settings ▸ Privacy ▸ MCP server → On # then wire your client (claude | codex | cursor | vscode | zed) m1k3 connect claude m1k3 agent-notes --write # 4 · verify m1k3 status m1k3 ask "what can you do?"
Frequently asked questions
Will it run on an Intel Mac?
No. M1K3 needs Apple Silicon: every brain runs on Metal through MLX, and the 1.0 build ships arm64 only, so an Intel Mac has nothing that thinks. It needs macOS 26 (Tahoe) or later.
Do I need an account, a key, or a subscription?
None of the three. M1K3 is free for humans — no account, no API key, no subscription, no telemetry. First run works with Apple's on-device model before anything downloads. The source is public under the Functional Source License; organisations that want one shared brain on their own hardware license M1K3 for Teams separately.
What touches the network during install and use?
Three documented things, all yours to start: the download of the app itself (Homebrew, GitHub Releases, TestFlight or the App Store); a one-time model download from Hugging Face if you opt into the Lil or Big brain — Mini needs nothing; and the web-search tools, which are off by default. Conversations, documents, voice and memories never leave the Mac. The MCP server binds to 127.0.0.1 and nothing else.
How do I uninstall it cleanly?
Homebrew: brew uninstall --cask m1k3, and add --zap to remove its data too. DMG: drag M1K3 from Applications to the Trash. Everything M1K3 stores lives in one sandbox container, ~/Library/Containers/app.m1k3, and the Lil and Big weights are inside it — delete that folder and nothing of M1K3 remains. If you connected an agent, run m1k3 connect <client> --print to see the one entry to remove from that client's config.
Why does connect only print on the App Store build?
Because that copy of m1k3 is sandboxed: it can neither read ~/.cursor/mcp.json nor run claude for you, and writing into its own container while reporting success would be worse than refusing. It prints the config and says so. The Developer ID build — the DMG and the Homebrew cask — does the write. Either way the picker in Settings ▸ Privacy ▸ MCP server shows the same snippet with a Copy button.
Own your AI.
Free for humans, forever. Made in Ireland. Nothing leaves your Mac.