Skyrxin/sast-mcp-server

Skyrxin/sast-mcp-server

от skyrxin
MCP сервер для статического анализа безопасности (SAST) — даёт AI-агентам сканировать код на уязвимости с помощью 11 сканеров (Bandit, CodeQL, Trivy и др.). Полезен разработчикам и DevSecOps для по...

SAST MCP Server

PyPI version sast-mcp-server MCP server Python 3.10+ License: MIT CI codecov

Static Application Security Testing (SAST) for AI agents. A production-ready MCP server that gives any AI agent the ability to scan code for security vulnerabilities.

Supports 11 industry-standard scanners:

Scanner Languages / Scope Type
Bandit Python Security linter
njsscan JavaScript, Node.js Static analysis
Bearer Python, JS, Ruby, Java, Go, PHP Data-flow SAST
Semgrep 30+ languages Rule-based SAST
Trivy All (CVEs, Secrets, IaC, images) Multi-scanner
CodeQL Python, JS, Java, Go, C/C++, C#, Ruby, Swift Semantic SAST
Checkov Terraform, K8s, Docker, CloudFormation IaC policy scanner
Gitleaks All (.git history) Deep secret scanning
OSV-Scanner Multiple (lockfiles, sboms) SCA
Grype Containers, OS packages, lockfiles, SBOMs SCA / image scanning
OWASP ZAP RUNTIME Dynamic (DAST) via Docker

Works with any MCP-compatible agent: Gemini CLI, Claude Desktop, OpenAI Agents, Cursor, Windsurf, and more.


Features

  • 🔍 11 SAST/SCA/DAST scanners with a unified output format
  • 🌳 AST-aware context — shows the full enclosing function, not just a line number
  • 📊 Severity & confidence filtering — focus on what matters
  • 🔀 Git diff mode — scan only modified files for incremental reviews
  • 🙈 Ignore management — suppress false positives with audit trail
  • 📄 Pagination — handle large codebases without overwhelming the agent
  • 🌐 Dual transport — stdio (local) or Streamable HTTP (remote deployments)
  • 🔐 JWT & API key authentication — secure remote deployments
  • 📦 One command installpip install sast-mcp-server
  • 🚀 Multi-scanner mode — run all installed scanners in parallel with deduplication
  • 📋 SARIF export — CI/CD integration with GitHub, GitLab, Azure DevOps
  • 🏗️ IaC scanning — Terraform, Kubernetes, Docker security policies
  • 🔑 Secret detection — find hardcoded API keys, tokens, and passwords in code and git history
  • 📦 SCA / dependency CVEs — scan lock files for known vulnerabilities against the OSV database
  • 🕷️ DAST — dynamic baseline scans of running apps via OWASP ZAP + Docker
  • 📈 Baselines & trend tracking — cache scans and diff against a saved baseline
  • 🤖 MCP Prompts & Resources — pre-built security workflows and live dashboards for agents
  • 📤 Dashboard integrations — push SARIF results to DefectDojo or GitHub Code Scanning
  • 🩹 AI-assisted remediation — generate fix prompts and apply agent-written patches via git apply
Инструменты были проиндексированы:
apply_patch

Применяет унифицированную разницу, сгенерированную агентом, к файлам в target_path. Использует git apply, который отклоняет пути, выходящие за пределы целевой директории. Сначала запустите с check_only=True, чтобы проверить, что патч применяется чисто, перед записью изменений.

Применяет патч.

Параметры
  • check_onlyboolean

    If True, validate without modifying any files.

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

    The unified diff text to apply.

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

    Directory the patch paths are relative to.

comment_on_pr

Публикует комментарий с кратким обзором безопасности в запросе на включение изменений GitHub или в заявке на слияние GitLab. Учётные данные берутся только из переменных окружения: GITHUB_TOKEN для GitHub или GITLAB_TOKEN (и опционально GITLAB_URL) для GitLab.

Оставляет комментарий в Pr.

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

    Markdown comment body (e.g. a scan summary or gate result).

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

    PR number (GitHub) or merge request IID (GitLab).

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

    'github' or 'gitlab'.

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

    For GitHub, 'owner/name'. For GitLab, the numeric project ID or URL-encoded 'group/project' path.

