NightVision MCP服务器使用说明

本项目是基于 Model Context Protocol (MCP) 构建的服务器端应用,它将NightVision安全平台的能力暴露给兼容MCP的AI客户端(如Claude Desktop、Cursor等),使您可以通过AI助手进行安全目标的管理、扫描、漏洞分析、API发现和流量记录等操作。

项目简介

该MCP服务器作为AI助手与NightVision平台之间的桥梁,通过调用本地安装的NightVision CLI或直接与NightVision API交互,响应AI客户端发出的工具调用请求。它管理与安全相关的“资源”(如目标、扫描结果、模板)和“工具”(如启动扫描、列出漏洞)。

主要功能点

  • 目标管理: 列出、获取详情、创建和删除NightVision中的安全测试目标。
  • 扫描管理: 发起针对目标的扫描,查看扫描状态和历史列表。
  • 漏洞及路径分析: 查看扫描发现的漏洞详情,并列出扫描过程中探测到的路径(URL)。
  • API端点发现: 分析代码库,生成OpenAPI规范,用于API目标的测试。
  • Nuclei模板管理: 列出、创建、上传和分配自定义的Nuclei扫描模板。
  • 流量记录与管理: 通过浏览器自动化记录目标应用的交互流量(生成HAR文件),列出并下载已记录的流量文件。
  • 认证管理: 通过MCP工具完成NightVision平台的认证。

安装步骤

  1. 前提条件:

    • 安装 Node.js 16+。
    • 安装并配置 NightVision CLI (command line interface)。确保 'nightvision' 命令在系统 PATH 中可用,并且您已通过 'nightvision login' 完成认证。
    • 拥有有效的 NightVision 账户和相应的权限。
  2. 克隆仓库:

    git clone https://github.com/nvsecurity/nightvision-mcp.git
    cd nightvision-mcp
  3. 安装依赖:

    npm install
  4. 构建项目:

    npm run build

    构建成功后,可执行文件将位于 'build/index.js'。

MCP客户端配置

要让您的AI客户端(如Claude Desktop或Cursor)使用此MCP服务器,您需要在客户端的配置文件中添加服务器的启动信息。MCP客户端将通过标准输入/输出(Stdio)协议与服务器通信。

配置通常是一个JSON对象,指定服务器的名称、启动命令及其参数。

通用配置格式:

{
  // ... 客户端的其他配置 ...
  "mcpServers": {
    "nightvision": { // 为您的NightVision MCP服务器指定一个独一无二的内部名称
      "command": "node", // 启动服务器的可执行命令 (这里是node.js运行时)
      "args": ["/绝对路径/到/nightvision-mcp/build/index.js"] // 传递给 'command' 的参数,指定服务器主入口文件的绝对路径
    }
  }
  // ... 其他MCP服务器或客户端配置 ...
}

重要:

  • 请将 '/绝对路径/到/nightvision-mcp/build/index.js' 替换为您系统中实际 'build/index.js' 文件的绝对路径。您可以使用 'pwd' (在项目根目录执行) 结合 'build/index.js' 来获取路径。
  • 'command' 参数的值也应是 'node' 可执行文件的绝对路径,如果您遇到 'spawn node ENOENT' 错误。使用 'which node' 命令查找您的 Node.js 安装路径。

具体客户端配置位置:

  • Claude for Desktop: 编辑 '~/Library/Application Support/Claude/claude_desktop_config.json' (macOS) 或 '%APPDATA%\Claude\claude_desktop_config.json' (Windows),在JSON根对象中添加 'mcpServers' 部分。
  • Cursor: 在项目目录创建 '.cursor/mcp.json' 或在用户主目录创建 '~/.cursor/mcp.json',文件内容为上述JSON结构(不包含客户端其他配置,仅包含 'mcpServers' 根对象)。

添加配置后,请重启您的AI客户端。客户端启动时会自动启动并连接配置的MCP服务器。

基本使用方法

  1. 认证: 首次使用或认证过期时,您需要先进行认证。通过AI助手调用 'authenticate' 工具。例如:

    • 询问AI:“Can you create a new NightVision authentication token?” (这会触发交互式CLI登录)
    • 询问AI:“Can you authenticate with NightVision using token "YOUR_API_TOKEN"?” (使用已有的API token)
    • 询问AI:“Can you check if I'm authenticated with NightVision?” (检查当前状态)
  2. 执行工具: 认证成功后,您可以通过自然语言或明确指定工具调用来使用各项功能。AI助手应能识别并调用已注册的工具。

    • 示例(自然语言):
      • “List all my NightVision targets.”
      • “Start a scan on my target called "my-test-app" in the "Web Security" project.”
      • “Show me high and critical severity vulnerabilities found in scan ID "SCAN_ID_HERE".”
      • “Discover API endpoints in my JavaScript codebase in "./src/api" and save the spec to "./openapi.yml".” (这会触发询问项目路径的交互)
    • 示例(模拟工具调用 - 具体交互方式取决于客户端):
      Call Tool: list-targets
      Parameters: {"all": true, "format": "table"}
  3. 交互: 部分工具(如 'discover-api' 和 'download-traffic')可能需要您在AI助手的对话中提供额外信息(如项目路径或下载路径),请根据提示回复。

该服务器将在后台运行,为AI助手提供能力。您可以在运行服务器的终端中看到详细的日志输出(通常是调试信息)。

故障排除

如果在安装或使用过程中遇到问题,请参考README中的 "Troubleshooting" 部分,其中包含了常见错误的解决方案,特别是关于Node.js路径和认证的问题。

信息

分类

开发者工具