LabscoMCP early access ↗
leesgitMCP SERVER

passbaton

Your coding agent starts each session already knowing the project — context is restored by lifecycle hooks, not by you re-explaining it.

by leesgit ↗Agent MemoryCommunity

LABSCO SUMMARY

Automatic beats explicit, and that is the whole argument.

Memory tools that wait for a remember call collect what you thought to save, which is rarely what you needed. Hanging the work on lifecycle hooks means the context appears before you ask, and the compaction handover covers the one gap that hurts most — everything you explained in the first hour, gone at the compact. Local storage keeps it free and private; the trade is that the quality of what gets injected depends on the classifier, so expect to prune occasionally.

What it is

A local memory server for coding agents, paired with five lifecycle hooks that do the remembering automatically. On session start it injects the project state, recent sessions, commits and decisions; on compaction it writes a handover; on exit it extracts commits, decisions and error-fix pairs from the transcript. Claude Code, Codex CLI and Gemini CLI share one local database, so context carries between them.

What you get

  • Automatic injection rather than a remember call — the SessionStart, UserPromptSubmit, PostToolUse, PreCompact and Stop hooks each do one job, and none of them need a command from you
  • A compaction handover: before the context is compressed, the working state, hot files and last build status are carried across
  • Session tools for when you want them — session_start, session_end, session_history and search_sessions for semantic search over past work
  • A classified memory store — memory_store tags each entry as observation, decision, learning, error or pattern; memory_search returns an index first and memory_get fetches the body, so a large store does not flood the context
  • A knowledge graph over those memories — graph_connect links two with a typed relation such as solves or causes, graph_explore walks it, memory_related mixes graph and semantic neighbours
  • An error archive that fills itself: solution_record, solution_find and solution_suggest, fed automatically when a Bash command fails and is later fixed
  • Task tracking and verification — task_add, task_update, task_list, task_suggest from TODO comments, plus verify_build, verify_test and verify_all
  • Feature toggles in a plain JSON config, with an environment override per feature for one-off runs

Requirements

Node.js and a global install of the npm package passbaton, version 2.1.3, which registers the MCP server and the hooks for whichever agents it finds. WORKSPACE_ROOT, MCP_HOOKS_DISABLED, LOG_LEVEL and LOG_FILE are all optional; without WORKSPACE_ROOT it uses the nearest monorepo root, the repository root or the current folder. Everything is stored in a local SQLite database with a full-text index and local embeddings — no API key, no network call, no per-token cost. Codex file-change tracking is not wired yet, and Gemini's session-start injection is advisory in the upstream CLI, so on that client the continuity comes from saved history rather than injected context.

Setup effort

One command — npm install -g passbaton