# Maple

Отдаёт кодинг-агенту комментарии ревью, оставленные на превью-деплое: агент читает контекст, правит код и закрывает замечание коммитом.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 21
- Автор: maple-kit
- Лицензия: Apache-2.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/maple-kit/maple/tree/HEAD/packages/mcp
- Обновлён: 2026-10-21
- HTML: https://affpapa.org/nevibecode/mcp/maple

## Что делает

Maple собирает комментарии ревьюеров, привязанные к запущенному фронтенду, а этот сервер передаёт их агенту. Агент ждёт новый комментарий, получает вместе с ним `file:line` из тегирования, viewport, скриншот и мок, под которым замечание написали, вносит правку и помечает комментарий закрытым с указанием коммита. Ревьюер работает в оверлее, обе половины встречаются в хранилище.

Пакет ставится через `npm install @maple-kit/mcp`. Внутри два бинарника: `maple-mcp` — сам сервер и `maple-stop-hook`, который не даёт агенту объявить работу законченной, пока открытые комментарии остаются. Клиент запускает сервер без аргументов, поэтому всё настраивается через переменные окружения. Для хранилища `github` нужны `GITHUB_TOKEN` с правом читать и писать комментарии пулл-реквестов, а также `MAPLE_GITHUB_OWNER` и `MAPLE_GITHUB_REPO`. Пропущенное значение роняет запуск сразу, а не на первом вызове инструмента.

Без форжа сервер читает и пишет комментарии из `.maple/` в рабочей директории: цикл работает на ноутбуке без пулл-реквеста. Это хранилище для локальной машины, не для превью-пода. Версия 0.x, совместимость между выпусками не обещана — на этом стоит закладывать запас, если встраиваете в командный процесс. `wait_for_comments` ограничен 55 секундами, потому что клиенты обрывают вызов на 60, и таймаут — это результат, а не ошибка.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `GITHUB_TOKEN`, `MAPLE_GITHUB_OWNER`, `MAPLE_GITHUB_REPO`, `MAPLE_STORE` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env GITHUB_TOKEN=<GITHUB_TOKEN> --env MAPLE_GITHUB_OWNER=<MAPLE_GITHUB_OWNER> --env MAPLE_GITHUB_REPO=<MAPLE_GITHUB_REPO> --env MAPLE_STORE=<MAPLE_STORE> --transport stdio mcp -- npx -y @maple-kit/mcp
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```bash
codex mcp add mcp --env GITHUB_TOKEN=<GITHUB_TOKEN> --env MAPLE_GITHUB_OWNER=<MAPLE_GITHUB_OWNER> --env MAPLE_GITHUB_REPO=<MAPLE_GITHUB_REPO> --env MAPLE_STORE=<MAPLE_STORE> -- npx -y @maple-kit/mcp
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@maple-kit/mcp"
            ],
            "env": {
                "GITHUB_TOKEN": "<GITHUB_TOKEN>",
                "MAPLE_GITHUB_OWNER": "<MAPLE_GITHUB_OWNER>",
                "MAPLE_GITHUB_REPO": "<MAPLE_GITHUB_REPO>",
                "MAPLE_STORE": "<MAPLE_STORE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@maple-kit/mcp"
            ],
            "env": {
                "GITHUB_TOKEN": "<GITHUB_TOKEN>",
                "MAPLE_GITHUB_OWNER": "<MAPLE_GITHUB_OWNER>",
                "MAPLE_GITHUB_REPO": "<MAPLE_GITHUB_REPO>",
                "MAPLE_STORE": "<MAPLE_STORE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e GITHUB_TOKEN=<GITHUB_TOKEN> -e MAPLE_GITHUB_OWNER=<MAPLE_GITHUB_OWNER> -e MAPLE_GITHUB_REPO=<MAPLE_GITHUB_REPO> -e MAPLE_STORE=<MAPLE_STORE> mcp npx -y @maple-kit/mcp
```
Вместо <…> подставьте свои значения

## Когда брать
- прочитать комментарий ревью вместе с привязкой к файлу и строке
- дождаться нового замечания, не опрашивая страницу вручную
- закрыть комментарий с указанием коммита, который его исправил
- прогнать цикл ревью на ноутбуке без пулл-реквеста
- не дать агенту закончить сессию с открытыми замечаниями

## Примеры запросов агенту
- Покажи открытые комментарии ревью для ветки `feature/cart`
- Подожди новый комментарий и исправь то, на что он указывает
- Закрой комментарий после правки и запиши хеш коммита

## Похожие
- [Front-End Checklist](https://affpapa.org/nevibecode/mcp/front-end-checklist.md) — MCP-сервер · ★ 74559
- [Codebase Memory](https://affpapa.org/nevibecode/mcp/codebase-memory.md) — MCP-сервер · ★ 47392
- [Serena MCP: the IDE for your agent](https://affpapa.org/nevibecode/mcp/serena-mcp-the-ide-for-your-agent.md) — MCP-сервер · ★ 30677
- [Repomix](https://affpapa.org/nevibecode/mcp/repomix.md) — MCP-сервер · ★ 29027
- [Repowise](https://affpapa.org/nevibecode/mcp/repowise.md) — MCP-сервер · ★ 7891
- [sem](https://affpapa.org/nevibecode/mcp/sem.md) — MCP-сервер · ★ 3422

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
