Sutrana
Optional integration with Ollama for generating local embeddings to enhance hybrid search capabilities.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Sutranasearch memory for the API endpoint I saw earlier"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Sutrana
Local-first ambient memory for Mac: continuously captures what you see, indexes it on-device, exposes it as an MCP server for Claude/Cursor, and surfaces open loops in a Shram-style menu-bar inbox.
Status: Early public preview (
v0.1). Capture → SQLite/FTS → MCP → menu-bar open tasks works on Apple Silicon with full Xcode. Not a signed App Store build yet.
What it does
Menu bar app — open tasks stream, settings, permissions, kill switch
Screen capture + OCR — ScreenCaptureKit + Vision, local SQLite + FTS5
MCP tools —
search_memory,get_timeline,list_open_tasks,suggest_followups,list_day_summaries,embed_recent_memoryOptional hybrid search — local Ollama embeddings (off until you run Ollama)
All data lives under ~/Library/Application Support/Sutrana/. No cloud by default.
Related MCP server: Memex
Quick start
1. Memory + MCP (Node)
git clone https://github.com/sdntsng/sutrana.git
cd sutrana
npm install
npm run build
npm run mcp2. Mac menu bar app
Requires full Xcode (Command Line Tools alone are not enough).
cd apps/mac
./Scripts/build-app.sh
open Sutrana.appGrant Screen Recording (and optionally Accessibility) when prompted — or use the Permissions tab.
3. Connect Claude Desktop / Cursor
See docs/claude-desktop.md and docs/cursor.md.
Privacy
Local-only storage and embeddings by default
Private-apps denylist in Settings
Pause capture anytime from the menu bar
Microphone / accessibility scrapers are opt-in later; mic is not used in v0
See SECURITY.md to report issues.
Repo layout
apps/mac/ Swift menu-bar capture agent
packages/memory/ SQLite FTS + open tasks + day summaries + Ollama embeddings
packages/mcp/ MCP stdio server
docs/ client config examplesDevelopment
Default contribution branch:
dev(staging)mainis production / releasesnpm run build·npm run typecheck·npm test
See CONTRIBUTING.md.
Roadmap (post-v0.1)
Signed
.dmgdistributionStronger open-task heuristics / LLM drafts
Accessibility messaging scrapers (opt-in)
Optional remote embeddings with explicit consent
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Your versioned memory across every AI tool — context maps, personal memory, and tasks over MCP.
Persistent personal memory for AI assistants — save, search, and recall across every MCP client.
- EngramOAuthapp.getengram
Persistent, verbatim, searchable memory for AI assistants — one memory across every MCP client.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA local-first AI secretary that gathers your work context into private memory and enables AI agents to search and summarize it over MCP.60 npmMIT
- AlicenseAqualityBmaintenanceA local-first, privacy-first MCP server that passively indexes personal digital activity (screenshots, clipboard, notes, downloads, links) into a local database, enabling LLMs like Claude to access your context without cloud storage.4MIT
- AlicenseNot gradedqualityAmaintenancePersonal digital memory: a desktop app that indexes your mail, chats, and documents into a local SQLite corpus on your machine — parsing and OCR run on-device via llama.cpp — and serves them to any MCP client. Local server on 127.0.0.1, plus an optional per-user remote endpoint (you.localkiagent.com) whose TLS terminates on your own device.7MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to search and retrieve memories from your Mac, including screen captures, meeting transcripts, and browsing history, all locally and privately.1-