mcpField
S
Snyk API & Web MCP Server

Snyk API & Web MCP Server

本地服务
github.com/snyk安全84 周前更新

关于 Snyk API & Web MCP Server

Snyk API & Web MCP Server 将 AI 编码工具连接到 Snyk API & Web,用于配置扫描目标、运行 DAST 扫描和处理发现项。它面向使用 MCP 客户端管理 API 与 Web 安全测试的团队,并支持带登录流程的 Web 目标配置。

主要功能

  1. 01配置 API 和 Web 扫描目标
  2. 02运行 DAST 扫描
  3. 03管理扫描发现项
  4. 04配置 Web 登录流程

适用场景

  1. 01从 OpenAPI 或 Postman 定义创建 API 目标
  2. 02为需登录的 Web 应用配置扫描
  3. 03对扫描发现项进行分类处理

MCP 相关

该 MCP 服务向兼容客户端提供 Snyk API & Web 的目标配置、扫描和发现项管理能力。Web 登录录制需要通过 playwright-cli 或 Playwright MCP 提供浏览器自动化。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"snyk-saw": {
"command": "uvx",
"args": [
"snyk-apiweb-mcp"
],
"env": {
"MCP_SAW_API_KEY": "<MCP_SAW_API_KEY>"
}
}
}
}
启动命令uvx snyk-apiweb-mcp
需要配置的环境变量
MCP_SAW_API_KEY密钥Snyk API & Web API key. Create at https://plus.probely.app/api-keys

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypisnyk-apiweb-mcp1.1.2

工具

51

收录的工具列表 · 更新于 2 周前

参数类型必填说明
dataany否
jsonany否
pathstring是
methodstring是
paramsany否

详细介绍

SAW MCP Banner

Snyk API & Web MCP 服务

将 AI 编码助手连接到 Snyk API & Web,让它通过自然语言添加扫描目标、配置身份验证、运行 DAST 扫描并分类处理发现的问题。

基于 FastMCP 2.0 构建,兼容 Cursor、Claude Code、Devin 及任何兼容 MCP 的客户端。

名称说明: Snyk API & Web 以前称为 Probely。API 端点(api.probely.com)、Web 控制台(plus.probely.app)和 MCP 工具名称(probely_*)仍沿用旧域名和前缀。环境变量和配置部分使用新的 SAW / saw 命名。

使用方法、示例和工具参考请参阅 USER_GUIDE.md。

此代码库不接受公开贡献。 感谢社区的关注,但目前我们不接受外部贡献者提交的拉取请求、问题或其他贡献。如果您发现安全问题,请参阅 SECURITY.md。

要求

  • Python 3.10+
  • Node.js 18+ 和 npm(用于通过 playwright-cli 录制 Web 目标的登录;若改用 Playwright MCP,则为可选项)
  • Snyk API & Web API 密钥

快速开始

1. 获取 API 密钥

前往 https://plus.probely.app/api-keys 并创建 API 密钥。

重要

请为 Snyk API & Web MCP 服务使用自定义角色、权限范围受限的 API 密钥。 创建密钥时,仅授予执行预期操作所需的权限。 请勿使用权限过高或全局 API 密钥,否则可能影响您的整个账户及其资源。

2. 安装
Cursor Marketplace(推荐 Cursor 用户使用)

直接从 Cursor Marketplace 安装:

  1. 打开 Snyk API & Web 插件页面 并点击 Install,或前往 Settings → Plugins 并搜索 Snyk API & Web
  2. 启动 Cursor 前,将 API 密钥设置为环境变量:
    export MCP_SAW_API_KEY="your-api-key"
    

插件会自动安装 MCP 服务、规则和技能。

Devin MCP Marketplace(Devin 用户)

直接从 Devin 的 MCP Marketplace 安装:

  1. 打开 Devin 并前往 Settings → Configuration。
  2. 在 MCP servers 下,点击 Open MCP Marketplace。
  3. 搜索 Snyk API & Web 并点击 Install。
  4. 出现提示时,输入您的 API 密钥。

无需手动配置 — Devin 会自动完成设置。

一条命令安装(适用于任何 MCP 客户端)
uvx --from git+https://github.com/snyk/saw-mcp.git saw-mcp

或者添加到 MCP 客户端配置中:

{
  "mcpServers": {
    "SAW": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/snyk/saw-mcp.git", "saw-mcp"],
      "env": {
        "MCP_SAW_API_KEY": "your-api-key"
      }
    }
  }
}
其他安装方式

从发布压缩包安装

tar -xzvf SnykAPIWeb-<version>.tgz
cd SnykAPIWeb
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt

从 Releases 下载,并将 <version> 替换为实际版本号(例如 1.0.0)。

从源代码克隆

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
3. 保存 API 密钥

服务按以下优先级读取 API 密钥:环境变量 MCP_SAW_API_KEY → .env 文件 → config/config.yaml。