compare_baseline

Сравнивает текущие результаты сканирования с сохранённым базовым уровнем. Показывает новые уязвимости, исправленные уязвимости и тенденции серьёзности.

Compare Baseline

Параметры
  • min_confidencestring

    Minimum confidence (LOW, MEDIUM, HIGH).

  • min_severitystring

    Minimum severity (LOW, MEDIUM, HIGH, CRITICAL).

  • scanner_namestring

    Scanner to use. Defaults to 'bearer'.

  • tagstring

    The baseline tag to compare against. Defaults to 'latest'.

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

    The absolute path to the directory to scan.

compliance_report

Сопоставляет результаты с нормативным фреймворком и сообщает о состоянии соответствия. Распределяет все результаты по категориям OWASP Top 10, SANS CWE Top 25, PCI DSS или CIS, используя метаданные CWE/OWASP каждого результата.

Отчёт о соответствии

Параметры
  • frameworkstring

    'owasp' (default), 'sans', 'pci', or 'cis'.

  • min_severitystring

    Minimum severity to include.

  • output_pathstring

    Optional path to write the markdown report.

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

    The absolute path to scan.

create_jira_issue

Открывает задачу в Jira для уязвимости безопасности. Требует переменные окружения JIRA_URL, JIRA_EMAIL и JIRA_API_TOKEN.

Создаёт задачу в Jira.

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

    Issue description (plain text).

  • issue_typestring

    Jira issue type name (default 'Bug').

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

    The Jira project key (e.g. 'SEC').

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

    Issue title.

evaluate_policy

Запускает все сканеры и оценивает результаты в соответствии с политикой безопасности CI. Возвращает явный вердикт PASS/FAIL, подходящий для блокировки пайплайна. Порог -1 означает «без ограничений» для данной степени серьёзности. Когда установлен fail_on_new, результат также завершается неудачей, если какое-либо обнаружение является новым по сравнению с указанным базовым уровнем (созданным с помощью save_baseline).

Оценивает политику.

Параметры
  • baseline_tagstring

    Baseline tag to diff against when fail_on_new is set.

  • fail_on_newboolean

    If true, fail when findings are new vs. the baseline.

  • max_criticalinteger

    Max allowed CRITICAL findings (default 0). -1 = unlimited.

  • max_highinteger

    Max allowed HIGH findings. -1 = unlimited (default).

  • max_mediuminteger

    Max allowed MEDIUM findings. -1 = unlimited (default).

  • min_confidencestring

    Minimum confidence to include in the scan.

  • min_severitystring

    Minimum severity to include in the scan.

  • output_formatstring

    'markdown' (default) or 'json' (machine-readable verdict).

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

    The absolute path to the directory to scan.

export_sarif

Запускает SAST-сканирование и экспортирует результаты в формате SARIF 2.1.0 для интеграции с CI/CD. SARIF - это отраслевой стандартный формат, используемый GitHub Code Scanning, GitLab SAST, Azure DevOps и другими платформами CI/CD.

Экспортирует SARIF.

Параметры
  • min_confidencestring

    Minimum confidence to report (LOW, MEDIUM, HIGH).

  • min_severitystring

    Minimum severity to report (LOW, MEDIUM, HIGH, CRITICAL).

  • output_pathstring

    Optional path to write the SARIF file. If empty, returns the SARIF JSON as a string.

  • scanner_namestring

    The scanner to use ('bandit', 'njsscan', 'bearer', 'semgrep', 'trivy', 'codeql', 'checkov'). Defaults to 'bearer'.

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

    The absolute path to the directory or file to scan.

export_sbom

Запускает все сканеры и экспортирует SBOM или отчёт об уязвимостях. Создаёт артефакт цепочки поставок, который ожидают компании. В режиме CycloneDX, если установлен Syft, список компонентов — это полный перечень зависимостей (не только уязвимых пакетов); в противном случае компоненты выводятся из результатов проверки. Режим SPDX выдаёт документ SPDX 2.3.

Экспортирует Sbom

