- Create test script to verify WebSocket connections persist across requests
- Test multiple sequential MCP requests using the same inspector URL
- Demonstrate that connections are maintained in the worker thread
- Convert synchronous Map.get() calls to async function calls
- Update imports to include new async getter functions
- Remove manual heap snapshot storage (now handled in worker)
- Replace direct WebSocket management with worker delegation
- Use birpc for type-safe RPC calls to worker functions
- Convert state maps to async getter functions
- Maintain backward compatibility with existing API
- Create dedicated worker thread to manage inspector connections
- Implement birpc-based RPC communication between main and worker threads
- Store inspector state (call frames, console messages, heap snapshots, etc.) in worker
- Handle all WebSocket events in worker to maintain connection persistence
- Add project overview with key capabilities
- Add quick start guide with installation and usage examples
- Add Claude Desktop integration instructions
- Expand architecture section with detailed component descriptions
- Document all 32 MCP tools organized by category with inputs/outputs
- Add protocol integration details with specific domains
- Include TypeScript code examples for type safety and error handling
- Add common use cases for debugging, memory profiling, and performance analysis
- Add troubleshooting guide for connection and event issues
- Improve overall structure and readability for developers
Added @modelcontextprotocol/inspector as dev dependency
Updated inspect script to use mcp-inspector instead of generic inspector
Added DANGEROUSLY_OMIT_AUTH flag for local development
Added documentation for debugger control flow tools
Added documentation for Runtime object inspection tools
Reorganized tool listings into logical groups
Added Runtime.getProperties for inspecting object properties
Added Runtime.callFunctionOn for executing functions on objects
Added Runtime.awaitPromise for handling async debugging
Consolidated memory profiling functionality into main MCP server
Removed memory-mcp.ts, memory-index.ts, and memory-profiler.ts
Updated package.json to remove build:memory script
- Change heapSnapshotsMap to use JSC.Heap.SnapshotResponse type
- Fix TrackingStartEvent and TrackingCompleteEvent handlers
- Use correct property names (timestamp, snapshotData)
Add comprehensive memory profiling capabilities through Heap domain:
- Heap.enable/disable for enabling heap profiling events
- Heap.snapshot for taking heap memory snapshots
- Heap.gc for triggering garbage collection
- Heap.startTracking/stopTracking for tracking heap changes
- Heap.getPreview/getRemoteObject for inspecting heap objects
- Helper tools: getHeapSnapshots, getGCEvents
Add CPU profiling capabilities through ScriptProfiler domain:
- ScriptProfiler.startTracking/stopTracking with optional sampling
- getCPUProfiles helper for retrieving collected profiles
Update state management to track:
- Heap snapshots per URL
- Garbage collection events per URL
- CPU profiling data per URL
Also add index.js to .gitignore as it is a build artifact
- Add Debugger.setBreakpointByUrl to set breakpoints by file URL
- Add Debugger.setBreakpoint to set breakpoints by script ID
- Add Debugger.removeBreakpoint to remove breakpoints
- Add Debugger.setBreakpointsActive to toggle all breakpoints
- All tools include proper error handling and type assertions
- Import consoleMessagesMap and callFramesMap from inspector
- Add as const type assertions for MCP content type fields
- Fixes TypeScript type inference issues with MCP SDK
- Automatically enable debugger on connection
- Add callFramesMap to store paused call frames by URL
- Add consoleMessagesMap to buffer console messages by URL
- Listen for Debugger.paused events and store call frames
- Listen for Console.messageAdded events and buffer messages
- Import JSC types and remoteObjectToString utility
- Add documentation for Debugger.setBreakpointByUrl
- Add documentation for Debugger.setBreakpoint
- Add documentation for Debugger.removeBreakpoint
- Add documentation for Debugger.setBreakpointsActive
- Update flow to mention automatic debugger enabling
- Add notes about server.registerTool() vs server.tool()
- Add note about type assertions for zod-parsed inputs