Encrypted local ledger of structured user state, shared across every MCP-aware AI tool.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
A private context brief for the human behind every AI tool. Continue your work across interfaces without repeating the briefing.
You told Claude Desktop your stack on Tuesday. On Wednesday, Cursor doesn't know. Thursday, Codex asks again. Every AI tool you use has its own memory, or none.
USRCP is a local, encrypted SQLite ledger that any MCP-aware tool can read and write. One install, one passphrase, and every tool shares the same structured user state β your timezone, your stack, your projects, your preferences.
Registers with Claude Desktop, Cursor, Continue, Cline, and terminal agents (Claude Code, Codex CLI, Copilot CLI, Aider, OpenCode, Antigravity). Captures structured activity from GitHub, Linear, Obsidian, Claude Code sessions, and Google Calendar β plus an experimental conversation-capture set.
β See it work: the cross-editor demo, or prove the claim on your own machine in one command β node scripts/cross-client-proof.mjs (writes state as one editor, reads it as another, then scans the raw DB to show it's all ciphertext).
β Apache 2.0 Β· 600+ tests Β· threat model in docs/SECURITY.md
Core and optional features: the structured core uses exact-keyword lookup. Optional
usrcp-streamadds semantic recall with a different storage/privacy boundary; see the capability matrix below.
USRCP is the human user's context layer. The launch workflow is live retrieval of a compact brief from one shared ledger. Your next assistant should know the relevant ongoing work, decisions, constraints and next steps.
Connected MCP clients call usrcp_handoff to get current context and save meaningful updates immediately. The file command above is an optional manual fallback. The local MCP server provides startup instructions, but clients must honor them; verify actual behavior with the two-client acceptance test. A shared ledger alone does not prove automatic retrieval.
| Component | Purpose | Boundary |
|---|---|---|
| Structured core | Identity, preferences, projects, facts and timeline | Content encrypted at rest; authorized agents receive decrypted context |
| Markdown handoff | Condensed next-agent briefing | Explicit plaintext export with restricted file permissions; share only intended context |
| Optional stream | Capture and semantic recall | Local embedding vectors are plaintext on disk; optional external embedding providers receive content after consent |
| Optional device relay | Timeline/stream event sync | Ciphertext content with visible metadata; the local client does not synchronize the entire structured profile |
The initial supported workflow is developers switching Claude Code, Codex and Cursor, with Markdown export available for other interfaces. The broader goal remains continuity for the human user across tools. Read context ownership for inspection, correction, provenance, expiry and deletion alternatives.
OpenMemory also targets cross-tool coding context and automatic capture. Zep provides temporal knowledge graphs. These products overlap with parts of USRCP's workflow. USRCP's proposed advantage is a small, inspectable human-context brief backed by a local encrypted ledger, explicit sharing and no required cloud account for the core workflow. Compare current editions and test against your existing project notes; do not assume other products are merely vector storage or always require a particular provider.
npm (recommended) β the usrcp CLI + encrypted ledger:
No native build, no compiler, no postinstall β usrcp uses Node's built-in SQLite (node:sqlite), so npm install just works on any npm (including npm 12+, whose allowScripts default blocks native build scripts). Requires Node β₯ 22.13 (Node 24+ recommended).
Homebrew (macOS / Linux) β alternative for the core CLI:
The CLI ships with the inline adapters (terminal, mcp-agent, openclaw). Capture adapters install as their own packages, then you configure each with the setup wizard:
See the Adapters table for the full list (the Chrome extension and VS Code viewer ship separately β see their package READMEs).
From source β for contributing or running unreleased changes:
In passphrase mode, init offers to store the passphrase in the OS keychain (macOS Keychain / Linux Secret Service); pass --keychain / --no-keychain to decide non-interactively. With a keychain entry present, MCP clients auto-start the server with no plaintext passphrase in any config file. Manage the entry anytime:
init creates ~/.usrcp/users/<slug>/ with an encrypted SQLite ledger and writes the MCP server entry to Claude Desktop's config:
~/Library/Application Support/Claude/claude_desktop_config.json~/.config/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonSingle-user is the default and what every shared-machine consideration in the rest of this README assumes. If two people use the same OS account (or you run multiple identities side by side), see Multiple users on one machine below β each user gets an independent ledger and passphrase under a --user=<name> slug.
Adapters watch a source (a GitHub org, an Obsidian vault, a Linear workspace, etc.) and append the activity you authored into the same ledger your local MCP server reads from. Install the adapter's package, then run the setup wizard to configure it:
See the Adapters tables below for the full list.
Each user gets an independent ledger, passphrase, and MCP server entry.
If you initialized USRCP in passphrase mode (usrcp init with the default), the MCP server needs the passphrase to decrypt the ledger. The terminal-adapter register() writes only command + args to each agent's config β it never bakes the passphrase in.
Recommended: the OS keychain. One command covers every agent β shell-launched and GUI alike β with nothing in plaintext on disk:
The server checks USRCP_PASSPHRASE, then --passphrase, then the keychain, so existing setups keep working unchanged. (Windows: keychain support isn't wired up yet β use the env-var paths below.)
Env-var alternatives, if you'd rather not use the keychain:
Shell-launched agents (claude-code, codex, copilot-cli, aider, opencode) β add to ~/.zshrc / ~/.bashrc and restart your shell:
GUI/IDE-launched agents (cursor, cline, continue, antigravity) do not inherit shell environment. Either add an env block under the usrcp server entry in the agent's config file (JSON for Cursor/Cline/Continue, TOML for Codex), or set a system-wide GUI env on macOS with launchctl setenv USRCP_PASSPHRASE "..." (persists until reboot; use a ~/Library/LaunchAgents/ plist for permanence).
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/usrcp-user-context-protocol)<a href="https://allmcps.com/mcp/usrcp-user-context-protocol"><img src="https://allmcps.com/api/badge/usrcp-user-context-protocol?style=directory" alt="USRCP β User Context Protocol on AllMCPs" /></a>