项目简介

netskope-mcp 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在作为大型语言模型 (LLM) 与 Netskope NPA (Network Private Access) 基础设施之间的桥梁。它允许用户通过 LLM 以自然语言交互的方式管理和操作 Netskope NPA 服务,例如创建和管理发布者 (Publishers)、本地代理 (Local Brokers)、私有应用 (Private Apps) 和策略规则 (Policy Rules) 等。

主要功能点

  • 资源管理: 提供对 Netskope NPA 资源的访问和管理能力,包括发布者、本地代理、私有应用、策略规则和升级配置等。
  • 工具集成: 注册并提供一系列工具,允许 LLM 客户端调用 Netskope NPA API,执行各种管理操作,如创建、更新、删除和查询资源。
  • 标准化接口: 遵循 MCP 协议,通过 JSON-RPC 与客户端通信,提供标准化的上下文服务接口,易于集成到各种 MCP 客户端应用中。
  • 环境配置: 支持通过环境变量配置 Netskope API 的 base URL 和 API Key,方便用户根据自身 Netskope 租户环境进行配置。
  • 多种部署方式: 支持 NPM 包安装和本地开发部署两种方式,并提供 Windows (WSL), Linux 和 macOS 等多种平台的配置示例。

安装步骤

方法 1: 使用 NPM 包安装

  1. 确保已安装 Node.js 和 npm。
  2. 打开终端,运行以下命令安装 netskope-mcp 包:
    npm install @johnneerdael/netskope-mcp

方法 2: 本地开发安装

  1. 确保已安装 Node.js 和 npm 以及 Git。
  2. 克隆 GitHub 仓库到本地:
    git clone https://github.com/johnneerdael/johnneerdael-netskope-mcp.git
    cd netskope-mcp
  3. 安装项目依赖:
    npm install
  4. 构建项目:
    npm run build

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令 (command) 及其参数 (args) 才能与 netskope-mcp 服务器建立连接。以下是各种环境下的 MCP 服务器配置示例 (JSON 格式),请根据您的实际使用环境选择合适的配置,并添加到 MCP 客户端的配置文件中。

Windows (WSL)

  • NPM 安装:
{
  "mcpServers": {
    "netskope-mcp": {
      "command": "wsl.exe",
      "args": [
        "bash",
        "-c",
        "source ~/.nvm/nvm.sh && NETSKOPE_BASE_URL=https://your-tenant.goskope.com NETSKOPE_API_KEY=your-token npx -y @johnneerdael/netskope-mcp"
      ],
      "comment": "启动命令,使用 WSL 运行 NPM 安装的 netskope-mcp 服务器。需要设置 NETSKOPE_BASE_URL 和 NETSKOPE_API_KEY 环境变量。"
    }
  }
}
  • 本地开发:
{
  "mcpServers": {
    "netskope-mcp": {
      "command": "wsl.exe",
      "args": [
        "bash",
        "-c",
        "cd /path/to/netskope-mcp && NETSKOPE_BASE_URL=https://your-tenant.goskope.com NETSKOPE_API_KEY=your-token node dist/cli.js"
      ],
      "comment": "启动命令,使用 WSL 运行本地开发的 netskope-mcp 服务器。需要将 '/path/to/netskope-mcp' 替换为实际的仓库路径,并设置 NETSKOPE_BASE_URL 和 NETSKOPE_API_KEY 环境变量。"
    }
  }
}

Linux 和 macOS

  • NPM 安装:
{
  "mcpServers": {
    "netskope-mcp": {
      "command": "npx",
      "args": ["-y", "@johnneerdael/netskope-mcp"],
      "env": {
        "NETSKOPE_BASE_URL": "https://your-tenant.goskope.com",
        "NETSKOPE_API_KEY": "your-token"
      },
      "comment": "启动命令,使用 npx 运行 NPM 安装的 netskope-mcp 服务器。需要在 env 中设置 NETSKOPE_BASE_URL 和 NETSKOPE_API_KEY 环境变量。"
    }
  }
}
  • 本地开发:
{
  "mcpServers": {
    "netskope-mcp": {
      "command": "node",
      "args": ["dist/cli.js"],
      "cwd": "/path/to/netskope-mcp",
      "env": {
        "NETSKOPE_BASE_URL": "https://your-tenant.goskope.com",
        "NETSKOPE_API_KEY": "your-token"
      },
      "comment": "启动命令,使用 node 运行本地开发的 netskope-mcp 服务器。需要将 '/path/to/netskope-mcp' 替换为实际的仓库路径,并在 env 中设置 NETSKOPE_BASE_URL 和 NETSKOPE_API_KEY 环境变量。"
    }
  }
}

环境变量说明:

  • 'NETSKOPE_BASE_URL': 您的 Netskope 租户 URL (例如: 'https://your-tenant.goskope.com').
  • 'NETSKOPE_API_KEY': 您的 Netskope API Token.

注意: 请将 'https://your-tenant.goskope.com' 和 'your-token' 替换为您的实际 Netskope 租户 URL 和 API Token,并将 '/path/to/netskope-mcp' 替换为本地仓库的实际路径。

基本使用方法

  1. 启动 MCP 服务器: 根据上述服务器配置,MCP 客户端会在启动时自动运行 netskope-mcp 服务器。服务器将通过标准输入/输出 (stdio) 与 MCP 客户端进行通信。
  2. 使用 LLM 客户端与服务器交互: 您可以使用任何支持 MCP 协议的 LLM 客户端 (例如 Smithery) 连接到 netskope-mcp 服务器。客户端将通过 JSON-RPC 协议发送请求到服务器。
  3. 调用工具管理 NPA 资源: 通过 LLM 客户端,您可以调用 netskope-mcp 服务器提供的各种工具来管理 Netskope NPA 资源。例如,可以使用 'mcp_createPublisher' 工具创建新的发布者,或使用 'mcp_listPrivateApps' 工具列出私有应用程序。
  4. 处理服务器响应: 服务器会返回 JSON-RPC 响应,客户端需要解析响应内容,并根据响应状态进行错误处理或提取数据。

请参考仓库的 'README.md' 文件和 'src/examples/usage.ts' 文件,了解更多关于可用工具和使用示例的信息。

信息

分类

商业系统