Longhand
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchA | Semantic search across all stored Claude Code session events. Returns events matching a natural language query, with optional filters by event type, session, project, tool, or file path. IMPORTANT: Always pass session_id when you know which session to search — unscoped search returns noisy results. For finding a discussion WITH surrounding conversation context, use search_in_context instead. |
| search_in_contextA | Search within a specific session and return matches WITH surrounding conversation context. This is the tool you want when you know WHICH session to look in but need to FIND a specific discussion or event. Returns each semantic match plus N events before/after it from the timeline, so you can read the full conversation flow. Much more efficient than paginating get_session_timeline manually. |
| list_sessionsC | List recent Claude Code sessions that Longhand has indexed. |
| get_session_timelineA | Get a chronological timeline of events in a session. Supports session id prefix match. Use 'tail' to get only the last N events (great for checking how a session ended). Use 'offset' to paginate through long sessions. NOT for searching — if you're looking for something specific in a session, use search_in_context instead of paginating this tool in a loop. |
| get_latest_eventsA | Get the N most recent events in a session, in reverse chronological order (sequence DESC). Use this when you need 'what was the latest X' — e.g., the last user message, the last tool call, the last assistant response. Semantic search is the wrong tool for recency; this one is. Supports session id prefix match. |
| replay_fileB | Reconstruct the state of a file at a point in a past Claude Code session. Applies every edit verbatim from the session JSONL — no summarization. |
| get_file_historyA | Get every edit ever made to a file across all sessions, chronologically. |
| get_statsB | Get overall Longhand storage statistics. |
| recallA | PROACTIVE MEMORY — START HERE for any 'do you remember...' question. Handles fuzzy time references ('a couple months ago'), project matching ('that game project'), and episode retrieval in ONE call. Returns: matched projects, relevant episodes (problem→fix pairs), diffs, verbatim thinking blocks, reconstructed file states, and a prebuilt markdown narrative. Do NOT manually search and paginate — use this tool first. |
| recall_project_statusA | Get the current status of a project — where you left off, recent commits, unresolved issues, and latest conversation context. Takes a project name (fuzzy match) and returns a structured summary with git history, linked episodes, and conversation segments. Use this when someone says 'pick up where we left off on X', 'what's the status of X', or 'where did we end on X'. |
| match_projectA | Fuzzy project matching. Given a partial project name, category, or description, returns candidate projects with match reasons. Useful for confirming 'which game did you mean?' before drilling into episodes. |
| find_episodesA | Structured search for problem→fix episodes. Filters: project_ids, time range, keyword, has_fix. Returns raw episode rows. Use this when you already know the project or want data instead of narrative. |
| get_episodeA | Full detail for one episode by episode_id. Includes all referenced events (problem, diagnosis thinking block, fix edit, verification), the diff, and the reconstructed file state after the fix. |
| get_session_commitsA | Get all git operations (commits, pushes, merges, checkouts, etc.) from a session, chronologically. Links session work to git history — the in-between that git log doesn't capture. |
| find_commitsA | Search across all sessions for git commits matching a query — by commit message, hash prefix, or branch name. Great for 'find that commit where we fixed the parser' queries. |
| list_projectsB | Browse inferred projects by keyword, category, or recency. Returns compact summaries by default. Set verbose=true for full detail. |
| get_project_timelineB | Session-level timeline for a project. Returns recent sessions with their outcomes (shipped / fixed / stuck / exploratory) for a bird's-eye view of what's been happening in a project lately. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Wynelson94/longhand'
If you have feedback or need assistance with the MCP directory API, please join our Discord server