README.md•4.95 kB
# Watchtower DAP Windows Debugging
**Windows-native MCP ⇄ DAP bridge enabling step-through debugging for C#, Node/TS, Python, and Dart**
## Overview
Watchtower is a Model Context Protocol (MCP) server that provides unified debugging capabilities across multiple programming languages on Windows. It acts as a bridge between MCP clients and various debug adapters, offering a consistent interface for debugging workflows.
## Features
- **Windows-Native**: Optimized for Windows 10/11 with Windows-specific adapter detection
- **Multi-Language Support**: C# (vsdbg/netcoredbg), Node.js/TypeScript (vscode-js-debug), Python (debugpy), Dart/Flutter (DAP adapter)
- **Unified MCP Interface**: All 13 required DAP tools exposed through MCP protocol
- **Launch & Attach**: Support for both launching new processes and attaching to running processes
- **Deterministic Debug Loop**: Cursor-based event polling with pagination
- **Security-By-Default**: Environment variables and command-line arguments redacted in logs
- **High Performance**: Time to First Break ≤ 1000ms, Step operations p95 ≤ 200ms
- **Observability Foundation**: OpenTelemetry metrics and structured logging
## Architecture
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MCP Client │───▶│ Watchtower │───▶│ Debug Adapters │
│ (Claude Code) │ │ Server │ │ (DAP Clients) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────┐
│ Event Ring │
│ Buffer │
└─────────────────┘
```
## Development Status
- **Specification**: ✅ Complete
- **Implementation Plan**: ✅ Complete
- **Tasks & Checklists**: ✅ Complete
- **Analysis**: ✅ Complete (9.2/10 rating)
- **Implementation**: 🚧 Phase 1 - Setup
## Quick Start (Alpha)
```bash
# Install dependencies
npm install
# Build the project
npm run build
# Run the MCP server
npm start
# Or run directly
npx dist/watchtower serve
```
## Alpha Release Goals
- [ ] Node.js debugging with breakpoints and stepping
- [ ] Python debugging with breakpoints and stepping
- [ ] Basic MCP tool coverage (dap.start, dap.setBreakpoints, etc.)
- [ ] Integration with Claude Code MCP configuration
## Requirements
- Windows 10/11
- Node.js 22 LTS
- Target language debug adapters (auto-detected)
## Constitution
This project operates under the [Watchtower Constitution](specs/001-dap-windows-debug/constitution.md) with principles including:
- **Windows-Native Focus**: No Linux/WSL support in v1
- **DAP as Single Source of Truth**: All debugging through DAP adapters
- **Minimal MCP Tool Surface**: Only essential tools exposed
- **Security-By-Default**: Redaction and validation active by default
- **Observability Foundation**: Comprehensive metrics and logging
## Project Structure
```
mcp-watchtower/
├── src/ # TypeScript source code
│ ├── adapters/ # Language-specific adapters
│ ├── server/ # MCP server implementation
│ ├── transport/ # DAP transport layer
│ ├── tools/ # MCP tool implementations
│ └── types/ # TypeScript type definitions
├── tests/ # Test files
│ ├── contract/ # Contract tests
│ ├── integration/ # Integration tests
│ └── unit/ # Unit tests
├── docs/ # Documentation
├── specs/ # Specification documents
└── dist/ # Built JavaScript artifacts
```
## Quality Gates
The project includes comprehensive quality checklists for:
- ✅ **Requirements Validation**: 42 functional requirements validated
- ✅ **Quality Gates**: 60 validation items across all dimensions
- ✅ **Release Readiness**: 65 items tracking Alpha/Beta/GA milestones
## Implementation Phases
1. **Setup**: Project initialization and tooling
2. **Foundational**: Core infrastructure (transport, sessions, adapters)
3. **User Story 1**: Node.js + Python debugging (Alpha)
4. **User Story 2**: Multi-language support (Beta)
5. **User Story 3**: Remote attachment (Beta)
6. **Polish**: Documentation, samples, CI, hardening (GA)
## Contributing
This project follows the [implementation tasks](specs/001-dap-windows-debug/tasks.md) and [quality guidelines](specs/001-dap-windows-debug/checklists/).
## License
See LICENSE file.