Параметры
  • formatstring

    'cyclonedx' (default) or 'spdx'.

  • min_severitystring

    Minimum severity to include.

  • output_pathstring

    File path to write the SBOM (empty = return inline).

  • sca_onlyboolean

    Include only dependency (SCA) findings (default). Set False to include every finding as a vulnerability entry.

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

    The absolute path to scan.

generate_fix_prompt

Строит готовый для LLM промпт для исправления кешированного finding в виде unified diff. Восстанавливает finding (по хешу) из кеша сканирования, извлекает расширенное окно уязвимого исходного кода и возвращает промпт, разработанный так, чтобы LLM выдавала строгий unified diff. После генерации патча примените его с помощью apply_patch.

Генерирует промпт для исправления.

Параметры
  • context_windowinteger

    Source lines to include before/after the finding.

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

    Hash of the finding to remediate (shown in scan output).

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

    Root of the scanned project (must have a .sast-mcp-cache).

generate_report

Запускает все сканеры и формирует отчет для руководства по безопасности (HTML или PDF).

Сформировать отчёт

Параметры
  • formatstring

    'html' (default) or 'pdf'. PDF requires the optional [pdf] extra (pip install "sast-mcp-server[pdf]").

  • min_severitystring

    Minimum severity to include.

  • output_pathstring

    File path to write the report (empty = return inline HTML; required for PDF since it is binary).

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

    The absolute path to scan.

ignore_vulnerability

Игнорирует конкретную уязвимость, чтобы она не появлялась в будущих сканированиях.

Игнорирует уязвимость.

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

    The unique hash of the finding to ignore (shown in scan results).

  • reasonstring

    Optional justification for ignoring the vulnerability.

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

    The root directory of the project (where .sast-mcp-ignore.json lives).

import_sarif

Импортирует внешний SARIF-файл в конвейер нормализованных находок. Позволяет результатам из любого инструмента, создающего SARIF (Snyk, Veracode, CodeQL, CI-задание и т.д.), присоединиться к тому же потоку дедупликации / базовых линий / панелей управления, что и собственные сканирования. При импорте находки повторно обогащаются контекстом AST и стабильными хешами.

Импортирует Sarif

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

    Path to a SARIF 2.1.0 JSON file.

  • saveboolean

    Cache the imported findings so compare_baseline / dashboards see them (default True).

  • scanner_namestring

    Name to record as the source scanner (default 'external').

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

    Project root the SARIF results belong to (for caching).

list_ignored_vulnerabilities

Выводит список всех проигнорированных на данный момент уязвимостей для проекта.

Перечисляет игнорируемые уязвимости.

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

    The root directory of the project.

list_scanners

Перечисляет все доступные SAST-сканеры, их статус и поддерживаемые языки. Возвращает информацию о каждом сканере, включая сведения о том, установлен ли он и готов ли к использованию, какие языки он поддерживает и как его установить.

Перечисляет сканеры.

Параметры

Без параметров.

notify_slack

Отправляет уведомление в настроенный входящий вебхук Slack. Требует переменную окружения SLACK_WEBHOOK_URL.

Отправляет уведомление в Slack.

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

    The message text (Slack mrkdwn supported).

notify_teams

Отправляет уведомление на настроенный входящий вебхук Microsoft Teams. Требует переменную окружения TEAMS_WEBHOOK_URL.

Уведомляет Teams.

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

    The message body (Markdown supported).

  • titlestring

    Card title.

remediate_and_verify

Примени исправление и докажи, что оно сработало: сканирование → исправление → повторное сканирование → подтверждение устранения. Замкнутый цикл исправления. Восстанавливает обнаружение по хешу, выполняет пробный запуск исправления, повторно сканирует затронутый файл до и после его применения и возвращает PASS только в том случае, если хеш обнаружения исчезает и не появляется новое обнаружение с равной или более высокой степенью серьезности. При сбое (и когда auto_rollback) исправление откатывается, чтобы рабочее дерево оставалось чистым.

Устраняет и проверяет

