9e6d35710c
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
73 lines
6.6 KiB
Markdown
73 lines
6.6 KiB
Markdown
# Провенанс-вет research-tooling (Perplexity Pack) — IS9
|
|
|
|
**Дата:** 2026-06-14
|
|
**Объект:** три MCP-сервера research-слоя (Perplexity Pack) перед формализацией и переносом в main.
|
|
**Методология:** факты из npm registry (`npm view <pkg> --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).
|