mcpField
N
Netskope NPA MCP Server

Netskope NPA MCP Server

本地服务
johnneerdael.github.io安全823 周前更新

关于 Netskope NPA MCP Server

这是一个用于管理 Netskope Private Access(NPA)基础设施的 MCP 服务,面向网络与安全管理场景。它提供覆盖应用、策略、身份、维护和合规检查的专用工具,并支持工作流协作。

主要功能

  1. 01管理发布器、私有应用与本地代理
  2. 02配置访问策略和流量路由
  3. 03处理 SCIM 身份与用户管理
  4. 04维护计划、告警和资源搜索
  5. 05验证配置并检查合规性
  6. 06提供输入校验、限流和日志

适用场景

  1. 01部署新办公室的 NPA 基础设施
  2. 02安全事件期间限制应用访问
  3. 03审计 NPA 环境的策略与版本
  4. 04查找资源并验证配置合规性

MCP 相关

该服务向 MCP 客户端提供 10 类 Netskope NPA 管理工具,涵盖基础设施、应用、策略、身份及验证。它可通过 stdio 或 `/mcp` 流式 HTTP 端点连接。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"netskope": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/johnneerdael/privateaccess-mcp:latest"
]
}
}
}
启动命令docker run -i --rm ghcr.io/johnneerdael/privateaccess-mcp:latest

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

安装包
ocighcr.io/johnneerdael/privateaccess-mcp:latest

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Netskope NPA MCP 服务

通过 AI 驱动的自动化管理 Netskope Private Access(NPA)基础设施的综合 MCP(Model Context Protocol)服务。

📚 完整文档

本项目包含丰富的文档,结构清晰,便于查阅:

👉 从完整文档开始 - 概览和导航指南

快速访问链接
类别描述链接
🏗️ 架构服务设计和模式服务架构
🛠️ 工具参考完整的工具文档Publisher 工具、Private App 工具、Policy 工具
🔄 工作流常见的自动化模式常见工作流
💼 实际示例完整的使用场景真实案例

工具概览

MCP 服务在 10 个类别中提供 84 个专用工具:

类别工具数主要使用场景
Publishers9 个工具基础设施部署和管理
Private Apps15 个工具应用生命周期和配置
Local Brokers7 个工具网络连接和路由
Policy Management6 个工具访问控制和安全规则
SCIM Integration5 个工具身份和用户管理
Upgrade Profiles7 个工具自动化维护计划
Steering3 个工具流量路由和关联
Alerts2 个工具事件监控和通知
Search2 个工具资源发现和查询
Validation2 个工具配置合规性

实际使用示例

🏢 “为我们新的伦敦办公室搭建完整的 NPA 基础设施”

AI 响应:执行全面的部署工作流

  • ✅ 创建带有自动升级配置的 publisher
  • ✅ 配置用于内部路由的 local broker
  • ✅ 设置核心业务应用(CRM、ERP、File Server)
  • ✅ 创建访问策略,并验证 SCIM 组
  • ✅ 为办公网络启用监控和发现
  • ✅ 生成用于现场部署的注册令牌
🚨 “紧急:发生安全事件——立即锁定 HR/Finance 应用”

AI 响应:紧急安全响应工作流

  • ✅ 自动识别所有 HR/Finance 应用
  • ✅ 创建优先级最高的紧急策略组
  • ✅ 阻止所有用户访问,但事件响应团队除外
  • ✅ 加强对安全事件的监控
  • ✅ 为应用添加事件跟踪标签
📊 “对我们的 NPA 环境进行全面合规审计”

AI 响应:自动化合规性评估

  • ✅ 审计所有 publisher 的版本合规性
  • ✅ 识别没有访问策略的应用
  • ✅ 验证策略中的 SCIM 组引用
  • ✅ 生成合规性评分和修复计划
  • ✅ 按优先级生成详细的发现报告

快速开始

  1. 环境设置

    export NETSKOPE_BASE_URL="https://your-tenant.goskope.com"
    export NETSKOPE_TOKEN="your-api-token"
    
  2. 安装并运行

    npm install
    npm run build
    npm start
    
  3. 通过 MCP 客户端连接

    {
      "mcpServers": {
        "netskope-npa": {
          "command": "node",
          "args": ["/path/to/privateaccess-mcp/build/index.js"],
          "env": {
            "NETSKOPE_BASE_URL": "https://your-tenant.goskope.com",
            "NETSKOPE_TOKEN": "your-api-token"
          }
        }
      }
    }
    