Параметры
  • auto_rollbackboolean

    Revert the patch if verification fails (default True).

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

    Hash of the finding to fix (from earlier scan output).

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

    The unified diff to apply (e.g. produced via generate_fix_prompt).

  • scanner_namestring

    Scanner to re-scan with. Defaults to the finding's originating scanner, falling back to all scanners.

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

    Root of the scanned project (with a .sast-mcp-cache).

run_active_scan

Запускает активное динамическое сканирование (DAST) с помощью OWASP ZAP. В отличие от SAST, который анализирует только код, этот процесс оркестрирует запуск приложения через Docker Compose, ожидает его готовности, а затем выполняет динамическое базовое сканирование ZAP для работающего экземпляра.

Запускает активное сканирование.

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

    The name of the docker-compose file (e.g. docker-compose.yml).

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

    Path to the directory containing the docker-compose file.

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

    The URL of the target application once it's up (e.g. http://localhost:8080).

save_baseline

Запускает сканирование и сохраняет результаты в виде именованного базового набора для последующего сравнения.

Сохраняет базовый уровень.

Параметры
  • min_confidencestring

    Minimum confidence to include (LOW, MEDIUM, HIGH).

  • min_severitystring

    Minimum severity to include (LOW, MEDIUM, HIGH, CRITICAL).

  • scanner_namestring

    Scanner to use, or 'scan_all' to baseline the deduplicated results of every installed scanner (recommended for policy gating with evaluate_policy(fail_on_new=True)). Defaults to 'bearer'.

  • tagstring

    A name for this baseline (e.g., 'main', 'pre-release'). Defaults to 'latest'.

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

    The absolute path to the directory to scan.

scan_all

Сканирует ВСЕМИ установленными сканерами параллельно, возвращая дедублицированные результаты. Автоматически определяет, какие сканеры установлены, запускает их одновременно и дедублицирует результаты между сканерами с помощью хеширования на основе содержимого. Это рекомендуемый инструмент для комплексного сканирования безопасности.

Сканирует всё.

Параметры
  • git_diff_onlyboolean

    If true, only reports findings in files modified in git diff.

  • limitinteger

    Maximum number of findings to return (for pagination).

  • min_confidencestring

    Minimum confidence to report (LOW, MEDIUM, HIGH).

  • min_severitystring

    Minimum severity to report (LOW, MEDIUM, HIGH, CRITICAL). Defaults to MEDIUM to reduce noise from multiple scanners.

  • offsetinteger

    Pagination offset.

  • output_formatstring

    'markdown' (human-readable, default) or 'json' (machine-readable list of findings for agents / CI).

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

    The absolute path to the directory or file to scan.

  • use_cacheboolean

    If true, reuse the last cached scan_all when the target's files are unchanged (incremental scan). Ignored with git_diff_only.

scan_git_history

Сканирует всю историю git на предмет утекших секретов и учетных данных с помощью Gitleaks. Традиционный SAST сканирует только текущее состояние файлов. Этот инструмент глубоко анализирует каталог .git, чтобы найти ключи API, пароли и токены, которые были закоммичены в прошлом, но могут оставаться действительными.

Сканирует историю Git.

Параметры
  • min_severitystring

    Minimum severity threshold (defaults to LOW).

  • output_formatstring

    'markdown' (human-readable, default) or 'json' (machine-readable list of findings for agents / CI).

  • target_pathstring

    Path to the repository root (must contain a .git directory).

scan_image

Сканирует образ контейнера на уязвимости и секреты. Извлекает и анализирует ссылку на образ контейнера (например, nginx:1.25, ghcr.io/org/app@sha256:...) с помощью Trivy или Grype, возвращая те же нормализованные результаты, что и при сканировании исходного кода.

Сканирует изображение.

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

    The image reference to scan.

  • min_severitystring

    Minimum severity to report (LOW, MEDIUM, HIGH, CRITICAL).

  • output_formatstring

    'markdown' (default) or 'json'.

  • scanner_namestring

    'trivy' (default) or 'grype'.

scan_vulnerabilities

Сканирует целевую директорию на уязвимости безопасности с помощью инструмента SAST.

Сканирует уязвимости