选项 A:环境变量(推荐用于 Marketplace / uvx 安装)

export MCP_SAW_API_KEY="your-api-key"

选项 B:.env 文件(推荐用于源代码安装)

运行设置脚本(会安全地提示输入,不会将密钥写入 Shell 历史记录):

./scripts/setup-env.sh

或者从密钥管理器传入:op read 'op://vault/item/key' | ./scripts/setup-env.sh

此操作会在项目根目录写入 .env 文件(已加入 git 忽略)。服务启动时会自动加载该文件。

选项 C:密钥引用(避免以明文形式存储密钥)

MCP_SAW_API_KEY 和配置中的 api_key 字段也接受可在运行时解析的引用,因此明文密钥不会存放在任何文件中:

export MCP_SAW_API_KEY="op://vault/saw-mcp/api-key"   # resolved via the 1Password CLI (`op`)
export MCP_SAW_API_KEY="env:MY_SAW_KEY"               # read from another environment variable

请避免提交明文密钥。config/config.yaml 已加入 git 忽略,从该文件读取明文密钥时,服务会在启动时记录警告。

4. 安装浏览器自动化工具(具有登录流程的 Web 目标)

Web 目标接入会在真实浏览器中记录登录流程。推荐编码 Agent 使用: 通过 Shell 使用 playwright-cli:

npm install -g @playwright/cli@latest
playwright-cli install-browser chromium

也可以在克隆的仓库中运行 ./scripts/setup-playwright.sh。

替代方案: 安装 Playwright MCP 作为第二个 MCP 服务(更适合没有 Shell 的 MCP 专用客户端)。请参阅 Web 目标先决条件。

5. 配置 IDE

如果从 Cursor 或 Devin 市场安装,配置会自动完成。对于其他客户端,请将以下内容添加到 MCP 客户端配置中:

{
  "mcpServers": {
    "SAW": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/snyk/saw-mcp.git", "saw-mcp"],
      "env": {
        "MCP_SAW_API_KEY": "your-api-key"
      }
    }
  }
}

有关特定宿主的设置,请参阅安装指南。

其他配置选项
  • 覆盖基础 URL: 在 env 块中添加 "MCP_SAW_BASE_URL": "https://your-instance-url"。
  • 使用配置文件: 改为设置 "MCP_SAW_CONFIG_PATH": "/path/to/config.yaml"。
  • 设置日志级别: 添加 "MCP_SAW_LOG_LEVEL": "DEBUG"(选项:DEBUG、INFO、WARNING、ERROR、CRITICAL;默认值:INFO)。
6. 开始使用

让 AI 助手:

  • “根据此 OpenAPI schema / Swagger 文档 / Postman 集合配置 Snyk API 和 Web API 目标。”
  • “为此已通过身份验证的应用配置 Snyk API 和 Web Web 目标。”

请参阅 prompts.md,查看完整的示例提示词目录——涵盖从简单的单行提示词到复杂的多目标工作流。

Web 目标先决条件

SAW MCP 服务会与 Snyk API 和 Web 平台通信——它不包含浏览器。要接入具有登录流程的 Web 目标,AI 需要通过以下任一方式使用浏览器自动化:

方式适用场景设置
playwright-cli(推荐)Cursor、Devin、Claude Code、带 Shell 的 Cloud Agentsnpm install -g @playwright/cli@latest && playwright-cli install-browser chromium
Playwright MCP(备用)没有 Shell 的 MCP 专用客户端(例如 Claude Desktop)将 Playwright MCP 添加到 IDE 的 MCP 配置中

工作流:

  1. 使用目标 URL 和凭据编写提示词——例如 “使用凭据 [email protected] / password123 添加目标 example.com”。
  2. AI 在浏览器中记录登录流程(使用 playwright-cli 或 Playwright MCP)。
  3. SAW MCP 工具会创建目标,并按照 Probely sequence-recorder 格式上传该流程。

如果没有浏览器自动化,AI 会退回到表单登录(probely_configure_form_login)——仅支持简单的单页登录;不支持多步骤流程或双重身份验证(2FA)。

有关设置详情,请参阅 Cursor 安装指南。

IDE 集成

各宿主的详细指南位于 docs/installation-guides/:

宿主指南
Cursorinstall-cursor.md
Claude Desktopinstall-claude.md
Devin / 其他 IDEinstall-devin.md

打包

bash scripts/package.sh

会创建 dist/SnykAPIWeb-<version>.tgz(版本号来自 snyk_apiweb/__init__.py)。

开发与测试

运行服务(独立模式)

直接运行服务会启动它,并等待 MCP 客户端连接。这主要用于开发和调试:

./venv/bin/python -m snyk_apiweb.server
开发模式(热重载)

进行开发时,可在文件更改后自动重新加载:

./scripts/dev.sh

许可证

本项目采用 Apache License 2.0 许可。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。