cuttalo/depscope

cuttalo/depscope

от cuttalo
MCP сервер DepScope проверяет пакеты в 19 экосистемах - выявляет галлюцинации, устаревшие и вредоносные зависимости. Помогает AI-агентам избегать установки вымышленных и опасных пакетов.

DepScope

Package Intelligence for AI Agents. Stops AI coding agents (Claude, ChatGPT, Cursor, Windsurf, Copilot, Cline) from installing hallucinated, deprecated, or malicious packages across 19 ecosystems.

Live at depscope.dev · 8.4M+ packages · 42K+ vulnerabilities (99% EPSS-enriched) · zero auth · free


Quick start (MCP)

Claude Desktop / Cursor / Windsurf — remote
{
  "mcpServers": {
    "depscope": {
      "url": "https://mcp.depscope.dev/mcp"
    }
  }
}
Claude Code / local — stdio
{
  "mcpServers": {
    "depscope": {
      "command": "npx",
      "args": ["-y", "depscope-mcp"]
    }
  }
}

The MCP server source is at cuttalo/depscope-mcp (AGPL-3.0).


What it does

22 MCP tools across 19 package ecosystems:

npm · pypi · cargo · go · composer · maven · nuget · rubygems · pub · hex · swift · cocoapods · cpan · hackage · cran · conda · homebrew · jsr · julia

Tool Purpose
check_package Full safety check: deprecation · vulnerabilities · health · recommendation
check_malicious Malicious-package detector
check_typosquat Typosquat detection vs popular names
package_exists Hallucination detector (404 = LLM invented it)
get_health_score 0–100 health score with breakdown
get_vulnerabilities Vulnerabilities + severity scoring
find_alternatives Suggested alternatives for deprecated/abandoned packages
get_breaking_changes Major-version migration notes
get_known_bugs Known issues for a package
compare_packages Side-by-side comparison
check_compatibility Stack-level compatibility check
resolve_error Error message → likely cause + fix
install_command Verified install command for the target ecosystem
get_latest_version Latest stable version + maturity signal
pin_safe Suggested safe version pin
get_trust_signals Multi-signal trust score
get_migration_path Step-by-step upgrade plan
scan_project Bulk scan of dependency manifests
check_bulk Fast pre-flight filter for batches
get_trending Trending packages by ecosystem
get_package_prompt Compact LLM-friendly summary
contact_depscope Report a missing package or false positive
Инструменты были проиндексированы:
check_bulkтолько чтениеидемпотентныйвнешний мир

Быстрый предварительный фильтр для набора пар (экосистема, пакет). Только БД, менее 100 мс для 100 элементов. ИСПОЛЬЗОВАТЬ КОГДА: собираетесь выполнить npm install a b c … или pip install a b c … — ловит вымышленные имена, stdlib, опечатки и заведомо опасные пакеты за ОДИН вызов. НЕ является аудитом дерева зависимостей (для этого используйте scan_project). ВОЗВРАЩАЕТ: для каждого элемента {status: exists|stdlib|malicious|typosquat_suspect|historical_incident|unknown}.

Параметры
  • itemsobject[]обязательный
check_compatibilityтолько чтениеидемпотентныйвнешний мир

Проверено ли, что эта конкретная комбинация версий нескольких пакетов работает вместе? ИСПОЛЬЗУЙТЕ, КОГДА: фиксируете стек (next@15 + react@19 + node@22); перед рекомендацией матрицы версий. ВОЗВРАЩАЕТ: {compatible, conflicts[], notes}.

Параметры
  • packagesobjectобязательный

    Package -> version map, e.g. {"next":"15","react":"19"}.

check_maliciousтолько чтениеидемпотентныйвнешний мир

Проверяет цепочку поставок на вредоносное ПО с использованием OpenSSF/OSV. ИСПОЛЬЗУЙТЕ, КОГДА: собираетесь предложить установку непроверенного/незнакомого пакета; название получено из блога/учебника. Вызывайте ДО check_package для ненадёжных пакетов. ВОЗВРАЩАЕТ: {is_malicious, threat_tier, source}.

