Skip to main content
Glama
zemecom

Cursor Problems MCP

by zemecom
README.md
# Cursor Problems MCP

Расширение VS Code / Cursor, которое отдаёт панель **Problems** ассистентам
через [Model Context Protocol](https://modelcontextprotocol.io) по Streamable HTTP.

> English version: [README.en.md](README.en.md)

## Зачем

Ассистенту нужен тот же список проблем, что видит человек в панели Problems:
структурно, с фильтрами и контекстом кода, без ручного копирования из IDE.

![Панель Problems в Cursor](media/problems-panel.jpg)

## Возможности

- Живые diagnostics (error / warning / information / hint)
- Фильтры по severity, source, file glob, code, message regex
- Опциональный контекст соседних строк кода
- Сводки по группам
- Code actions
- MCP resources и prompts

## Установка

### Вариант A. Промпт для Cursor Agent

Скопируй [`prompts/install-in-cursor.md`](prompts/install-in-cursor.md)
в чат агента. Он клонирует/обновит репозиторий, соберёт VSIX, поставит
`zemecom.cursor-problems-mcp`, уберёт конфликтующий Marketplace Problems Pipe
и пропишет `.cursor/mcp.json`.

Английская копия промпта: [`prompts/install-in-cursor.en.md`](prompts/install-in-cursor.en.md)

### Вариант B. Локальный checkout

```bash
npm install
npm run install:cursor

# сразу записать MCP-конфиг для workspace:
CURSOR_WORKSPACE="/absolute/path/to/workspace" npm run install:cursor
```

Если порт `:3030` уже занят другим Problems MCP, останови его или смени
`cursorProblemsMcp.httpPort`.

### После установки

1. **Developer: Reload Window** или reload MCP servers.
2. Проверь, что доступны tools `get_problems` / `get_problem_summary`.
3. В workspace должен быть `.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "cursor-problems-mcp": {
      "url": "http://127.0.0.1:3030/mcp"
    }
  }
}
```

Хелпер в Command Palette: **Cursor Problems MCP: Copy MCP Server Configuration**.

## MCP tools

| Tool | Описание |
| --- | --- |
| `get_problems` | Запрос diagnostics с фильтрами, сортировкой, пагинацией и опциональным контекстом |
| `get_file_problems` | Markdown-отчёт по одному файлу |
| `get_problem_summary` | Сводка по severity / source / file / workspace |
| `get_code_actions` | Quick fixes для URI / позиции |

## MCP resources

| URI | Описание |
| --- | --- |
| `problems://all` | Все diagnostics в JSON |
| `problems://summary` | Сводка в JSON |
| `problems://errors` | Только errors |
| `problems://file/{path}` | Diagnostics для относительного пути |

## MCP prompts

| Prompt | Описание |
| --- | --- |
| `fix-all-errors` | Промпт на массовое исправление ошибок workspace |
| `explain-error` | Разбор одного diagnostic по `diagnosticId` |

## Настройки

Имена ключей как в `package.json`, секция `cursorProblemsMcp.*`:

| Setting | Default | Описание |
| --- | --- | --- |
| `enabled` | `true` | Включить расширение |
| `autoStart` | `true` | Поднять HTTP-сервер при activate |
| `httpHost` | `127.0.0.1` | Адрес bind |
| `httpPort` | `3030` | Порт |
| `includeSources` | `[]` | Allow-list источников diagnostics |
| `excludeSources` | `[]` | Deny-list источников diagnostics |
| `maxDiagnosticsPerFile` | `100` | Лимит на файл |
| `contextLines` | `3` | Радиус контекста по умолчанию |
| `enableCodeActions` | `true` | Отдавать `get_code_actions` |
| `logLevel` | `info` | Уровень лога |

## Разработка

Для правки самого расширения:

```bash
npm install
npm run typecheck
npm run test
npm run build
npm run watch
```

Отладка: открой эту папку в Cursor/VS Code и нажми **F5**
(Extension Development Host), либо собери VSIX через `npm run package`.

## Связь с Problems Pipe и лицензия

Это независимый MIT-rewrite, а не официальный fork
[Problems Pipe](https://marketplace.visualstudio.com/items?itemName=PacficientLabs.problems-pipe).
Upstream на GitHub сейчас недоступен, поэтому репозиторий отдельный; MCP-поверхность
совместима, extension id свой: `zemecom.cursor-problems-mcp`.

MIT. В copyright указаны этот rewrite (`zemecom`, 2026) и оригинальная работа
Problems Pipe (2025).