
Persome (Personal Model) MCP Server: Local Memory for Coding Agents
Gives your coding assistant a private memory of your work, built from what you do on your Mac.
Persome runs on your Mac, watches focused activity on your screen after you grant macOS permission, and builds a searchable memory and profile of how you work. Your assistant reads it through this server to continue unfinished work or answer questions about what you did. Everything is stored on your Mac, but an optional language model provider you set up receives summaries of it. You install it and complete a setup step first, and it only runs on macOS 13 or newer.
Good for
- Developers who want Claude Code, Codex or Cursor to remember context between sessions
- People who want to ask what they worked on or read earlier, from their own screen history
- Privacy-minded Mac users who want memory kept on their own machine
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install Persome MCP
Claude Code
- 1
Copy this prompt.
Add the Persome MCP server to Claude Code. Run this command: persome install claude-code Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires macOS 13 or newer, Xcode Command Line Tools, uv, persome onboard completed.
Install Persome first with uv tool install personal-model, then run persome onboard to grant the macOS permissions. The server command is persome mcp, and a new data folder needs persome start run once. The README names these steps and the installer commands. The config shown for clients without an installer command is adapted from the README's stdio example, so it is generated.
From the project README. Source.
Tools
Lists your saved memory files
Lists the Markdown memory files Persome keeps about you, with a short description and entry count for each. It is the cheap first call to see what exists.
Try: “What memory files do you have about me?”
Read ·
list_memoriesReads one memory file
Reads one memory file in time order. You can limit it to a date range, certain tags, or the latest few entries.
Try: “Read the last 10 entries in my projects memory file.”
Read ·
read_memorySearches your memory by meaning and keyword
Searches the condensed memory layer with both meaning-based and keyword matching, so you do not need the exact words you used before.
Try: “Search my memory for what I decided about the pricing page.”
Read ·
searchOpens the source behind a memory entry
Resolves an entry ID from a search into the full entry with its dates, confidence, whether it was replaced, and pointers to nearby raw captures.
Try: “Open the receipt for entry 42 and show where it came from.”
Read ·
read_receiptShows what happened recently
Returns the newest memory entries across all files, optionally since a date, so the assistant can catch up on today or this week.
Try: “What was I working on yesterday afternoon?”
Read ·
recent_activityDescribes how you tend to work
Returns the learned behavior model: one summary of who you are and what matters now, plus repeated patterns with their supporting evidence.
Try: “How do I usually approach a new project?”
Read ·
behavior_patternsReturns your whole personal model
Returns the versioned Point, Line, Face, Volume and Root model with provenance and counts. Personal details are redacted unless the assistant asks for the full version.
Try: “Show my model snapshot with redaction on.”
Read ·
get_model_snapshotShows how a person or project connects to you
Returns the relations around one person, project or other item, optionally as they were on a past date, and how it links back to you.
Try: “How does Alex relate to my projects?”
Read ·
entity_graphChecks a claim against current and older memory
Compares one statement with your memory, including entries that were later replaced, so the assistant does not state an old fact as current.
Try: “Verify that we ship version 0.3 this month.”
Read ·
verify_factExplains how memory files are organized
Returns the naming rules for memory files and what each prefix means. It is rarely needed for ordinary lookups.
Try: “How is my memory organized?”
Read ·
get_schemaShows what is on your screen now
Returns recent screen captures as headlines, text and timeline blocks, so the assistant can answer questions about what you are doing or looking at right now.
Try: “What am I looking at right now?”
Read ·
current_contextSearches the raw screen text index
Searches the local index of raw screen captures for words you typed or read, including ones that did not reach memory yet. You can scope it to one app.
Try: “Find when I last saw the error 'connection refused' in Terminal.”
Read ·
search_capturesReads one raw screen capture
Opens a single capture by its file stem or time and returns the visible text, the focused field value and the URL. A screenshot is included only if the assistant asks for it.
Try: “Show the capture from 14:30 in Cursor.”
Read ·
read_recent_captureShows where your time and focus went
Returns the path of your attention over a period, with dwell time per window, so the assistant can answer what you spent time on.
Try: “What did I focus on this morning?”
Read ·
attention_trajectorySaves a note to your memory
Appends a durable note to your memory, tagged as written by an agent so you can tell it apart from your own notes.
Try: “Remember that the staging database moved to eu-west.”
Write ·
rememberFixes a wrong belief in your memory
Takes your correction, finds the memory entries behind the wrong belief and marks them as replaced. The old entries stay with their history, so the change can be traced.
Try: “Correct my memory: I no longer live in Beijing.”
Write ·
correct_memory
Read from the source code
Permissions
high risk · 6 things to watch
High risk
It lets a connected assistant read text captured from your screen, including window titles and URLs, and save notes to your memory. The language model provider you set up can receive the same text.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It records text from everything you work on and hands it to your assistant
Persome reads on-screen text, window titles and URLs from the apps you use and keeps them for seven days by default. current_context and search_captures return that text to the connected assistant, and the docs we read do not say password fields are skipped. Messages, tokens and passwords shown on screen can end up in the results. Only connect clients you trust. github.com
Screen text can be sent to your model provider
The language model endpoint you configure receives prompts that can include screen text, window titles, URLs, focused-field values and memory text. That is a third party if you pick a hosted provider. A connected assistant may also pass returned data to its own provider. Capture itself runs locally. github.com
Captured text can carry prompt injection
The project warns that results come from your screen and may contain instructions planted by a web page or message. Treat them as untrusted by your assistant. github.com
Tool descriptions tell the assistant to call them
The descriptions of list_memories, search, recent_activity, search_captures and current_context say ALWAYS CALL or ALWAYS CALL FIRST, and behavior_patterns, entity_graph and verify_fact say CALL. Your assistant may read your memory and screen history on most turns. Tell it to use Persome only when you ask if you want that. github.com
Two tools write to your memory
remember adds notes and correct_memory replaces beliefs it finds wrong, keeping the old entries with their history. Check what an agent saved if you rely on the memory. github.com
The program asks for macOS permissions and installs a background job
Onboarding requests Accessibility, and Screen Recording if OCR or screenshots are on, and the daemon can run as a launchd job. Default capture retention is seven days. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Talks to | The language model provider you configure, which receives prompts that can contain screen text, window titles and URLs. An embeddings endpoint, only if you enable dense search |
|---|---|
| Sign-in and keys | No account. Stdio installs need no token. The optional HTTP endpoint uses an owner-only bearer token stored in the data folder, ~/.persome by default. |
| Scopes |
|
Questions
Is Persome official?
No. It is a community project from Intuition-Lab, listed in the official MCP registry. It does not belong to Anthropic, OpenAI, Cursor or any app it watches.
Does it work on Windows or Linux?
No. The README requires macOS 13 or newer and Xcode Command Line Tools, because capture uses macOS Accessibility.
Does my screen data leave my Mac?
Capture and memory stay on your Mac, and the project says it has no telemetry. The language model provider you configure for modeling receives prompts that can include screen text, and your connected assistant may send results to its own provider.
Do I need an API key?
Not for capture and keyword search. Building the full model needs a language model. You can add a hosted or local provider, or let it use a Codex, Claude Code or Cursor Agent login you allow, with a daily call cap.
Which clients can I use it with?
Claude Code, Codex, Cursor Agent, Claude Desktop and opencode have installer commands. Other clients can use a generated config. See the install box above.
Why do I have to run onboarding first?
Onboarding sets up the data folder and asks for macOS permissions, one at a time. The README says a new data folder needs the daemon started once before stdio clients can use it.
Can I limit what it captures or delete it?
Yes. The README says you can inspect, correct, export and delete your model and data, and default capture retention is seven days. persome ocr disable turns OCR off.
Does it replace the memory built into Claude or ChatGPT?
No. It is a separate local memory that any MCP client can read. Nothing in the README says it syncs with built-in assistant memory.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
personal-model- Registry
- PyPI
- Transport
- stdio
- Version
- 0.3.2
- License
- Apache-2.0
- Last commit
- Oct 16, 2026
- Open issues
- 8
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 6Hide
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com