MemoCall
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MemoCall what was I working on last session?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MemoCall
An MCP server that lets Claude Code recall the context of your past conversations — from any project — on demand.
Claude Code can resume a session, but getting another conversation's context into the one you're in is a chore — copy-pasting exports or digging through raw transcript files by hand — and resume only sees the current directory anyway. MemoCall turns it into a single ask: "what was I working on?" or "load the session where we set up X", and it pulls that transcript in as clean, compact Markdown — even from a totally different project.
It's read-only. Claude Code already records every session to ~/.claude/projects/<project>/<id>.jsonl; this server just reads those files, strips the noise, collapses tool calls, and hands back a readable transcript. It never writes, hooks, or touches a live session.
What you get
Five tools, available in every session once installed. Claude picks the right one from the request:
Tool | What it does |
| Your recent conversations across all projects, grouped by directory. "What was I working on?" |
| Find a past conversation by keyword (matches titles + first messages + paths). |
| Load one conversation as compact Markdown — by |
| A cheap map of one conversation: the numbered list of your prompts. Great for huge sessions. |
| Return only the turns within one conversation that match a keyword. |
You don't call these directly — you talk normally and Claude reaches for them:
You: what sessions have i worked on recently?
You: load the one where we set up the license invitation system
You: which session did we debug the keychain SIGKILL thing in?Related MCP server: Cortex
How the transcript is rendered
Raw transcripts are a verbose event log (one big file hit 11 MB). memocall reduces each turn to the essentials, Conductor-style:
**You:** right now i need to set up a system to invite prospects...
↳ 12 tool calls (Bash ×5, Read ×4, Edit ×3)
**Claude:** I've set up the invitation flow. Key decisions: ...Tool-call outputs are elided (the big token win, and a privacy win — see below). Abandoned/edited message branches are dropped so you get the conversation as it actually played out. A token budget keeps even an 11 MB session well under Claude Code's MCP output cap via middle-out truncation.
Navigating large sessions
A single response can't hold a 1,000-turn session, so for big ones you don't dump — you navigate:
session_outline→ a numbered map of every prompt (tiny, fits any session).search_in_session→ jump straight to the turns about a topic, orload_sessionwithturns: "300-340"to pull an exact window (turn numbers come from the outline).
So you never lose access to the middle of a huge conversation — load_session alone would middle-out-truncate it, but the outline + range/search tools let Claude reach any part on demand.
Install
Requires the Claude Code CLI (and Node 18+). One line — npx fetches and runs the published package:
claude mcp add --scope user memocall -- npx -y memocall--scope user makes it available in every session, in every directory. Restart Claude Code (or open a new session) and ask it to list your sessions. Verify with claude mcp list — you should see memocall: … ✔ Connected.
git clone https://github.com/baodq06/memocall.git
cd memocall && npm install && npm run build
claude mcp add --scope user memocall -- node "$(pwd)/dist/index.js"Privacy & security
Local only. No network, no auth, no telemetry. It reads files under
~/.claude/projects/and nothing else.Compact mode elides tool outputs, which is where secrets (tokens, keys, env) usually live — so the default output is much safer than the raw transcript.
format: "full"includes brief tool inputs and may surface sensitive strings. Use it deliberately.Transcripts can contain secrets regardless; treat loaded context as you would the original conversation.
Limitations
Recall is best-effort: Claude Code deletes transcripts after
cleanupPeriodDays(default 30).Forked sessions may only contain post-fork turns.
The transcript format is undocumented and can change between Claude Code versions; all format knowledge is isolated in
src/jsonl.tsso it's a one-file patch if it does.
Development
npm run build # compile TypeScript -> dist/
npm test # unit suite (node:test) on synthetic fixtures
npm run smoke # optional: checks all YOUR real sessions stay under the output cap
node dist/parser.js <file.jsonl> [--full|--outline] [--turns 10-20] [--search "kw"] [--max N] [--think] # test the parser
node test-client.mjs # drive the server over stdio like Claude Code does
npm run inspect # open the MCP Inspector UILayout:
src/jsonl.ts— all knowledge of the transcript format (helpers, ordering, classification).src/parser.ts— JSONL → compact Markdown (the core transform).src/locator.ts— session enumeration + cached metadata index.src/index.ts— the MCP server wiring the three tools.
License
MIT
Available Tools
5 toolslist_sessionsList recent Claude Code sessionsA
List your recent Claude Code conversations across ALL projects, grouped by project directory. Use this to answer 'what sessions have I worked on recently?' or to find a past session before loading it. Returns each session's title, date, turn count, and id.
Inputs: cwd, limit.
load_sessionLoad a past Claude Code conversationA
Load the context of a past Claude Code conversation as compact Markdown (human turns, collapsed tool-call summaries, and assistant replies — tool outputs are elided). Provide either a session id (from list_sessions/search_sessions) or a free-text query to find it. Use this to pull a previous conversation's context into the current session. For a very large session, either pass turns to load a specific window (turn numbers come from session_outline), or prefer session_outline / search_in_session.
Inputs: id, query, format, turns, +2 more.
search_in_sessionSearch within a past conversationA
Find specific turns WITHIN one past Claude Code conversation by keyword — returns only the matching turns (with their turn numbers). Use when the user asks what was decided or discussed about a topic inside a known or large session (e.g. 'what did we decide about retries in that session'). Pick the session by id or session (free-text); query is the keyword to find inside it.
Inputs: query (required), id, session.
search_sessionsSearch past Claude Code sessionsA
Search your past Claude Code conversations (across all projects) by keyword — matches session titles, first messages, and project paths. Use when the user refers to a past conversation by topic (e.g. 'the session where we set up the license system'). Returns matching sessions with their ids.
Inputs: query (required), limit.
session_outlineOutline a past conversationA
Get a quick MAP of a past Claude Code conversation: the numbered list of the user's prompts, one line each. Very cheap even for huge sessions. Use this to see what a session covered, or to find which turn numbers to then load with load_session's turns. Identify the session by id or free-text query.
Inputs: id, query.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool targets a distinct operation: listing sessions, loading a session, searching within a session, searching across sessions, and outlining a session. There is no overlap in functionality.
Four tools follow the verb_noun pattern (list_sessions, load_session, search_in_session, search_sessions), while session_outline uses noun_verb. This minor deviation slightly breaks full consistency.
Five tools is appropriate for managing Claude Code sessions, covering the essential workflows without excess or deficiency.
The set covers listing, loading, searching, and outlining sessions. A tool for deleting or archiving sessions might be expected but is not critical, resulting in a minor gap.
Related MCP Connectors
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Shared memory MCP server for Claude Code, Codex, Gemini CLI and Cursor. Cited, editable.
An MCP server that gives your AI access to the source code and docs of all public github repos
Cloud-hosted MCP server for durable AI memory
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server that makes Claude Code conversation history searchable and proactively useful by indexing past sessions with hybrid BM25+TF-IDF search, extracting decisions and solutions, and auto-injecting relevant project context at session start.99 npm69MIT
- AlicenseNot gradedqualityDmaintenancePersistent memory MCP server for Claude Code that captures and recalls project context across sessions, eliminating the need to re-explain architecture and decisions daily.73 npm1MIT
- AlicenseBqualityCmaintenanceA persistent memory MCP server for Claude Code that automatically saves conversations and retrieves relevant history across sessions to provide context.1767 PyPI10MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides Claude Code with persistent memory across sessions, including session checkpoints, image persistence, and bidirectional sync with claude.ai projects.1MIT