Параметры
  • ecosystemenumобязательный
  • packagestringобязательный
check_packageтолько чтениеидемпотентныйвнешний мир

Полный машиночитаемый JSON-отчёт (~2k токенов). ИСПОЛЬЗУЙТЕ КОГДА: нужно программно разобрать определённые поля (CI gating, UI, извлечение подполей). В противном случае используйте get_package_prompt. ВОЗВРАЩАЕТ: {package, health:{score}, vulnerabilities[], latest, deprecated, maintainers, recommendation}.

Параметры
  • ecosystemenumобязательный
  • packagestringобязательный

    Package name (e.g. 'express', 'fastapi', 'serde').

  • versionstring

    Specific version (optional; default = latest).

check_typosquatтолько чтениеидемпотентныйвнешний мир

Детектор тайпсквоттинга. ИСПОЛЬЗУЙТЕ, КОГДА: название отличается от известного пакета на 1-2 символа (lodsh, reqeusts); копипаста из ненадёжного источника; загрузок почти нет, но название выглядит знакомым. ВОЗВРАЩАЕТ: {is_typosquat, likely_target, confidence}.

Параметры
  • ecosystemenumобязательный
  • packagestringобязательный
compare_packagesтолько чтениеидемпотентныйвнешний мир

Выполняет сравнение бок о бок (здоровье, уязвимости, загрузки, мейнтейнеры, последний релиз) от 2 до 10 пакетов в одной экосистеме. ИСПОЛЬЗОВАТЬ КОГДА: 'X vs Y' / 'должен ли я выбрать X или Y'. ВОЗВРАЩАЕТ: табличный JSON, одна строка на пакет.

Параметры
  • ecosystemenumобязательный
  • packagesstring[]обязательный

    Package names to compare, e.g. ['express','fastify','hono'].

contact_depscopeвнешний мир

Входящий тикет: bug/listing/security/anomaly/partnership. ИСПОЛЬЗУЙТЕ, КОГДА: сообщаете о неверных данных (bug), запрашиваете новый индекс пакетов/экосистемы (listing), сообщаете об уязвимости безопасности DepScope (security), отмечаете конкретное несоответствие в выводе другого инструмента по сравнению с авторитетным источником (anomaly — укажите tool_called+observed+expected), или для партнерства/прессы (partnership). ВОЗВРАЩАЕТ: {ticket_id} или {anomaly_id}.

Параметры
  • bodystring

    Message body (10-8000 chars). Be specific: include package name, ecosystem, error trace, repro steps when applicable.

  • companystring

    Company / organization (optional).

  • ecosystemstring

    For kind=anomaly: ecosystem of the involved package, if any.

  • emailstring

    Reply-to email of the requester (required for bug/listing/security/partnership).

  • evidence_urlstring

    For kind=anomaly: URL to authoritative source (registry page, GHSA, CVE, repo, ...) supporting your expectation.

  • expectedstring

    For kind=anomaly: what you expected to see (1-1500 chars). Be concrete.

  • kindenum

    Ticket category. anomaly routes to structured anomaly triage (requires tool_called/observed/expected).

  • namestring

    Sender display name (optional).

  • observedstring

    For kind=anomaly: what DepScope returned (1-1500 chars).

  • packagestring

    For kind=anomaly: package name involved, if any.

  • subjectstring

    Short subject line (3-200 chars).

  • tool_calledstring

    For kind=anomaly: DepScope tool that produced the anomaly (e.g. check_package, get_migration_path).

  • versionstring

    For kind=anomaly: package version involved, if any.

find_alternativesтолько чтениеидемпотентныйвнешний мир

Подобранные замены для устаревших/неблагонадёжных пакетов, включая встроенные в стандартную библиотеку (например, fs.rm вместо rimraf). ИСПОЛЬЗУЙТЕ ЕСЛИ: пакет отмечен как AVOID/URGENT; «что использовать вместо X»; перед тем как угадывать название замены. ВОЗВРАЩАЕТ: {alternatives[]: {name, reason, is_stdlib}}.

