Local-first memory for AI agents about the people in your life. MCP server + CLI on SQLite. Never phones home.
people-context
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
English | 简体中文
**Your agent already remembers your codebase. Now it can remember your people.**
people-context is a local-first MCP server and CLI that gives AI agents
durable memory about the people in your life: who someone is, how you know them, what you last agreed, and how
they like to be talked to. One SQLite file on your machine. No account, no cloud, no network calls.
Why
Ask an assistant "how should I approach Priya about the reporting delay?" and it has nothing: it does not know
which Priya, that she is your counterpart at a partner org, that you agreed a new deadline last week, or that she
prefers a short email over a call. That knowledge lives in your head, your inbox, and a notes file the agent
cannot see.
people-context keeps it in one place the agent can query through narrow tools:
- **Who is this?** Explainable name resolution over names, nicknames, aliases, and handles. Two Priyas come back
as two candidates with a match reason, never a silent guess.
- **What do I know?** Relationships, organisations and roles, durable facts, concise interaction summaries,
traits, reminders, and a per-person timeline, each disclosed only as far as the request needs.
- **How do I talk to them?** Communication guidance grounded in recorded traits, past friction, open follow-ups,
and your own written philosophy.
- **Who has gone quiet?** Stale-relationship and upcoming-date reports over what is already stored.
- **Get data in safely.** Email, mbox, vCard, calendar, LinkedIn, Outlook, and WhatsApp exports are staged as
reviewable candidates. You approve what gets recorded; raw source content is never kept.
It is opinionated about trust: writes are audited, forget is a real delete, sensitive records sit behind an
operator-only gate that a prompt cannot open, and ordinary commands never touch the network.
Demo
A packaged fictional dataset is the fastest way to see identity resolution, graph traversal, and bounded
context without touching real data:
The demo always writes its own dedicated database at
{XDG_DATA_HOME or ~/.local/share}/people-context/demo.db. It ignores --db, PEOPLE_CONTEXT_DB, the config
file, and --reset replaces only that file plus its -wal/-shm companions, so a
real database is never read or modified. Seeding writes audited fictional people, handles, affiliations, facts,
interactions, and a connected relationship graph, then prints the path-targeted server command and concrete
tool calls that use the ids it just created:
Person ids are generated per seed, so the printed values differ from the placeholders above. Start the printed
server command in an MCP client and run the printed calls verbatim. See
docs/cli.md.
Quick start
Requires Python 3.11+ and uv. Pick your client; each is one step.
Claude Code
Restart Claude Code or run /reload-plugins. You get the server plus /people-context:who,
/people-context:remember, and /people-context:reminders. Details: docs/claude-code-plugin.md.
Claude Desktop
Download people-context.mcpb from the
latest release and open it. Claude Desktop
installs the pinned release with its own uv runtime. Details: docs/desktop-and-editors.md.
Codex
Start a new Codex session. Details: docs/codex-plugin.md.
Cursor, Windsurf, VS Code, or any MCP client
Add the stdio server to your client's MCP config (.cursor/mcp.json, ~/.codeium/windsurf/mcp_config.json,
.vscode/mcp.json, ...):
Or let the CLI write it: uvx --from people-context pctx setup cursor (also windsurf, vscode,
claude-desktop; add --dry-run to preview). VS Code uses a servers key with "type": "stdio". Per-editor
snippets: docs/desktop-and-editors.md.
OpenClaw
The native plugin talks to the opt-in loopback HTTP server. Details: docs/openclaw-plugin.md.
CLI only
people-context and people-context-mcp are the server commands; pctx is the human-operated CLI.