Параметры
  • git_diff_onlyboolean

    If true, only reports findings in files modified in git diff.

  • limitinteger

    Maximum number of findings to return (for pagination).

  • min_confidencestring

    Minimum confidence to report (LOW, MEDIUM, HIGH).

  • min_severitystring

    Minimum severity to report (LOW, MEDIUM, HIGH, CRITICAL).

  • offsetinteger

    Pagination offset.

  • output_formatstring

    'markdown' (human-readable, default) or 'json' (machine-readable list of findings for agents / CI).

  • scanner_namestring

    The scanner to use ('bandit', 'njsscan', 'bearer', 'semgrep'). Defaults to 'bearer'.

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

    The absolute path to the directory or file to scan.

  • use_cacheboolean

    If true, reuse the last cached scan when the target's files are unchanged (incremental scan). Ignored when git_diff_only is set.

triage_finding

Триажирует находку: получает подсказку по эксплуатируемости или записывает VEX-решение.

Результат триажа

Параметры
  • dispositionstring

    VEX state keyword (empty = return a triage prompt instead).

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

    Hash of the finding to triage.

  • justificationstring

    Rationale (CycloneDX justification keyword for not_affected, otherwise free text).

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

    Root of the scanned project (with a .sast-mcp-cache).

unignore_vulnerability

Удаляет уязвимость из списка игнорирования, чтобы она снова появлялась в будущих сканированиях.

Перестает игнорировать уязвимость.

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

    The unique hash of the finding to unignore.

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

    The root directory of the project.

upload_to_defectdojo

Загружает SARIF-отчёт в DefectDojo engagement. Требует переменные окружения DEFECTDOJO_URL и DEFECTDOJO_API_KEY. Сначала сгенерируйте SARIF-файл с помощью export_sarif(output_path=...).

Загружает в Defectdojo.

Параметры
  • activeboolean

    Mark imported findings as active.

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

    Numeric ID of the target DefectDojo engagement.

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

    Path to a SARIF file produced by export_sarif.

  • verifiedboolean

    Mark imported findings as verified.

upload_to_github

Загружает отчёт SARIF в GitHub Code Scanning. Требует переменную окружения GITHUB_TOKEN с областью security_events: write. Сначала сгенерируйте SARIF-файл с помощью export_sarif(output_path=...).

Загрузить на GitHub

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

    Full SHA of the commit the results apply to.

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

    Fully qualified ref, e.g. refs/heads/main.

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

    Repository in owner/name form.

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

    Path to a SARIF file produced by export_sarif.

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

shyshlakov/pci-dss-mcp

shyshlakov/pci-dss-mcp

MCP-сервер статического анализа Go-кода платежных сервисов. Детектирует нарушения PCI DSS v4.0.1 с привязкой к требованиям. Запускает 12 сканеров и AI-триаж — помогает разработчикам блокировать уязвимости до релиза.

Go3
snyk/studio-mcp

snyk/studio-mcp

официальный

MCP-сервер Snyk интегрирует сканирование безопасности в AI-инструменты. Запускает SCA, SAST, IaC-проверки и возвращает уязвимости. Полезен для DevSecOps-пайплайнов. Управляется через `snyk mcp`.

Go55
conan-io/conan-mcp

conan-io/conan-mcp

MCP сервер для интеграции с Conan — менеджером пакетов C++. Помогает создавать проекты, устанавливать зависимости, проверять лицензии и сканировать уязвимости через простые запросы. Упрощает работу с Conan для разработчиков.

Python10
zinja-coder/apktool-mcp-server

zinja-coder/apktool-mcp-server

MCP сервер для автоматического анализа Android APK с помощью LLM. Декомпилирует приложения, исследует манифест, ресурсы и smali-код, выявляет уязвимости и позволяет модифицировать файлы через ИИ-ассистента. Полезен реверс-инженерам и специалистам по безопасности.

Python649
mopanc/depguard

mopanc/depguard

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

TypeScript15
KryptosAI/mcp-observatory

KryptosAI/mcp-observatory

MCP Observatory — CI и безопасность для MCP-серверов. Сканирует совместимость, находит уязвимости и дрейф схем, предотвращает регрессии. Полезен разработчикам и командам безопасности, использующим ...

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

Лука Никитин