Параметры
  • ecosystemenumобязательный
  • packagestringобязательный
get_breaking_changesтолько чтениеидемпотентныйвнешний мир

Критические изменения между двумя мажорными версиями ОДНОГО И ТОГО ЖЕ пакета (next@14→15). ИСПОЛЬЗУЙТЕ, КОГДА: пользователь повышает мажорную версию; перед рекомендацией обновления мажорной версии. Отличается от get_migration_path (тот же пакет vs. разные пакеты). ВОЗВРАЩАЕТ: {breaking_changes[]: {area, description, hint}}.

Параметры
  • ecosystemenumобязательный
  • from_versionstring
  • packagestringобязательный
  • to_versionstring
get_health_scoreтолько чтениеидемпотентныйвнешний мир

Единая оценка здоровья от 0 до 100 — самый дешевый барьер «годен/не годен» (>=70 безопасно). ИСПОЛЬЗУЙТЕ, КОГДА: проверка в CI или пакет уже проверен на вредоносное ПО и опечатки. НЕ первичный экран — сначала запустите check_malicious + check_typosquat. Для словесного вердикта используйте get_package_prompt. ВОЗВРАЩАЕТ: {score, verdict}.

Параметры
  • ecosystemenumобязательный
  • packagestringобязательный
get_known_bugsтолько чтениеидемпотентныйвнешний мир

Известные баги, не связанные с CVE, для конкретной версии пакета. ИСПОЛЬЗУЙТЕ, КОГДА: неожиданное поведение, НЕ являющееся проблемой безопасности; зафиксированная версия работает некорректно. ВОЗВРАЩАЕТ: {bugs[]: {title, fixed_in, workaround}}.

Параметры
  • ecosystemenumобязательный
  • packagestringобязательный
  • versionstring
get_latest_versionтолько чтениеидемпотентныйвнешний мир

Последняя опубликованная версия + флаг устаревания — самый дешёвый вызов. ИСПОЛЬЗУЙТЕ, КОГДА: важна только строка версии (закрепление зависимости, ответ на вопрос «какая версия X»). Если также нужны данные о состоянии и уязвимостях, используйте check_package. ВОЗВРАЩАЕТ: {latest, deprecated, published_at}.

Параметры
  • ecosystemenumобязательный
  • packagestringобязательный
get_migration_pathтолько чтениеидемпотентныйвнешний мир

Предписывающий план миграции между РАЗНЫМИ пакетами - обоснование + буквальный diff кода + критические изменения + трудозатраты в минутах. ИСПОЛЬЗУЙТЕ, КОГДА: замена request→axios, moment→dayjs, flask→fastapi и т.д.; известны обе конечные точки. ВОЗВРАЩАЕТ: {rationale, diff, breaking_changes[], estimated_minutes}.

Параметры
  • ecosystemenumобязательный
  • from_packagestringобязательный

    Deprecated/legacy package to migrate away from.

  • to_packagestringобязательный

    Modern replacement package.

get_package_promptтолько чтениеидемпотентныйвнешний мир

Краткая сводка о пакете, оптимизированная для LLM — простой текст, около 300 токенов (примерно на 75% дешевле JSON). Вердикт (SAFE/AVOID/URGENT/MALICIOUS) + здоровье + уязвимости + альтернативы + предупреждения о мейнтейнере. ИСПОЛЬЗУЙТЕ КОГДА: нужно проанализировать пакет и поместить результат прямо в контекст; «безопасен ли X». ОТДАВАЙТЕ ПРЕДПОЧТЕНИЕ ЭТОМУ перед check_package в 95% случаев с LLM. ВОЗВРАЩАЕТ: краткую сводку в виде простого текста.

Параметры
  • ecosystemenumобязательный
  • packagestringобязательный
get_trendingтолько чтениеидемпотентныйвнешний мир

