Durable project memory and cross-agent continuity for Cursor.
Recover decisions, preserve verified progress, review plans, and hand work across sessions without replaying chat history.
XMemo gives Cursor a private, user-controlled memory workspace for work that should survive one conversation. The plugin combines a hosted OAuth MCP connection with focused Skills, evidence-aware Subagents, a lightweight Rule, and a fail-open checkpoint Hook.
Important
This repository is a Cursor Marketplace submission candidate. It does not claim approval or marketplace availability.
- resume work from the latest verified checkpoint;
- recall project decisions, constraints, lessons, TODOs, and relevant context;
- turn brainstorms into approved, evidence-gated plans;
- review plans and audit agent progress against saved context and live files;
- distill important sessions without archiving raw transcripts;
- prepare and receive cross-agent handoffs with provenance and one exact next action;
- preserve stage checkpoints after sustained work without writing every turn.
| Component | Purpose |
|---|---|
mcp.json |
Connects Cursor to https://xmemo.dev/mcp; Cursor handles interactive OAuth |
skills/ |
Nine focused professional workflows for recall, planning, review, progress, checkpointing, and handoff |
agents/ |
Independent context auditor and handoff curator |
rules/ |
Minimal always-on continuity and memory-safety policy |
hooks/ |
Fail-open stop Hook that suggests a checkpoint only after sustained work |
The plugin does not pin or advertise a fixed tool count. Cursor receives the server-managed tool profile authorized for its signed OAuth identity, and each workflow uses only tools visible in the active connection.
Install the plugin through Cursor Marketplace when available, or load this repository locally using Cursor's plugin development flow. Then:
- Enable the XMemo MCP server.
- Complete the browser-based OAuth flow.
- Ask Cursor naturally, for example:
Bring me up to speed on this project using XMemo. Reconcile the latest checkpoint with the current repository and give me one exact next action.
Other representative prompts:
Brainstorm three architecture directions using our saved constraints. Keep every option tentative until I approve one.
Review this implementation plan against our XMemo decisions and current code. Return a formal verdict and acceptance gate.
Audit the last agent's progress report against the approved plan, git diff, and test evidence.
Prepare a restart-ready handoff for another agent and preserve the verified checkpoint in XMemo.
The stop Hook counts completed top-level turns and observes transcript modification time. It stores only bounded local metadata in .cursor/hooks/state/xmemo-checkpoint.json; it does not read or persist transcript content. After sustained work it emits a follow-up request to run xmemo-checkpoint. The Skill checks live evidence and skips the write when no material verified change exists.
The Hook is fail-open: malformed input, unavailable files, or runtime errors never block Cursor work.
- No API keys, bearer tokens, reviewer credentials, or client secrets are committed.
- OAuth tokens are managed by Cursor and XMemo, not by this repository.
- The package never stores raw chat transcripts.
- Permanent deletion requires an explicit user request and confirmation.
- Current user instructions and verified workspace evidence override stale memory.
See PRIVACY.md and SECURITY.md. XMemo's public privacy policy is available at xmemo.dev/legal/privacy.
node scripts/validate-plugin.mjs
bun test scripts/checkpoint-hook.test.tsValidation checks manifest structure, component discovery, frontmatter, MCP configuration, Hook behavior, local links, and common credential patterns.
The manifest is the version source of truth. Tags use the matching vMAJOR.MINOR.PATCH form. Release archives are produced by CI and are not committed to the repository.
- Support: support@xmemo.dev
- Help center: https://xmemo.dev/support
- Security reports: SECURITY.md
MIT © Yonro