An MCP server that monitors development server logs in real-time, categorizes errors by type and severity, and provides Claude Code with immediate error notifications via Server-Sent Events (SSE).
DevServer MCP:
# Install and build
pnpm install && pnpm build
# Start monitoring with SSE server (uses default port 9338)
node dist/server.js --monitor pnpm run dev
# Connect Claude Code (port stays consistent across restarts)
claude mcp add --transport sse devserver-mcp http://127.0.0.1:9338/sse
Now Claude Code receives immediate notifications when errors occur!
Traditional debugging:
With DevServer MCP:
get_dev_server_status
- Current server health and error countsget_error_summary
- Errors grouped by type/severityget_error_history
- Chronological error list with filteringget_file_errors
- Errors for a specific filesuggest_monitoring_setup
- Project-specific setup recommendationsDefault Port (9338):
# Start with default port
node dist/server.js --monitor pnpm run dev
# Connect Claude Code
claude mcp add --transport sse devserver-mcp http://127.0.0.1:9338/sse
Custom Port Per Project:
# Frontend project on port 9339
node dist/server.js --port 9339 --monitor pnpm run dev
# Backend project on port 9340
node dist/server.js --port 9340 --monitor npm run dev:api
# Connect to specific projects
claude mcp add --transport sse frontend-devserver http://127.0.0.1:9339/sse
claude mcp add --transport sse backend-devserver http://127.0.0.1:9340/sse
Benefits:
SSE-Based Real-Time System:
--monitor
): Spawns dev server, parses logs, broadcasts errors via SSE/sse
endpoint for Claude Code connections on specified portReal-time error streaming means Claude Code gets notified within 1-2 seconds of any dev server issue.
Built-in patterns for:
Create devserver-mcp.config.json
:
{
"processPatterns": ["pnpm run dev", "npm run dev"],
"historyLimit": 1000,
"correlationWindow": 5000,
"watchPaths": ["src", "lib"],
"excludePaths": ["node_modules", ".git"],
"patterns": [
{
"name": "custom-error",
"pattern": "CUSTOM: (.+)",
"category": "runtime",
"severity": "critical"
}
]
}
pnpm install # Install deps
pnpm build # Build project
pnpm dev # Watch mode
pnpm test # Run tests
pnpm typecheck # Type checking
# Check if monitoring server is running
ps aux | grep "node.*server.js"
# Restart monitoring server (default port 9338)
node dist/server.js --monitor pnpm run dev
# Verify connection
claude mcp add --transport sse devserver-mcp http://127.0.0.1:9338/sse
# Error: Port 9338 is already in use!
# Solution: Use a different port
node dist/server.js --port 9339 --monitor pnpm run dev
# Then connect with the new port
claude mcp add --transport sse devserver-mcp http://127.0.0.1:9339/sse
# Check MCP connection status
claude mcp list
# Remove and reconnect if needed
claude mcp remove devserver-mcp
claude mcp add --transport sse devserver-mcp http://127.0.0.1:9338/sse
# Each project should use a different port
# Project A
node dist/server.js --port 9338 --monitor pnpm run dev
# Project B
node dist/server.js --port 9339 --monitor npm run dev
# Connect both in Claude Code with different names
claude mcp add --transport sse project-a http://127.0.0.1:9338/sse
claude mcp add --transport sse project-b http://127.0.0.1:9339/sse
MIT