# VASTlint

Проверяет VAST, VMAP и DAAST XML по требованиям IAB: агент видит, какое правило нарушено, где именно и как починить.

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

## Что делает

Сервер принимает XML или ссылку на тег и возвращает структурированный JSON: номера правил, позиции XPath и ссылки на спецификацию. Всего 246 правил — от обязательных полей и схемы до форматов валют, SIMID и OMID, есть покрытие VMAP 1.0 и DAAST 1.0. Правила, помеченные знаком `$`, бьют по деньгам напрямую, и их ловит `vastlint check --fail-on-warning` в CI.

Подключение не требует локальной установки: транспорт SSE, адрес `vastlint.org/mcp`. После этого агенту доступны `validate_vast`, `validate_vast_url`, `inspect_vast`, `list_rules`, `explain_rule` и `fix_vast`. Ядро на Rust собрано без рантайм-зависимостей, поэтому проверка идёт быстро даже на потоке тегов.

Отдельно про SIMID: проверяется только XML-обёртка креатива. Получение креатива, заголовки кадра и обмен `postMessage` в ядро не входят. Для другого трафика есть соседние проекты — `RTBlint` для OpenRTB и `Pixellint` для пикселей и постбэков.

## Требования
- Удалённый сервер: `https://vastlint.org/mcp`

## Установка

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

**Командой платформы: удалённый сервер**
```bash
claude mcp add --transport sse vastlint https://vastlint.org/mcp
```

### Codex

**Codex**
- Codex подключает MCP-серверы только по stdio и streamable HTTP, а этот сервер отдаёт SSE

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "vastlint": {
            "url": "https://vastlint.org/mcp"
        }
    }
}
```

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "vastlint": {
            "type": "sse",
            "url": "https://vastlint.org/mcp"
        }
    }
}
```

### Gemini CLI

**Командой платформы: удалённый сервер**
```bash
gemini mcp add -t sse vastlint https://vastlint.org/mcp
```

## Когда брать
- поймать сломанный VAST-тег до запуска рекламы
- проверить ссылку на тег из продакшена и увидеть, какое правило нарушено
- объяснить коллеге, почему трекинг не срабатывает, сославшись на пункт спецификации
- прогнать теги через проверку в CI и не пропустить ошибки с пометкой `$`
- починить XML креатива по номеру правила, не читая спеку целиком

## Примеры запросов агенту
- Проверь этот VAST-тег и покажи, какие правила нарушены: `<?xml version="1.0"?><VAST version="4.1"></VAST>`
- Сходи по ссылке на тег и скажи, что с ним не так, с номерами правил
- Объясни правило, которое сработало на `UniversalAdId`, и предложи исправление

## Похожие
- [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

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