主要特性

🤖 AI 原生设计
  • 工具专为与大模型交互而设计,描述清晰
  • 自动验证和转换参数
  • 提供丰富的错误上下文,便于排查问题
🔄 工作流编排
  • 工具之间自动协作
  • 内置重试逻辑和错误恢复机制
  • 尽可能执行事务性操作
🛡️ 可用于生产环境
  • 使用 Zod schema 进行全面的输入验证
  • 速率限制和 API 配额管理
  • 详细的日志记录和监控
🔗 集成模式
  • 通过 SCIM 集成解析身份
  • 通过搜索工具发现资源
  • 通过验证工具检查合规性

安装选项

NPM 包
npm install @johnneerdael/ns-private-access-mcp
本地开发
git clone https://github.com/johnneerdael/privateaccess-mcp.git
cd privateaccess-mcp
npm install
npm run build
通用 JSON 客户端配置

适用于接收 JSON 映射的客户端(Cursor、Windsurf、自定义主机):

{
  "mcpServers": {
    "netskope": {
      "url": "https://YOUR-MCP-HOST.example.com/mcp",
      "headers": {
        "X-Netskope-Tenant": "https://YOUR-TENANT.goskope.com",
        "Authorization": "Bearer YOUR_NETSKOPE_API_TOKEN"
      }
    }
  }
}
自托管

更倾向于运行自己的实例?项目附带两个 compose 文件:

文件用途命令
docker-compose.yml运行来自 GHCR 的预构建多架构镜像。docker compose up -d
docker-compose.build.yml从本地源代码构建(用于开发)。docker compose -f docker-compose.build.yml up --build

不使用 compose 的单行命令:

# Prebuilt image from GHCR
docker run --rm -p 3000:3000 ghcr.io/johnneerdael/privateaccess-mcp:latest

# Build and run from a local checkout
docker build -t netskope-mcp:local .
docker run --rm -p 3000:3000 netskope-mcp:local

# Or just run the Node entry directly
npm run build && PORT=3000 node dist/cli-http.js

容器开放 /mcp(可流式传输的 HTTP)和 /healthz(存活状态)。

实用环境变量:

变量用途
PORT / HOST绑定地址(默认值为 0.0.0.0:3000)。
PUBLIC_URL规范的公共源站(例如 https://YOUR-MCP-HOST.example.com)。显示在 /healthz 和启动日志中;为未来的 OAuth/知名元数据预留。可以安全省略。
CORS_ORIGIN以逗号分隔的允许列表,适用于基于 浏览器 的 MCP 客户端(例如 https://claude.ai)。默认为 *。与命令行客户端(Claude Code、Codex、Cursor)无关;如果运行在不需要 CORS 的反向代理后,也与其无关。
NETSKOPE_BASE_URL / NETSKOPE_API_TOKEN可选的 回退 凭据,仅在客户端未提供标头时使用。单租户部署请同时设置这两项;多租户自托管时请将两项都留空(共享自托管部署推荐此设置)。

架构亮点

工具组合

工具通过定义明确的接口协同工作:

// Example: Creating a private app with validation and tagging
1. validateName() -> Check app name compliance
2. searchPublishers() -> Find target publisher
3. createPrivateApp() -> Create the application  
4. createPrivateAppTags() -> Add organizational tags
5. updatePublisherAssociation() -> Associate with publishers
架构驱动的校验

每个工具都使用 Zod 架构确保类型安全并进行校验:

const createAppSchema = z.object({
  app_name: z.string().min(1).max(64),
  host: z.string().url(),
  protocols: z.array(protocolSchema),
  clientless_access: z.boolean()
});
错误恢复能力

内置常见问题处理模式:

  • 自动从 MCP 对象中提取参数
  • 使用指数退避的重试逻辑
  • 对部分故障进行平稳降级

致谢

  • John Neerdael(Netskope Private Access 产品经理)
  • Mitchell Pompe(Netskope 荷兰首席解决方案工程师)

获取帮助

  • 文档问题:在 GitHub 上提交 issue
  • 功能请求:创建功能请求 issue
  • 错误报告:使用错误报告模板
  • 安全问题:请参阅 SECURITY.md

此 MCP 服务将复杂的 Netskope NPA 管理转化为简单、由 AI 驱动的对话。

评论

支持 Markdown

第一次接触 MCP?

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

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