# proctor

Гоняет Proctor-экзамены против MCP-серверов: запускает проверки, хранит результаты, управляет машинами Fly.io. Внутренний инструмент PulseMCP.

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

## Что делает

Сервер даёт агенту пять инструментов. `get_proctor_metadata` показывает доступные рантаймы и экзамены, `run_exam` запускает экзамен против MCP-сервера и стримит ход выполнения в NDJSON. `get_machines` перечисляет активные машины Fly.io, `cancel_exam` останавливает зависший прогон, `destroy_machine` удаляет машину.

Инструменты разбиты на группы `exams` и `machines`, у каждой есть вариант `_readonly` с доступом только на чтение. Переменная `TOOL_GROUPS` задаёт список включённых групп через запятую, по умолчанию активны все: `exams,machines`.

Без `PROCTOR_API_KEY` сервер к API не подключится, а публично этот ключ не выдают: исходники открыты, но работают они только с доступом команды PulseMCP. Адрес API задаёт `PROCTOR_API_URL`, по умолчанию `https://admin.pulsemcp.com`. Запуск идёт через `npx`, поэтому нужен Node.

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

## Установка

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

**Командой платформы**
```bash
claude mcp add --env PROCTOR_API_KEY=<PROCTOR_API_KEY> --env PROCTOR_API_URL=<PROCTOR_API_URL> --env TOOL_GROUPS=<TOOL_GROUPS> --transport stdio proctor -- npx -y proctor-mcp-server
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```bash
codex mcp add proctor --env PROCTOR_API_KEY=<PROCTOR_API_KEY> --env PROCTOR_API_URL=<PROCTOR_API_URL> --env TOOL_GROUPS=<TOOL_GROUPS> -- npx -y proctor-mcp-server
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "proctor": {
            "command": "npx",
            "args": [
                "-y",
                "proctor-mcp-server"
            ],
            "env": {
                "PROCTOR_API_KEY": "<PROCTOR_API_KEY>",
                "PROCTOR_API_URL": "<PROCTOR_API_URL>",
                "TOOL_GROUPS": "<TOOL_GROUPS>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "proctor": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "proctor-mcp-server"
            ],
            "env": {
                "PROCTOR_API_KEY": "<PROCTOR_API_KEY>",
                "PROCTOR_API_URL": "<PROCTOR_API_URL>",
                "TOOL_GROUPS": "<TOOL_GROUPS>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e PROCTOR_API_KEY=<PROCTOR_API_KEY> -e PROCTOR_API_URL=<PROCTOR_API_URL> -e TOOL_GROUPS=<TOOL_GROUPS> proctor npx -y proctor-mcp-server
```
Вместо <…> подставьте свои значения

## Когда брать
- прогнать экзамен против MCP-сервера и посмотреть ход в реальном времени
- сравнить результаты повторных прогонов и поймать регрессию
- посмотреть, какие рантаймы и экзамены доступны сейчас
- погасить зависший прогон, не трогая машину целиком
- убрать лишние машины Fly.io после тестов

## Примеры запросов агенту
- Какие экзамены можно прогнать через Proctor?
- Запусти `run_exam` против моего MCP-сервера и покажи логи по ходу
- Отмени текущий экзамен и удали машину `machine-abc123`

## Похожие
- [Front-End Checklist](https://affpapa.org/nevibecode/mcp/front-end-checklist.md) — MCP-сервер · ★ 74559
- [Keploy](https://affpapa.org/nevibecode/mcp/keploy.md) — MCP-сервер · ★ 18727
- [SeleniumBase MCP](https://affpapa.org/nevibecode/mcp/seleniumbase-mcp.md) — MCP-сервер · ★ 13169
- [mobile-mcp](https://affpapa.org/nevibecode/mcp/mobile-mcp.md) — MCP-сервер · ★ 9946
- [e2e](https://affpapa.org/nevibecode/mcp/e2e.md) — MCP-сервер · ★ 11912
- [mockserver](https://affpapa.org/nevibecode/mcp/mockserver.md) — MCP-сервер · ★ 4996

Из того же набора: [pulsemcp/mcp-servers](https://affpapa.org/nevibecode/by/pulsemcp/mcp-servers.md) — 17 карточек

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