wynelson94 avatar

Longhand

wynelson94/longhand

Turns every Claude Code session into searchable, persistent local memory. Captures the full transcript (tool calls, file edits, thinking blocks) into SQLite before Claude rotates the JSONL files out of existence, then lets you query it with natural language through `recall`, `search`, and `list_sessions` tools. The entire index lives on disk with ChromaDB vectors for semantic search. No API calls, no token costs for retrieval. Especially useful if you work across multiple projects and need to surface a bug fix or decision from weeks ago without manually grepping session logs. Live ingestion means active sessions show up in search results before they even close. Install it early because you can't retroactively capture sessions Claude has already deleted.

GitHub stars
14
tools
13
transport
STDIO
last updated
Nov 5, 2026

Tools

13 tools

Public tool metadata for what this MCP can expose to an agent.

searchSemantic search with session, project, tool, file, and event_type filters (all combinable); pass context_events with a session_id to get each match wrapped in its surrounding conversation.

Semantic search with session, project, tool, file, and event_type filters (all combinable); pass context_events with a session_id to get each match wrapped in its surrounding conversation.

No parameter schema in public metadata yet.

list_sessionsRecent sessions with project/time filters; pass project_id (plus optional since/until) for a project's outcome-enriched session timeline.

Recent sessions with project/time filters; pass project_id (plus optional since/until) for a project's outcome-enriched session timeline.

No parameter schema in public metadata yet.

get_session_timelineChronological view with offset/tail pagination and summary-only scan mode (tail: N covers "the latest events / how did it end").

Chronological view with offset/tail pagination and summary-only scan mode (tail: N covers "the latest events / how did it end").

No parameter schema in public metadata yet.

replay_fileReconstruct file state at a point in time.

Reconstruct file state at a point in time.

No parameter schema in public metadata yet.

get_file_historyEvery edit to a file across all sessions.

Every edit to a file across all sessions.

No parameter schema in public metadata yet.

get_statsStorage statistics.

Storage statistics.

No parameter schema in public metadata yet.

recallFuzzy natural-language recall (use this first): a narrative built from conversation segments and session timelines, with high-precision problem→fix episodes when the work left clean evidence.

Fuzzy natural-language recall (use this first): a narrative built from conversation segments and session timelines, with high-precision problem→fix episodes when the work left clean evidence.

No parameter schema in public metadata yet.

recall_project_status"Where did we leave off on X?" — git-aware project summary with commits, issues, last outcome.

"Where did we leave off on X?" — git-aware project summary with commits, issues, last outcome.

No parameter schema in public metadata yet.

find_episodesStructured search for problem→fix pairs; pass episode_id for full detail on one episode (referenced events, diff, post-fix file state).

Structured search for problem→fix pairs; pass episode_id for full detail on one episode (referenced events, diff, post-fix file state).

No parameter schema in public metadata yet.

list_projectsBrowse inferred projects; pass match for fuzzy candidates with scored reasons.

Browse inferred projects; pass match for fuzzy candidates with scored reasons.

No parameter schema in public metadata yet.

list_plansEvery Write/Edit to ~/.claude/plans/*.md across your entire history.

Every Write/Edit to ~/.claude/plans/*.md across your entire history.

No parameter schema in public metadata yet.

find_commitsSearch across all sessions by commit message, hash prefix, or branch name; or pass a session_id without a query for one session's chronological git story.

Search across all sessions by commit message, hash prefix, or branch name; or pass a session_id without a query for one session's chronological git story.

No parameter schema in public metadata yet.

reconcileWraps longhand reconcile so Claude can re-attribute and re-ingest from inside a session after a staleness banner; defaults to a dry run (pass fix=true to apply).

Wraps longhand reconcile so Claude can re-attribute and re-ingest from inside a session after a staleness banner; defaults to a dry run (pass fix=true to apply).

No parameter schema in public metadata yet.

Sponsors

Readme

Details

Repository
github.com/wynelson94/longhand
Categories
AI & LLM Tools, Developer Tools
Package
longhand
Transport
STDIO
Registry
MCP registry, active

Related AI & LLM Tools MCP servers

View all
1d4umak avatarHeyLead — AI agent for LinkedIn outreachd4umak/linkedin-outreach-mcpAI agent for LinkedIn outreach: finds the right people, writes in your voice, follows up, replies.13stars
2starloghq avatarStarlogstarloghq/indexVet a package (CVEs, license, maintenance) before your AI agent uses it, plus capability discovery.0stars
3the-40-thieves avatarReliquary-TCthe-40-thieves/reliquary-tcGoverned Obsidian vault access: hybrid retrieval, Markdown-native memory, HITL confirmations.13stars
4archerkattri avatarMathlasarcherkattri/mathlasAirtight math for AI agents: 3.68M-doc theorem search + numeric/Lean verification. No LLM, no key.12stars
5yawlabs avatarctxlintyawlabs/ctxlintLint AI agent context files (CLAUDE.md, AGENTS.md, etc.) against your actual codebase12stars
6aidongise-cell avatarPrism Scanneraidongise-cell/prism-scannerSecurity scanner for AI Agent skills, plugins, and MCP servers with A-F grading.11stars