snyk-api-web — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited snyk-api-web (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
SAW MCP Banner
Connect your AI coding assistant to Snyk API & Web so it can onboard scan targets, configure authentication, run DAST scans, and triage findings — all through natural language.
Built on FastMCP 2.0, works with Cursor, Claude Code, Devin, and any MCP-compatible client.
Naming note: Snyk API & Web was formerly known as Probely. The API endpoints (api.probely.com), web console (plus.probely.app), and MCP tool names (probely_*) still use the legacy domain and prefix. Environment variables and config sections use the newSAW/sawnaming.
See [USER_GUIDE.md](USER_GUIDE.md) for usage, examples, and tool reference.
This repository is closed to public contributions. We appreciate community interest, but we do not accept pull requests, issues, or other contributions from external contributors at this time. If you have found a security issue, please see SECURITY.md.
Go to https://plus.probely.app/api-keys and create an API key.
Important
>
Use a custom role, limited-scope API key for the Snyk API & Web MCP Server. Create the key only with the permissions required for the intended actions. Do not use a highly privileged or global API key, as this can affect your entire account and its resources.
#### Cursor Marketplace (recommended for Cursor users)
Install directly from the Cursor Marketplace:
export MCP_SAW_API_KEY="your-api-key"The plugin installs the MCP server, rules, and skills automatically.
#### Devin MCP Marketplace (Devin users)
Install directly from Devin's MCP Marketplace:
No manual configuration needed — Devin handles the setup automatically.
#### One-command install (any MCP client)
uvx --from git+https://github.com/snyk/saw-mcp.git saw-mcpOr add to your MCP client configuration:
{
"mcpServers": {
"SAW": {
"command": "uvx",
"args": ["--from", "git+https://github.com/snyk/saw-mcp.git", "saw-mcp"],
"env": {
"MCP_SAW_API_KEY": "your-api-key"
}
}
}
}<details> <summary>Alternative installation methods</summary>
Install from release tarball
tar -xzvf SnykAPIWeb-<version>.tgz
cd SnykAPIWeb
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txtDownload from Releases and replace <version> with the actual version number (e.g., 1.0.0).
Clone from source
git clone https://github.com/snyk/saw-mcp.git
cd saw-mcp
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt</details>
The server reads your API key from (in order of precedence): environment variable MCP_SAW_API_KEY → .env file → config/config.yaml.
Option A: Environment variable (recommended for Marketplace / uvx installs)
export MCP_SAW_API_KEY="your-api-key"Option B: `.env` file (recommended for source installs)
Run the setup script (prompts securely, no key in shell history):
./scripts/setup-env.shOr pipe from a secret manager: op read 'op://vault/item/key' | ./scripts/setup-env.sh
This writes a .env file in the project root (gitignored). The server loads it automatically at startup.
If you installed from the Cursor or Devin marketplace, configuration is automatic. For other clients, add to your MCP client configuration:
{
"mcpServers": {
"SAW": {
"command": "uvx",
"args": ["--from", "git+https://github.com/snyk/saw-mcp.git", "saw-mcp"],
"env": {
"MCP_SAW_API_KEY": "your-api-key"
}
}
}
}For host-specific setup see the Installation Guides.
<details> <summary>Additional configuration options</summary>
"MCP_SAW_BASE_URL": "https://your-instance-url" to the env block."MCP_SAW_CONFIG_PATH": "/path/to/config.yaml" instead."MCP_SAW_LOG_LEVEL": "DEBUG" (options: DEBUG, INFO, WARNING, ERROR, CRITICAL; default: INFO).</details>
Ask your AI assistant to:
See [prompts.md](prompts.md) for a full catalog of example prompts — from simple one-liners to complex multi-target workflows.
The SAW MCP server talks to the Snyk API & Web platform — it does not include a browser. To onboard web targets with login sequences, the AI also needs [Playwright MCP](https://playwright.dev/docs/getting-started-mcp) installed alongside SAW:
Without Playwright MCP, the AI cannot record a login flow and may produce an incorrect sequence JSON. In that case it falls back to form login (probely_configure_form_login), which works for simple login pages but not multi-step flows or 2FA.
See the Cursor installation guide for setup details.
Detailed per-host guides live in docs/installation-guides/:
| Host | Guide |
|---|---|
| Cursor | install-cursor.md |
| Claude Desktop | install-claude.md |
| Devin / Other IDEs | install-devin.md |
bash scripts/package.shCreates dist/SnykAPIWeb-<version>.tgz (version from snyk_apiweb/__init__.py).
Running the server directly starts it and waits for an MCP client connection. This is mainly useful for development and debugging:
./venv/bin/python -m snyk_apiweb.serverFor active development with automatic reload on file changes:
./scripts/dev.shThis project is licensed under the Apache License 2.0.
<!-- mcp-name: io.github.snyk/saw-mcp -->
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.