Structurizr DSL Debugger for Cursor
LocalAbout Structurizr DSL Debugger for Cursor
A specialized MCP server for diagnosing Structurizr DSL syntax issues in Cursor. It monitors Structurizr pages in Chrome, captures errors, and offers fix suggestions and error history.
Key features
- 01Capture DSL syntax errors
- 02Suggest error corrections
- 03Monitor Structurizr pages in Chrome
- 04Configure Structurizr port
- 05Review captured error history
Use cases
- 01Diagnose DSL errors while editing in Cursor
- 02Review captured errors after a debugging session
MCP support
Provides Cursor with MCP tools to connect to the browser, retrieve or clear DSL errors, and submit a proposed fix.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEStructurizr DSL Debugger for Cursor
A specialized tool for debugging Structurizr DSL syntax issues in Cursor IDE. This tool integrates with Cursor using the Model Context Protocol (MCP) to provide real-time Structurizr DSL error detection, analysis, and fix suggestions.
Features
- 🔍 Real-time error detection - Automatically captures syntax errors from Structurizr DSL files
- 🛠️ Suggested fixes - Provides intelligent suggestions to correct common DSL errors
- 🔄 Browser integration - Connects to Chrome with Structurizr pages to monitor errors
- 🧩 Cursor IDE integration - Seamlessly integrates with Cursor using MCP tools
- ⚙️ Configurable - Support for custom Structurizr port configuration
- 📊 Error history - Maintains logs of captured errors for review
Requirements
- Node.js 14+
- Cursor IDE
- Google Chrome with remote debugging enabled
- Structurizr Lite running locally (typically on port 8080)
Installation
-
Clone this repository:
git clone https://github.com/your-username/structurizr-dsl-debugger.git cd structurizr-dsl-debugger -
Install dependencies:
npm install -
Set up Cursor IDE integration:
npm run setup
Usage
Starting Structurizr
- Run Structurizr Lite (if not already running):
docker run -it --rm -p 8080:8080 -v /path/to/workspace:/workspace structurizr/lite
Using the Debugger
-
Launch Chrome with remote debugging enabled:
google-chrome --remote-debugging-port=9222 http://localhost:8080 -
Start the DSL debugger:
# Standard start (default port 8080) npm start # With custom Structurizr port STRUCTURIZR_PORT=9090 npm start # Using the launcher with interactive prompts npm run debug -
In Cursor IDE, use the MCP tools:
connectToBrowser: { "debugPort": 9222, "structurizrPort": 8080 } getDslErrors: { "count": 5 } clearDslErrors: {} fixDslError: { "line": 776, "fix": "dynamic ContainerName ErrorHandlingFlow {" }
Simplified Version
If you encounter issues with the main debugger, try the simplified version:
node simplified-dsl-debugger.js
With shorter MCP tool names:
connect: { "port": 9222 }
errors: { "count": 5 }
fix: { "line": 776, "solution": "dynamic ContainerName ErrorHandlingFlow {" }
Utility Scripts
-
Capture errors directly:
npm run capture -
View captured errors:
npm run errors
Troubleshooting
Chrome Connection Issues
- Ensure Chrome is running with remote debugging enabled on port 9222
- Check if Chrome is already running with the
--remote-debugging-portflag - Try restarting Chrome with:
google-chrome --remote-debugging-port=9222 http://localhost:8080
MCP Tool Issues
- Verify the MCP server is running:
npm start - Try using the simplified version:
node simplified-dsl-debugger.js - Check the logs directory for captured errors
- Restart Cursor IDE
Port Conflicts
- Structurizr default port is 8080
- If another application is using port 8080, you can:
- Change the Structurizr port
- Update the debugger to use the new port:
STRUCTURIZR_PORT=9090 npm start
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.