Keep project context portable across coding tools.
Move between supported coding agents without starting over. xtctx indexes the transcript files your tools already write and serves them over MCP, so the next agent can pick up recent context. Install the plugin and retrieval works — no project setup required.
How a handoff travels
xtctx is not a dashboard or memory layer. It is MCP retrieval against transcript files your tools already write, with optional project wiring that delivers the handoff without the agent asking.
- 01
Install xtctx
The plugin registers the MCP server and the handoff skill and writes nothing into your project. Run setup instead, or as well, to add managed instruction blocks and per-tool MCP config. Copilot CLI still requires --global-mcp.
- 02
Open another tool
The tool starts xtctx over stdio as an MCP server. With setup run, it also reads the managed instructions and receives the handoff without asking for it.
- 03
Read recent sessions
MCP calls list sessions, open raw transcript messages, and search chronological transcript windows.
- 04
Check status
Status reports configured tools, selected skills, transcript freshness, and unsupported targets.
What setup writes
The plugin writes nothing into your project. Running setup adds config, managed instructions, selected skill targets, and a rebuildable SQLite cache. Raw transcript files remain the source of truth.
Five MCP tools
Agents can list recent sessions, open session detail, search transcript windows, check continuity status, and fetch a handoff manifest.
<!-- xtctx:begin -->
# xtctx Handoff
Tool: cursor
Project root: ~/projects/my-app
Integration mode: instruction-only
## Session Retrieval
- Call xtctx_recent_sessions to list sessions.
- Call xtctx_session_detail for raw messages.
- Call xtctx_search_sessions for transcript windows.
<!-- xtctx:end -->Managed setup files
Setup owns generated instruction blocks, MCP config, and selected skill targets so the repo wiring is repeatable.
$ npx -y xtctx setup
updated .xtctx/config.yaml
updated .xtctx/skills/xtctx-handoff/SKILL.md
updated AGENTS.md
updated .codex/config.toml
verified MCP configStatus output
Status reports configured tools, transcript freshness, selected skills, managed blocks, and unsupported targets.
$ npx -y xtctx status
configured
mcp command npx -y xtctx
cache 12 sessions
codex instruction only
claude-code executable hookSearch stays local
Raw transcript files remain the source of truth. SQLite is a rebuildable local index for ordered lookup and fallback keyword search.
cache .xtctx/state/xtctx.db
├── sessions
├── messages
├── retrieval_windows
├── vectors
└── fts_indexInstall, then check
The plugin gets you the MCP tools in every project. Add setup where you want the handoff delivered automatically, and use status to check what is wired.
Read the README for supported tools and local transcript notes.
Try it
Questions before using it in a repo
Short answers about setup, local storage, transcript limits, and what xtctx does not do.