# Провенанс-вет research-tooling (Perplexity Pack) — IS9 **Дата:** 2026-06-14 **Объект:** три MCP-сервера research-слоя (Perplexity Pack) перед формализацией и переносом в main. **Методология:** факты из npm registry (`npm view --json` + `… readme`) — владелец/лицензия/версия/активность/мейнтейнеры/провенанс/что исполняет. GitHub API (`gh api`) — **degraded** в этом прогоне (аккаунт `gh` suspended, HTTP 403 → звёзды/форки/archived не получены; компенсируется `repository.url` + датами из npm). Аналог `docs/security/infosec-vet.md` (IS9). --- ## #87 perplexity — `@perplexity-ai/mcp-server` | Поле | Значение | |---|---| | Владелец / мейнтейнеры | **Perplexity** (author `Perplexity`); мейнтейнеры `daniel.morgan@perplexity.ai`, `long@perplexity.ai`, `jason.klym@perplexity.ai` (+1 `kesku@gmail`) | | Лицензия | **MIT** | | Версия / пин | latest **0.9.0** (modified 2026-05-15); ставим по тегу latest через npx | | Репозиторий | `github.com/perplexityai/modelcontextprotocol` (официальный) | | Провенанс | **SLSA provenance attestation** (подписанная сборка через GitHub Actions OIDC) — сильнейший из трёх | | Что исполняет | 4 tools: `perplexity_search` / `perplexity_ask` (sonar-pro) / `perplexity_research` (sonar-deep-research) / `perplexity_reason` (sonar-reasoning-pro). Секрет: `PERPLEXITY_API_KEY`. Трафик: `api.perplexity.ai`. Деп: zod/cors/undici/express/@modelcontextprotocol/sdk | | Сеть / телеметрия | только Perplexity API; сторонней телеметрии в README нет | | **Вердикт** | **ПРИНЯТ** — официальный вендор, MIT, SLSA-провенанс, активен | ## #88 exa — `exa-mcp-server` | Поле | Значение | |---|---| | Владелец / мейнтейнеры | **Exa Labs** (author `Exa Labs`); мейнтейнер `ishan@exa.ai` | | Лицензия | **MIT** (заявлено в `.mcp.json`/репо); ⚠️ **поле `license` отсутствует в npm-метаданных** — сверить `LICENSE` в репо при доступном gh (сейчас degraded) | | Версия / пин | latest **3.2.1** (modified 2026-04-23); npx по latest | | Репозиторий | `github.com/exa-labs/exa-mcp-server` (официальный) | | Провенанс | только npm-registry-подпись (SLSA-attestation НЕТ, в отличие от perplexity) | | Что исполняет | tools `web_search_exa` / `web_fetch_exa` (default) + `web_search_advanced_exa` (off-by-default); deprecated-набор (company/people/code) — выкл. Секрет: `EXA_API_KEY`. Хостед `mcp.exa.ai` ИЛИ npm-stdio (используем npm). Деп: @modelcontextprotocol/sdk, exa-js, axios, jose, zod, agnost, whoami, mcp-handler | | Сеть / телеметрия | Exa API; деп `whoami` — мелкая курьёзность (вне README не верифицировано — см. «Ограничения») | | **Вердикт** | **ПРИНЯТ** (с пометками: npm не отдаёт `license`-поле; нет SLSA-провенанса; глубокий разбор исходников не делался) | ## #89 firecrawl — `firecrawl-mcp` | Поле | Значение | |---|---| | Владелец / мейнтейнеры | **Firecrawl / Mendable** (author `firecrawl`); мейнтейнер `hello@sideguide.dev` (компания Firecrawl) | | Лицензия | **MIT** | | Версия / пин | latest **3.20.4** (modified 2026-06-09 — самый активный) | | Репозиторий | `github.com/firecrawl/firecrawl-mcp-server` (официальный) | | Провенанс | npm-registry-подпись (SLSA-attestation НЕТ) | | Что исполняет | search / scrape / batch_scrape / map / crawl / extract + `firecrawl_agent` (автономный web-research) + status. Секрет: `FIRECRAWL_API_KEY`. Cloud + self-hosted. Деп: @mendable/firecrawl-js (офиц. клиент), firecrawl-fastmcp, dotenv, zod | | Сеть / телеметрия | Firecrawl API (cloud) / self-hosted; сторонней телеметрии в README нет | | **Вердикт** | **ПРИНЯТ** — официальный вендор, MIT, очень активен | --- ## Итоговая таблица вердиктов | # | Пакет | Владелец | Лицензия | Провенанс | Вердикт | |---|---|---|---|---|---| | 87 | `@perplexity-ai/mcp-server` | Perplexity | MIT | SLSA attestation | **ПРИНЯТ** | | 88 | `exa-mcp-server` | Exa Labs | MIT¹ | npm-sig | **ПРИНЯТ**¹ | | 89 | `firecrawl-mcp` | Firecrawl/Mendable | MIT | npm-sig | **ПРИНЯТ** | ¹ license-поле отсутствует в npm-метаданных exa; MIT заявлен в репо/`.mcp.json` — сверить `LICENSE` в репозитории, когда `gh` снова доступен. **Состав пака:** все три ПРИНЯТ → переносим все три (Plan 1 Task 3). Ни один не ОТКЛОНЁН. ## Ограничения вета (degraded) - **GitHub API недоступен** (`gh` account suspended, HTTP 403): звёзды/форки/`archived`/`open_issues` не получены. Компенсировано `repository.url` + датами публикаций из npm (все три — официальные орг-репозитории, активные). - **Глубокий разбор исходников за пределами README не делался** — отдельным проходом при активации серверов (live-smoke + при желании инспекция tarball). Деп-курьёзности (`whoami`/`agnost` у exa) не трассировались до сетевых вызовов. - **Ключи** `PERPLEXITY_API_KEY` / `EXA_API_KEY` / `FIRECRAWL_API_KEY` — только в пользовательском окружении, НЕ в репозитории (gitleaks/§5.4). ## Связано - `docs/research/README.md` — дом раздела research-tooling. - `docs/superpowers/specs/2026-06-14-perplexity-pack-research-tooling-design-v3.md` — дизайн ({#D2}). - `docs/security/infosec-vet.md` — методология-образец (IS9).