# Fitter

MCP-сервер, который заставляет агента писать декларативные конфиги для сбора данных с сайтов и API и тут же их выполнять.

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

## Что делает

Fitter описывает источник данных и правила извлечения в одном JSON- или YAML-конфиге: HTTP-запрос, headless-браузер, файл или статичное значение — с одной стороны, JSON-пути, CSS-селекторы и XPath — с другой. Кода нет, поэтому конфиг может написать сам агент. Сервер отдаёт модели справочник по формату, инструмент проверки конфига и запуск, а вся загрузка идёт на вашей машине.

Инструментов шесть: `fitter_run` принимает конфиг строкой, `fitter_run_file` читает его из локального файла, `fitter_run_url` скачивает по HTTP(S). Отдельно стоит `fitter_inspect_url` — он вытаскивает из страницы структуру и подходящие селекторы, чтобы модель не угадывала их вслепую и не получала null. Ещё есть `fitter_validate_config` и `fitter_config_reference`.

Браузерные конфиги требуют Playwright: в бинарнике и `.mcpb`-сборке браузеров нет, HTTP, файловые и статичные коннекторы работают сразу. В коннекторе `playwright` можно поставить `"install": true`, и драйвер с браузером скачаются при первом запуске. Если ставите браузеры заранее, версия `playwright-go` должна совпадать с той, что в `go.mod` — иначе драйвер откажется работать. В образе `ghcr.io/pxyup/fitter-mcp:playwright` Chromium, Firefox и WebKit уже внутри.

## Требования
- Нужно: Docker
- Переменные окружения: `FITTER_PLUGINS` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.
- Работает с: Playwright

## Установка

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

**Командой платформы**
```bash
claude mcp add --env FITTER_PLUGINS=<FITTER_PLUGINS> --transport stdio fitter -- docker run -i --rm -e FITTER_PLUGINS ghcr.io/pxyup/fitter-mcp:v1.8.3
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```bash
codex mcp add fitter --env FITTER_PLUGINS=<FITTER_PLUGINS> -- docker run -i --rm -e FITTER_PLUGINS ghcr.io/pxyup/fitter-mcp:v1.8.3
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "fitter": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "FITTER_PLUGINS",
                "ghcr.io/pxyup/fitter-mcp:v1.8.3"
            ],
            "env": {
                "FITTER_PLUGINS": "<FITTER_PLUGINS>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "fitter": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "FITTER_PLUGINS",
                "ghcr.io/pxyup/fitter-mcp:v1.8.3"
            ],
            "env": {
                "FITTER_PLUGINS": "<FITTER_PLUGINS>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e FITTER_PLUGINS=<FITTER_PLUGINS> fitter docker run -i --rm -e FITTER_PLUGINS ghcr.io/pxyup/fitter-mcp:v1.8.3
```
Вместо <…> подставьте свои значения

## Когда брать
- собрать JSON со страницы, которую рисует JavaScript
- описать сбор данных конфигом вместо скрипта на Python
- проверить конфиг до запуска и не ловить null в полях
- переиспользовать удачный конфиг как регулярную задачу
- вытащить данные из API по JSON-путям без ручного разбора

## Примеры запросов агенту
- Собери топ-5 историй с HackerNews с заголовками и очками через fitter
- Запусти `examples/config_morning_briefing.json` через fitter и дай мне сводку
- Посмотри структуру этой страницы через fitter и предложи селекторы для цен

## Похожие
- [REA](https://affpapa.org/nevibecode/mcp/rea.md) — MCP-сервер · ★ 386989
- [Scrapling MCP Server](https://affpapa.org/nevibecode/mcp/scrapling-mcp-server.md) — MCP-сервер · ★ 89433
- [browser-use](https://affpapa.org/nevibecode/mcp/browser-use.md) — MCP-сервер · ★ 119160
- [AIHawk](https://affpapa.org/nevibecode/mcp/aihawk.md) — MCP-сервер · ★ 32221
- [Skyvern](https://affpapa.org/nevibecode/mcp/skyvern.md) — MCP-сервер · ★ 23263
- [SeleniumBase MCP](https://affpapa.org/nevibecode/mcp/seleniumbase-mcp.md) — MCP-сервер · ★ 13169

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