A native AI companion that runs entirely on your Apple-Silicon Mac —
local LLM inference, live voice, a personal knowledge graph with RAG, encrypted
call transcription, a local agent, and an MCP server.
Edge AI you actually own: no cloud, no telemetry, no network cable it never asks for.
⬇ Download for macOS · m1k3.app · TestFlight beta
Requires macOS 26 Tahoe · Apple Silicon · signed & notarized (Developer ID).
- On-device inference — MLX (Gemma, Qwen) + Apple Foundation Models. The model lives on your Mac.
- Live voice — speak and be spoken to; neural TTS + on-device speech-to-text.
- Knowledge graph + RAG — drop in notes and PDFs; M1K3 remembers and cites, locally.
- Call memory — encrypted, on-device call transcription.
- A local agent — tools that do things, grounded in your own data.
- MCP server — expose M1K3's local capabilities to Claude and other agents.
Everything above runs without leaving the device. The only network use is the one-time model download and an optional, explicitly-enabled web search.
| Surface | Where | Stack | Status |
|---|---|---|---|
| macOS native | macos/ |
Swift 6.2, SwiftUI, MLX-Swift | The product — on-device knowledge · RAG · agent · voice · calls. Build it: macos/README.md. |
| iOS + visionOS | macos/M1K3iOSApp/ |
Swift 6.2, SwiftUI | Native 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 mobile | app/ |
Kotlin Multiplatform | Next — the Android surface (KMP). See app/README.md. |
| The attic | attic/ |
Python, THREE.js, Tauri | Where M1K3 grew up — the original CLI, avatar experiments, and ideas. Still boots. |
- TestFlight beta — the easiest way in.
- Download the DMG — signed & notarized.
- Build from source —
macos/README.md: clone →xcodegen generate→ ⌘R.
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).
.mcp.json at the repo root wires Claude Code into it; setup for any client:
macos/docs/MCP_SETUP.md.
15 tools (generated live from the running server).
| Tool | Required args | What it does |
|---|---|---|
ask_m1k3 |
— | Ask M1K3's local brain a question |
forget_memory |
query | Permanently forget a fact M1K3 remembers — the consent primitive, the counterpart to remember |
get_answer |
job_id | Fetch the result of an ask_m1k3 call that returned a job id because it was taking a while |
get_document |
id | Fetch 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. |
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_link |
url | Open a web link in M1K3's review panel on the user's screen, beside the conversation, so they can see the page |
recall_memory |
query | Recall atomic facts M1K3 remembers about the user — the temporal memory GRAPH, separate from the document corpus search_knowledge reads |
related_memory |
query | Recall the single best matching fact for the query, then walk M1K3's memory GRAPH one step out to its neighbours (linked or superseded facts) |
remember |
title, text | Store text in M1K3's memory — it becomes part of what M1K3 knows, searchable in every future conversation (the same store search_knowledge reads) |
search_knowledge |
query | Search M1K3's stored knowledge (documents, calls, notes; hybrid retrieval when available) |
speak |
text | Speak 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).
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 lives in attic/, runnable and signed, because a
project about provenance should keep its own. The tour: attic/README.md.
Start with CONTRIBUTING.md. Architecture and current
state: CLAUDE.md. Security reports: SECURITY.md.
Inference, retrieval, and voice run on-device. No telemetry; conversations stay on your machine. Network is only used to download models on first run.
Apache License 2.0. M1K3 is free and open source — use it, fork
it, build on it, commercially or otherwise. Attribution and third-party notices
are in NOTICE.
Contributions are accepted under the same Apache-2.0 terms (per section 5 of the License). M1K3 is built in the open with MurphySig provenance — the git history is signed, human-and-AI collaboration on the record.
