MCP Debug Recorder
Stores debug session history, terminal commands, failed attempts, and successful fixes in a local SQLite database with automatic schema migrations and FTS5-backed full-text search indexing for querying historical debugging data.
mcp-debug-recorder
mcp-debug-recorder answers a simple question fast: have I fixed this before?
It records debug sessions, terminal commands, failed attempts, and successful fixes in a local SQLite database so your MCP client can query your own debugging history in natural language.
Quick Start
npx mcp-debug-recorderBy default, data is stored at ~/.mcp-debug-recorder/sessions.db.
Architecture
src/
├── db.ts - openDb(), createTestDb(), versioned MIGRATIONS[]
├── store.ts - Store class with dependency-injected SQLite access
├── search.ts - FTS5 + Fuse.js hybrid search
├── tools/ - MCP tool handlers grouped by session/search/admin concerns
├── types.ts - Zod schemas and TypeScript types
├── mcp.ts - MCP server wiring + tool registration
├── server-http.ts - Streamable HTTP transport
├── logging.ts - Structured logging with secret redaction
└── version.ts - Package version helperSchema versioning
The database schema is versioned via PRAGMA user_version. Migrations run automatically on startup, so upgrading does not require manual SQL.
Adding a custom database path
DEBUG_RECORDER_DB=/path/to/custom.db npx mcp-debug-recorderConfiguration
Environment variables
DEBUG_RECORDER_DB: override the SQLite database pathPORT: override the HTTP server port for Streamable HTTP modeLOG_LEVEL: minimum structured log level (debug,info,warn,error)FUZZY_THRESHOLD: override the Fuse.js threshold used during reranking
Available Tools
start_debug_session: start tracking a new issueadd_fix: record a failed or successful fix attemptrecord_command: save a terminal command and its outputclose_session: mark a session as resolved or abandonedupdate_session: edit title, description, or tagsdelete_session: permanently delete a session with explicit confirmationsearch_sessions: search historical sessions with FTS5 + fuzzy rerankingfind_similar_errors: ask whether you have seen a similar error beforeget_session: fetch full session detailsget_session_context: fetch an AI-friendly summary of a sessionlist_sessions: browse sessions with filtersget_stats: summarize your debug historyexport_sessions: export your local history for backup or migrationimport_sessions: import a previously exported JSON payload
Claude Desktop Configuration
{
"mcpServers": {
"mcp-debug-recorder": {
"command": "npx",
"args": ["mcp-debug-recorder"]
}
}
}VS Code MCP Configuration
{
"servers": {
"mcp-debug-recorder": {
"type": "stdio",
"command": "npx",
"args": ["mcp-debug-recorder"]
}
}
}Real Usage Examples
Have I seen this before?
"I'm getting
TypeError: Cannot read properties of undefined, have I seen this before?"
Call find_similar_errors with the current error text, then inspect the best match with get_session_context.
Record an active incident
Call
start_debug_sessionAdd terminal commands with
record_commandAdd each attempted fix with
add_fixUse
update_sessionwhen the title or notes become clearerClose the session with
close_session
Back up your local debug history
Call
export_sessionswithformat: "json"Save the returned JSON in your preferred backup system
Restore later with
import_sessions
Data Storage
Default path:
~/.mcp-debug-recorder/sessions.dbPortable SQLite storage with
better-sqlite3FTS5-backed search index for large histories
No external database server required
Note:
better-sqlite3uses a native addon. If you see binding errors, runnpm rebuild better-sqlite3for your Node version.
HTTP Transport
The package also supports Streamable HTTP:
npm run start:httpUseful routes:
GET /healthGET /versionMCP endpoint:
POST/GET/DELETE /mcp
Development
npm ci
npm run lint
npm test
npm run build
npm run test:e2e
npm run docs:apiFor release verification:
npm run format:check
npm run test:coverage
npm run prepublishOnlyAdditional project docs:
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/oaslananka/mcp-debug-recorder'
If you have feedback or need assistance with the MCP directory API, please join our Discord server