Актуальные трендовые пакеты с изменением рейтинга и недельным ростом в %. ИСПОЛЬЗУЙ, КОГДА: «что сейчас набирает популярность в npm/PyPI/Cargo?»; рекомендация не искажена датой среза обучающих данных. ВОЗВРАЩАЕТ: {items[]: {name, rank, rank_delta, weekly_growth_pct}}.

Параметры
  • ecosystemenum

    Optional. If omitted returns cross-ecosystem trending.

  • limitinteger

    Max results, 1-50. Default 20.

  • scopeenum

    Time window. Defaults to week.

get_trust_signalsтолько чтениеидемпотентныйвнешний мир

Агрегирует за один вызов ВСЕ не-CVE сигналы доверия к цепочке поставок: доверие к мейнтейнеру (bus factor, смена владельца), OpenSSF Scorecard, качество (критичность, скорость релизов, безопасность публикаций) и происхождение SLSA/Sigstore. ИСПОЛЬЗОВАТЬ КОГДА: глубокая проверка пакета за пределами CVE (усиленная/регулируемая среда, SBOM/соответствие, проверка владельца небольшого пакета, выбор между здоровыми кандидатами). Запускает 4 бэкенд-эндпоинта параллельно. ВОЗВРАЩАЕТ: {maintainer, scorecard, quality, provenance} - каждый может быть null, если его бэкенд-вызов завершился ошибкой.

Параметры
  • ecosystemenumобязательный
  • packagestringобязательный
get_vulnerabilitiesтолько чтениеидемпотентныйвнешний мир

Уведомления CVE/OSV, затрагивающие последнюю (или указанную) версию. ИСПОЛЬЗОВАТЬ КОГДА: проект с повышенными требованиями безопасности; пользователь спрашивает 'есть ли CVE в X'; вы уже знаете, что пакет существует. ВОЗВРАЩАЕТ: {vulnerability_count, vulnerabilities[]: {id, severity, cvss, fixed_in}}.

Параметры
  • ecosystemenumобязательный
  • packagestringобязательный
install_commandтолько чтениеидемпотентныйвнешний мир

Канонические команды установки для всех менеджеров пакетов экосистемы (npm/pnpm/yarn/bun, pip/uv/poetry, cargo, go, composer, maven+gradle, nuget, …). ИСПОЛЬЗУЙТЕ, КОГДА: выводите команду установки и вам нужны правильные флаги. ВОЗВРАЩАЕТ: {primary, variants[]}.

Параметры
  • ecosystemenumобязательный
  • packagestringобязательный
  • versionstring

    Optional explicit version; defaults to latest.

package_existsтолько чтениеидемпотентныйвнешний мир

Проверяет существование записи в реестре и возвращает логическое значение. ИСПОЛЬЗУЙТЕ, КОГДА: собираетесь указать имя пакета в команде установки, но не уверены, что оно существует; проверяете имя, сгенерированное из обучающих данных. ВОЗВРАЩАЕТ: {exists}.

Параметры
  • ecosystemenumобязательный
  • packagestringобязательный
pin_safeтолько чтениеидемпотентныйвнешний мир

Возвращает самую высокую версию ниже выбранного уровня критичности CVE, с учётом ограничения semver. ИСПОЛЬЗУЙТЕ, КОГДА: пишете строку в package.json / requirements.txt; разрешаете dependabot по наименее рискованной исправленной версии. ВОЗВРАЩАЕТ: {recommended_version, walk_log[]}.

Параметры
  • constraintstring

    npm-style constraint: ^X.Y.Z, ~X.Y.Z, >=X.Y.Z, or exact X.Y.Z.

  • ecosystemenumобязательный
  • include_prereleaseboolean
  • min_severityenum

    Lowest severity to exclude. Default: high (excludes critical+high).

  • packagestringобязательный
resolve_errorтолько чтениеидемпотентныйвнешний мир

