TypeScript MCP server for structured debug session capture, reproducible diagnostics, event recording, and developer workflow observability.
Drift inferred · capture-to-capture
- HIGH code analysis flagged dynamic code execution ×2 in oaslananka/debug-recorder-mcp
- HIGH code analysis flagged dynamic code execution ×2 in oaslananka/debug-recorder-mcp
transport stdio · streamable-http · http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 74abd4e · analyzer v28 · 3d ago
skills & prompt files 7
- skill oaslananka-debug-recorder-mcp-74abd4e/.opencode/skills/debug-session-capture/SKILL.md
- skill oaslananka-debug-recorder-mcp-74abd4e/.opencode/skills/diagnostic-search/SKILL.md
- skill oaslananka-debug-recorder-mcp-74abd4e/.opencode/skills/incident-replay/SKILL.md
- agent-rules oaslananka-debug-recorder-mcp-74abd4e/AGENTS.md
- skill oaslananka-debug-recorder-mcp-74abd4e/skills/debug-session-capture/SKILL.md
- skill oaslananka-debug-recorder-mcp-74abd4e/skills/diagnostic-search/SKILL.md
- skill oaslananka-debug-recorder-mcp-74abd4e/skills/incident-replay/SKILL.md
danger signals2
- dynamic code execution eval() oaslananka-debug-recorder-mcp-74abd4e/scripts/validate-semgrep-rules.mjs :11
eval(userInput); - dynamic code execution new Function() oaslananka-debug-recorder-mcp-74abd4e/scripts/validate-semgrep-rules.mjs :14
new Function(userInput);
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 59
filesystem 1
- fs oaslananka-debug-recorder-mcp-74abd4e/src/db.ts :1
import { mkdirSync } from 'node:fs';
network 1
- net oaslananka-debug-recorder-mcp-74abd4e/src/server-http.ts :6
} from 'node:http';
secrets 2
- secrets oaslananka-debug-recorder-mcp-74abd4e/src/diagnostics.ts :130
http_auth_configured: Boolean(process.env.DEBUG_RECORDER_HTTP_TOKEN), - secrets oaslananka-debug-recorder-mcp-74abd4e/src/server-http.ts :172
const token = options.token ?? process.env.DEBUG_RECORDER_HTTP_TOKEN;
database 6
- db oaslananka-debug-recorder-mcp-74abd4e/src/db.ts :4
import Database from 'better-sqlite3'; - db oaslananka-debug-recorder-mcp-74abd4e/src/mcp.ts :3
import type Database from 'better-sqlite3'; - db oaslananka-debug-recorder-mcp-74abd4e/src/search.ts :1
import type Database from 'better-sqlite3'; - db oaslananka-debug-recorder-mcp-74abd4e/src/store.ts :2
import type Database from 'better-sqlite3'; - db oaslananka-debug-recorder-mcp-74abd4e/src/tools/index.ts :1
import type Database from 'better-sqlite3'; - db oaslananka-debug-recorder-mcp-74abd4e/src/tools/search-tools.ts :1
import type Database from 'better-sqlite3';
install hooks 2
- prepare oaslananka-debug-recorder-mcp-74abd4e/package.json :56
npm run build - prepublishOnly oaslananka-debug-recorder-mcp-74abd4e/package.json :57
npm run lint && npm run format:check && npm run check:codecov && npm run check:governance && npm run check:dead-code && npm run test:coverage && npm run test:fuzz && npm run build && npm run test:e2e
declared dependencies 23
- @modelcontextprotocol/sdk@1.29.0
- better-sqlite3@12.8.0
- fuse.js@7.3.0
- zod@3.25.76
- @eslint/js@9.39.4
- @jest/globals@30.4.1
- @types/better-sqlite3@^7.6.13
- @types/jest@^30.0.0
- @types/node@22.19.17
- @typescript-eslint/eslint-plugin@8.58.1
- @typescript-eslint/parser@8.58.1
- eslint@9.39.4
- fast-check@4.8.0
- globals@17.4.0
- jest@^30.4.2
- jest-junit@^17.0.0
- knip@6.14.2
- prettier@^3.3.0
- ts-jest@^29.4.11
- ts-node@^10.9.2
- typedoc@0.28.19
- typedoc-plugin-markdown@4.12.0
- typescript@5.9.3
transport_posture 2
- binds all interfaces (0.0.0.0) oaslananka-debug-recorder-mcp-74abd4e/test/fuzz/regression.test.ts :207
host: '0.0.0.0', - binds all interfaces (0.0.0.0) oaslananka-debug-recorder-mcp-74abd4e/test/unit/server-http.test.ts :204
host: '0.0.0.0',