SAST MCP Server

11-scanner SAST/DAST MCP server with closed-loop remediation, SBOM/SARIF, and CI integrations

Remote serverstreamable-httpPython

What is the SAST MCP server?

11-scanner SAST/DAST MCP server with closed-loop remediation, SBOM/SARIF, and CI integrations. Exposed over MCP by the sast mcp server, that capability becomes something an assistant can invoke while it works, not something you go and do afterwards.

What it actually does

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

  • 🔍 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

Adding it to your client

Being a remote server, there is no local install. You register the endpoint with your client, authorise it once, and the tools appear.

Its toolset

Everything the assistant can do here goes through one of these:

  • scan_vulnerabilities — Scan a directory for security vulnerabilities using a specific scanner
  • scan_all — Run ALL installed scanners in parallel with automatic deduplication. Recommended for comprehensive security scanning.
  • scan_git_history — Scan the entire .git history for leaked secrets and credentials using Gitleaks
  • run_active_scan — Run a dynamic (DAST) baseline scan with OWASP ZAP by orchestrating a Docker Compose stack
  • export_sarif — Export scan results in SARIF 2.1.0 format for CI/CD integration
  • list_scanners — List available scanners, their installation status, and supported languages
  • ignore_vulnerability — The ignore_vulnerability tool exposed by this server
  • unignore_vulnerability — The unignore_vulnerability tool exposed by this server
  • list_ignored_vulnerabilities — The list_ignored_vulnerabilities tool exposed by this server
  • save_baseline — Run a scan and cache the results as a named baseline for future trend comparison
  • compare_baseline — Compare a fresh scan against a saved baseline to highlight new and fixed findings
  • upload_to_defectdojo — Import a SARIF export into a DefectDojo engagement. Requires DEFECTDOJO_URL and DEFECTDOJO_API_KEY environment variables

Configuration

You will need 8 environment variables: SAST_MCP_JWT_SECRET, SAST_MCP_API_KEY, DEFECTDOJO_URL, DEFECTDOJO_API_KEY, GITHUB_TOKEN, GITLAB_TOKEN, GITLAB_URL, SLACK_WEBHOOK_URL. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

Caveats

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch SAST.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the sast mcp server does with a few real requests.

When to reach for it

Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. SAST's toolset — scan_vulnerabilities, scan_all, scan_git_history and 11 more — is a fair guide to whether it matches your workflow. It is maintained by Skyrxin; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Available tools

ToolWhat it does
scan_vulnerabilitiesScan a directory for security vulnerabilities using a specific scanner.
scan_allRun ALL installed scanners in parallel with automatic deduplication. **Recommended for comprehensive security scanning.**
scan_git_historyScan the entire .git history for leaked secrets and credentials using Gitleaks.
run_active_scanRun a dynamic (DAST) baseline scan with OWASP ZAP by orchestrating a Docker Compose stack.
export_sarifExport scan results in SARIF 2.1.0 format for CI/CD integration.
list_scannersList available scanners, their installation status, and supported languages.
ignore_vulnerabilityThe ignore_vulnerability tool exposed by this server.
unignore_vulnerabilityThe unignore_vulnerability tool exposed by this server.
list_ignored_vulnerabilitiesThe list_ignored_vulnerabilities tool exposed by this server.
save_baselineRun a scan and cache the results as a named baseline for future trend comparison.
compare_baselineCompare a fresh scan against a saved baseline to highlight new and fixed findings.
upload_to_defectdojoImport a SARIF export into a DefectDojo engagement. Requires DEFECTDOJO_URL and DEFECTDOJO_API_KEY environment variables.
upload_to_githubUpload a SARIF report to GitHub Code Scanning. Requires a GITHUB_TOKEN with security_events: write scope.
generate_fix_promptPackage a cached finding's vulnerable code and context into an LLM-ready prompt that asks for a strict unified diff fix.

How to install the SAST MCP server

{
  "mcpServers": {
    "sast": {
      "command": "uvx",
      "args": ["sast-mcp-server"],
      "env": {
        "SAST_MCP_JWT_SECRET": "your-value",
        "SAST_MCP_API_KEY": "your-value",
        "DEFECTDOJO_URL": "your-value",
        "DEFECTDOJO_API_KEY": "your-value",
        "GITHUB_TOKEN": "your-value",
        "GITLAB_TOKEN": "your-value",
        "GITLAB_URL": "your-value",
        "SLACK_WEBHOOK_URL": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

VariableDescriptionRequired
SAST_MCP_JWT_SECRETCredential the server authenticates with.Yes
SAST_MCP_API_KEYCredential the server authenticates with.Yes
DEFECTDOJO_URLEndpoint or connection string the server talks to.Yes
DEFECTDOJO_API_KEYCredential the server authenticates with.Yes
GITHUB_TOKENCredential the server authenticates with.Yes
GITLAB_TOKENCredential the server authenticates with.Yes
GITLAB_URLEndpoint or connection string the server talks to.Yes
SLACK_WEBHOOK_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use SAST to scan vulnerabilities.
  • Use SAST to scan all.
  • Use SAST to scan git history.

Frequently asked questions

It connects SAST to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (scan_vulnerabilities, scan_all, scan_git_history, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with SAST directly.