
Snyk API & Web MCP Server
io.github.snykPublished by GitHub account snykv1.1.2Updated Oct 24, 2026
MCP server for Snyk API & Web — DAST scanning, findings management, and vulnerability triage
Overview
Connects an AI assistant to Snyk API & Web (formerly Probely) to onboard scan targets, run DAST scans and triage vulnerability findings.
- What you can do
- Onboard and configure scan targets, including API targets from OpenAPI, Swagger or Postman definitions and web targets with login sequences or simple form login (probely_configure_form_login). Run DAST security scans against configured targets. Review and triage findings from those scans. Record web login flows in a real browser through playwright-cli or Playwright MCP, then upload the sequence in the Probely sequence-recorder format.
- When to use it
- Useful when you want an assistant to set up and drive dynamic application security testing in Snyk API & Web, for example onboarding a new API or authenticated web application and then reviewing and triaging the findings, without switching to the web console.
- Requirements
- Local Python process (Python 3.10+), typically launched with uvx. A Snyk API & Web API key in the MCP_SAW_API_KEY environment variable (or a .env file or config file). Node.js 18+ and npm with playwright-cli, or Playwright MCP as a second server, for recording web logins; optional if only form login is used. Network access to the Snyk API & Web platform.
Installation
In SourceWeft
- Open Snyk API & Web MCP Server in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Snyk API & Web MCP Server
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 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.
Requirements
- Python 3.10+
- Node.js 18+ and npm (for web target login recording via
playwright-cli; optional if using Playwright MCP instead) - Snyk API & Web API key
Quick Start
1. Get Your API Key
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.
2. Install
Cursor Marketplace (recommended for Cursor users)
Install directly from the Cursor Marketplace:
- Open the Snyk API & Web plugin page and click Install, or go to Settings → Plugins and search for Snyk API & Web
- Set your API key as an environment variable before launching Cursor:
The plugin installs the MCP server, rules, and skills automatically.
Devin MCP Marketplace (Devin users)
Install directly from Devin's MCP Marketplace:
- Open Devin and go to Settings → Configuration.
- Under MCP servers, click Open MCP Marketplace.
- Search for Snyk API & Web and click Install.
- When prompted, enter your API key.
No manual configuration needed — Devin handles the setup automatically.
One-command install (any MCP client)
Or add to your MCP client configuration:
Alternative installation methods
Install from release tarball
Download from Releases and replace <version> with the actual version number (e.g., 1.0.0).
Clone from source
3. Store Your API Key
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)
Option B: .env file (recommended for source installs)
Run the setup script (prompts securely, no key in shell history):
Or 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.
Option C: Secret reference (avoids storing the key in plaintext anywhere)
MCP_SAW_API_KEY and the config api_key field also accept a reference that is resolved at runtime, so the literal key never sits in a file:
Avoid committing a plaintext key.
config/config.yamlis gitignored, and a plaintext key read from it logs a warning at startup.
4. Install Browser Automation (web targets with login)
Web target onboarding records login sequences in a real browser. Preferred for coding agents: playwright-cli via Shell:
Or run ./scripts/setup-playwright.sh from a cloned repo.
Alternative: install Playwright MCP as a second MCP server (better for MCP-only clients without Shell). See Web target prerequisites.
5. Configure Your IDE
If you installed from the Cursor or Devin marketplace, configuration is automatic. For other clients, add to your MCP client configuration:
For host-specific setup see the Installation Guides.
Additional configuration options
- Override the base URL: add
"MCP_SAW_BASE_URL": "https://your-instance-url"to theenvblock. - Use a config file: set
"MCP_SAW_CONFIG_PATH": "/path/to/config.yaml"instead. - Set log level: add
"MCP_SAW_LOG_LEVEL": "DEBUG"(options: DEBUG, INFO, WARNING, ERROR, CRITICAL; default: INFO).
6. Start Using
Ask your AI assistant to:
- "Configure a Snyk API & Web API target from this OpenAPI schema / Swagger document / Postman collection."
- "Configure a Snyk API & Web web target for this authenticated application."
See prompts.md for a full catalog of example prompts — from simple one-liners to complex multi-target workflows.
Web target prerequisites
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 needs browser automation via one of:
Workflow:
- Prompt with the target URL and credentials — e.g. "Add target example.com with credentials [email protected] / password123".
- The AI records the login in a browser (
playwright-clior Playwright MCP). - SAW MCP tools create the target and upload the sequence in the Probely sequence-recorder format.
Without browser automation, the AI falls back to form login (probely_configure_form_login) — simple single-page login only; no multi-step flows or 2FA.
See the Cursor installation guide for setup details.
IDE Integration
Detailed per-host guides live in docs/installation-guides/:
Packaging
Creates dist/SnykAPIWeb-<version>.tgz (version from snyk_apiweb/__init__.py).
Development & Testing
Run the Server (standalone)
Running the server directly starts it and waits for an MCP client connection. This is mainly useful for development and debugging:
Development Mode (hot reload)
For active development with automatic reload on file changes:
License
This project is licensed under the Apache License 2.0.
Source: README.md at commit 9b687c6
Tools
0Version history
1- v1.1.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts