M1K3

Official registry Productivity

Private memory, documents, voice and a local LLM for your agents, served by a Mac app on-device.

Install

The installation steps are in the documentation below. Documentation

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Your AI. Your devices. Private by design.
  2. What's inside
  3. Get M1K3
  4. Agents
  5. MCP integration
  6. The attic
  7. Contributing
  8. Privacy
  9. License

Your AI. Your devices. Private by design.

Local AI that runs entirely on your Apple-Silicon Mac — on-device LLM inference, live voice, a personal knowledge graph with RAG, encrypted call transcription, a local agent, and an MCP server.

No telemetry. Every network call shows itself and can be switched off.

Download the DMG · m1k3.app · TestFlight beta · Connect a coding agent

macOS 26 Tahoe or later · Apple Silicon · signed & notarized (Developer ID)


What's inside

  • On-device inference — three brains: Apple Foundation Models for instant answers, Qwen 3 4B, and Gemma 4 12B via MLX. Chat with Mini from the first second while a bigger brain downloads.
  • Live voice — sentence-streamed neural TTS + on-device speech-to-text, and a full-window voice mode with karaoke captions.
  • Knowledge + RAG — drop in notes and PDFs; M1K3 remembers and cites, locally.
  • A memory that repairs itself — a temporal memory graph of dated facts; when you correct something, the dream cycle supersedes the stale fact instead of silently losing either version, and keeps the history visible.
  • A face, and creatures — the Phosphor Fox by default (a white wireframe lattice), with the pixel face and a cast of low-poly 3D companions to choose from, all rendered on-device with RealityKit.
  • Call memory — encrypted, on-device call transcription.
  • A local agent — tools that do things, grounded in your own data, with markdown + syntax-highlighted code in chat.
  • MCP server — 18 tools over local HTTP; give Claude and other agents a resident with a voice, a memory, and your knowledge.

Everything above runs on the device. M1K3 uses the network for two things: the one-time download of a bigger brain when you ask for one, and web search, which is on by default so answers can be current, with one switch in Settings to turn it off. The Mac App Store build also carries an opt-in Private Cloud Compute brain — off by default, picked by you, consent asked once, every PCC answer labelled. The Developer ID DMG has no cloud path at all — see SECURITY.md.

SurfaceWhereStackStatus
macOS nativemacos/Swift 6.2, SwiftUI, MLX-SwiftThe product — on-device knowledge · RAG · agent · voice · calls. Build it: macos/README.md.
iOS + visionOSmacos/M1K3iOSApp/Swift 6.2, SwiftUINative SwiftUI shell on the same macos/Sources/ package graph — chat · RAG · memories · docs. Ladder tops out at Lil on-device. See macos/docs/IOS_VISIONOS_PORT.md.
間 AI mobileapp/Kotlin MultiplatformSlow burn — the Android surface (KMP), pre-release. See app/README.md.
The atticgit history before 7545b4a4Python, THREE.js, TauriWhere M1K3 grew up — the original CLI, avatar experiments, and ideas. Cleared from the tree 2026-08-13; see The attic.

Get M1K3

  • Mac App Store — the easiest way in; it updates through the store.
  • Homebrew — brew trust round-tower/tap && brew install --cask round-tower/tap/m1k3 (also puts m1k3 on your PATH).
  • Download the DMG — signed & notarized.
  • Build from source — macos/README.md: clone → xcodegen generate → ⌘R.
  • iPhone & iPad on the App Store — the same purchase as the Mac app; the ladder tops out at Lil on-device. The TestFlight beta gets builds first.

Agents

M1K3 ships a command-line client, m1k3, inside the app bundle. It's a thin client — the running app is the daemon (one MLX slot on the machine, and it belongs to M1K3.app).

brew trust round-tower/tap                 # Homebrew 6: trust the tap once
brew install --cask round-tower/tap/m1k3   # the cask symlinks Contents/Helpers/m1k3
# Open M1K3 ▸ Settings ▸ MCP Server: switch it on, then Copy the token
m1k3 login                                 # paste the token (echo off; kept in your keychain)
m1k3 connect claude                        # also: codex · cursor · vscode · zed

The MCP server is off until you switch it on, and every request carries its access token: m1k3 login stores it, and connect writes it into your agent's config as an Authorization: Bearer header. Without it the server answers 401.

Then m1k3 status, m1k3 ask "what did I decide about the pin?", m1k3 remember "…", m1k3 search "…", m1k3 speak "build's green".

Prefer clicking? M1K3 ▸ Settings ▸ MCP Server has the same thing: pick your agent, copy the snippet (the token is already in it). Already have M1K3 installed? The binary is at /Applications/M1K3.app/Contents/Helpers/m1k3.

Tell your agents about the resident

m1k3 agent-notes --write folds this into a project's AGENTS.md (or any path you name). It's marker-fenced, so re-running it replaces the block rather than stacking copies:


## 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.

One honest caveat: the App Store build's helper is sandboxed, so it can't write another app's config file or run claude for you. There, m1k3 connect prints the config to paste instead — and says so. The Developer ID build (the DMG and the Homebrew cask) does the write.

MCP integration