Сопоставляет ошибку или произвольный запрос с проверенным исправлением. ИСПОЛЬЗУЙТЕ, КОГДА: пользователь вставляет конкретную ошибку/стек (ENOENT, ImportError, build failure) — передайте error. ИЛИ пользователь описывает симптом ('webpack slow', 'pip stuck') — передайте query. Всегда отдавайте предпочтение этому, а не угадыванию исправления. ВОЗВРАЩАЕТ: точное совпадение {status, solution, confidence, source_url} или результаты поиска [{title, summary, source_url}].

Параметры
  • contextobject

    Optional context for error-mode calls (ecosystem, package, version).

  • errorstring

    Concrete error message / stack trace. Triggers exact-match lookup.

  • limitinteger

    Max search results (query mode only).

  • querystring

    Free-text symptom description. Triggers KB search.

scan_projectтолько чтениеидемпотентныйвнешний мир

Проверяет зависимости проекта за один раз. Возвращает одно предложение verdict (например, "DO NOT INSTALL - 1 hallucinated: fastapi-turbo"), которое агент может вставить в свой ответ, а также для каждого пакета: здоровье/уязвимости/рекомендацию. Обнаруживает выдуманные пакеты, устаревшие, имитации опечаток, критические уязвимости. Принимает ЛИБО {ecosystem, packages:[name@ver, …]} (до 100, возвращает JSON) ЛИБО {packages:[{ecosystem, package}, …]} (до 50, смешанные экосистемы, возвращает краткий текст). ИСПОЛЬЗУЙ КОГДА: пользователь вставляет package.json/requirements.txt/Cargo.toml; агент сгенерировал команду установки; 'проверить стек'. ВОЗВРАЩАЕТ: JSON с verdict, project_risk, summary.hallucinated_packages, summary.deprecated_packages, здоровье каждого пакета.

Параметры
  • ecosystemenum

    Required when packages is a string array.

  • packagesanyобязательный

    Either ['express','lodash@4.17.0'] (single ecosystem, up to 100) or [{ecosystem, package}, …] (mixed, up to 50).

Похожие MCP-сервера

mopanc/depguard

mopanc/depguard

MCP сервер для безопасной работы с зависимостями в AI-агентах. Анализирует уязвимости и вредоносные пакеты, генерирует SBOM и SARIF для защиты от malware и галлюцинаций AI.

TypeScript15
sim-xia/blind-auditor

sim-xia/blind-auditor

Blind Auditor — MCP инструмент для принудительного аудита кода AI-агентами. Сервер изолирует мышление, заставляя агента переключиться в роль аудитора и проверять код по правилам rules.json. Пропускает только при проходном балле >80, что гарантирует соблюдение стандартов кода и безопасность.

Python11
raye-deng/open-code-review

raye-deng/open-code-review

MCP сервер для проверки качества AI-сгенерированного кода. Выявляет галлюцинированные импорты, устаревшие API, over-engineering и security антипаттерны. Работает локально с любыми LLM, поддерживает 6 языков. Полезен командам с Copilot, Cursor, Claude Code — встраивается в CI/CD и IDE через MCP.

TypeScript37
gridinsoft/mcp-inspector

gridinsoft/mcp-inspector

MCP сервер для анализа безопасности доменов и URL через базу GridinSoft. Помогает ИИ-агентам проверять репутацию сайтов, выявлять фишинг и вредоносное ПО. Подходит разработчикам и специалистам по б...

JavaScript1
Nishant-Chaudhary5338/mcp-toolkit

Nishant-Chaudhary5338/mcp-toolkit

MCP сервер mcp-react-toolkit автоматизирует разработку на React и TypeScript: генерирует компоненты из shadcn/ui, проверяет типы, доступность и тесты, мигрирует JS→TS, аудирует зависимости и бандл....

TypeScript3
BeBraveBeKind/mcpskills-server

BeBraveBeKind/mcpskills-server

MCP сервер для оценки доверия к другим MCP серверам и AI навыкам перед установкой. Проводит сканирование безопасности по 5 типам атак, включая prompt injection и кражу учетных данных. Идеален для б...

JavaScript1
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин