The gap it closes is specific: an assistant suggesting a fix while blind to the compiler's actual complaint is guessing. Push notifications on change matter as much as the query tools — the agent finds out an edit introduced three new errors without being asked to check. Filtering by source is the practical one, since separating TypeScript errors from ESLint warnings is usually the first thing you want.
A VS Code extension that exposes the editor's diagnostics over MCP. Whatever appears in the Problems panel — compiler errors, ESLint warnings, any language server's output — becomes queryable, so an agent stops asking you to paste error messages.
- getProblems returns diagnostics filtered by filePath, severity (Error, Warning, Information or Hint), workspaceFolder and source, with limit and offset for paging
- getProblemsForFile returns everything for one absolute file path
- getWorkspaceSummary returns totals grouped by severity, source or workspace folder
- Each problem carries its file path, severity, message, exact range, source and code
- Resources at diagnostics://summary, diagnostics://file/{encodedFilePath} and diagnostics://workspace/{encodedWorkspaceName} expose the same data
- A problemsChanged notification is pushed to connected clients when diagnostics change
- A colour-coded status bar shows the current error and warning counts at a glance
- Diagnostic events are debounced, at 300 milliseconds by default
VS Code 1.96.0 or newer — installed from the Marketplace, from a .vsix release, or built from source with Node.js 22. It registers itself as an MCP server automatically on activation. Settings cover the server port (6070 by default), the debounce interval, and maxProblemsPerFile, which defaults to 1000.
Build from source — clone the repository and build it, then point your client at the binary