The running Mac app serves MCP over HTTP at http://127.0.0.1:4242/mcp — knowledge search, documents, voice, and ask_m1k3 (ask the resident AI). Every request carries the server's access token (Settings ▸ MCP Server); m1k3 login && m1k3 connect claude wires Claude Code in. Setup for any client: macos/docs/MCP_SETUP.md.

Tools

18 tools (generated live from the running server).

ToolRequired argsWhat it does
ask_m1k3—Ask M1K3's local brain a question
forget_memoryqueryPermanently forget a fact M1K3 remembers — the consent primitive, the counterpart to remember
get_answerjob_idFetch the result of an ask_m1k3 call that returned a job id because it was taking a while
get_documentidFetch the text of one indexed item by its id (from list_documents)
get_status—M1K3's overall status: active brain tier, TTS provider, voice tier, and the busy flags — whether M1K3 is speaking, in a conversation, using its mic, or already answering an ask_m1k3 call
list_documents—List the items M1K3 has indexed, with their ids, kinds, and titles.
list_jobs—List recent ask_m1k3 jobs — id, state (running/done/error), and age in seconds
list_todos—The user's todo list as M1K3 holds it
listen—Listen on M1K3's microphone and return the transcript once the speaker pauses (or the timeout passes)
memory_stats—How many atomic facts M1K3 currently remembers (the live, non-superseded count)
open_linkurlOpen a web link in M1K3's review panel on the user's screen, beside the conversation, so they can see the page
propose_todotitlePROPOSE a todo for the user
recall_memoryqueryRecall atomic facts M1K3 remembers about the user — the temporal memory GRAPH, separate from the document corpus search_knowledge reads
related_memoryqueryRecall the single best matching fact for the query, then walk M1K3's memory GRAPH one step out to its neighbours (linked or superseded facts)
remembertitle, textStore text in M1K3's memory — it becomes part of what M1K3 knows, searchable in every future conversation (the same store search_knowledge reads)
search_knowledgequerySearch M1K3's stored knowledge (documents, calls, notes; hybrid retrieval when available)
speaktextSpeak text aloud through M1K3's voice (and animate the avatar)
stop_speaking—Stop any in-progress speech immediately.

The table above is generated live from the running app — never hand-edit it. Refresh with mcp-inventory --inject README.md --server m1k3 (needs the M1K3 app running).

The attic

M1K3 didn't start as a Mac app. It started in August 2025 as a Python CLI with a synthesized voice, grew a THREE.js avatar, a PWA, a Tauri popover, a RAG engine, and an MCP server — and then everything it learned was rebuilt native. That history is signed and permanent in this repo's git history — a project about provenance should keep its own. The attic/ tree was cleared from the working copy on 2026-08-13; to walk through it, check out any commit before 7545b4a4 (or resurrect it with git checkout 7545b4a4 -- attic).

Contributing

Start with CONTRIBUTING.md. Architecture and current state: CLAUDE.md. Security reports: SECURITY.md.

The quickest way to help: if M1K3 earns a place on your Mac, star the repo (it's how other people find it), and open an issue when something breaks.

Privacy

Inference, retrieval, and voice run on-device; M1K3 itself has no servers and never sees or stores your conversations. Two things can leave the machine, each a switch: web search and the lookups it makes (on by default) and, in the Mac App Store build only, the opt-in Private Cloud Compute brain (off by default) — when you pick it, your message goes to Apple's Private Cloud Compute, and the conversation so far only if you tick it. See SECURITY.md for what is and is not sent and Apple's own guarantees, quoted and linked.

License

Functional Source License, FSL-1.1-ALv2. M1K3 is source-available and free for humans, forever: read every line, build it, modify it, run it for yourself, use it inside your organisation, teach with it, research with it. What the licence does not permit is a competing use — offering M1K3, a fork of it, or a substantially similar product to others as a commercial product or service. Each version converts to Apache-2.0 two years after release. It is not an OSI open-source licence and we don't call it one. Attribution and third-party notices are in NOTICE; the decision and its reasons are in ADR 0005.

Revisions before 2026-09-09 were published under Apache-2.0 and stay that way; the boundary is recorded in NOTICE.

The source is public; the name is not. M1K3, the M mark, the pixel face and CRT look, the icon, and the voice are trademarks and brand assets, all rights reserved and outside the licence grant. See TRADEMARKS.md. The companion creatures are not ours: the Fox is the Khronos glTF sample by PixelMannen (CC0) and tomkranis (CC-BY 4.0); Colobus, Gecko, Inkfish and Sparrow are by Quaternius (CC0) — credited in NOTICE and in the app's Third-party licenses screen. The only official builds are Round Tower's (app.m1k3 on the App Store and TestFlight, and the DMGs on m1k3.app).

Organisations: M1K3 for Teams — the same on-device brains, institutional memory, and a tuned persona served on your own Apple Silicon hardware, under your own domain — is licensed separately. See m1k3.app/teams or write to hello@round-tower.ie.

Contributions are by invitation under a short CLA (Apache-2.0 inbound, FSL outbound). M1K3 is built in the open with MurphySig provenance — the git history is signed, human-and-AI collaboration on the record.

Frequently asked questions

What is M1K3?

Private memory, documents, voice and a local LLM for your agents, served by a Mac app on-device.

How do I install M1K3?

Follow the installation steps in its documentation, shown on this page and in its repository.

Is M1K3 open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains M1K3?

It is published by Round-Tower. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.