Token导航 LogoToken导航TokenDH.com
Prisma Sdwan MCP logo
运维云端stdio官方级别未说明来源级核验

Prisma Sdwan MCP

MCP Server

Prisma SD-WAN MCP服务器是一个为Palo Alto Networks Prisma SD-WAN提供的模型上下文协议服务器,支持通过自然语言访问SD-WAN操作数据,实现库存审计、健康检查和拓扑分析等功能。

工具数

16

提示词数

0

GitHub Stars

4

资源数

0
安全访问PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

iamdheerajdubey

提供方

iamdheerajdubey

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install fastmcp prisma-sase python-dotenv pyyaml jsonschema

详细介绍

Prisma SD-WAN MCP服务器

License

Status Platform

免责声明: 该项目是为教育和开源目的独立开发的个人作品。它不是Palo Alto Networks,股份有限公司或其任何附属公司的官方产品。所有商标、服务标志和公司名称均为其各自所有者的财产。

______________________________________________________________________

一个健壮的 模型上下文协议(MCP) 服务器 Palo Alto Networks Prisma SD-WAN.

此服务器弥合了AI代理(如Claude、Gemini或自定义LLM)与Prisma SD-WAN结构之间的差距。它支持对操作数据的安全、只读访问,允许代理通过自然语言执行库存审计、健康检查、拓扑分析和策略验证等任务。

目录

关于

Prisma SD-WAN MCP服务器将Prisma SASE API的复杂性抽象为清晰的语义工具,人工智能模型可以自主理解和调用这些工具。您的AI代理只是询问它需要什么,而不是导航REST端点、分页和令牌管理。

核心设计原则:

  • 安全第一 …设计为 只读 界面。唯一的写入操作是 generate_site_config,生成本地YAML文件。不会向Prisma SD-WAN租户推送任何更改。
  • 简化上下文 …原始API响应被解析并修剪到重要的字段,使LLM上下文窗口保持精简和集中。
  • 多运输 …支持 工作室 (适用于Claude Desktop和本地客户端), 上海证券交易所 (用于远程/网络代理),以及 可流式传输的HTTP.
  • 集装箱准备就绪 …带有生产就绪的Dockerfile,用于一致的部署。
  • 自动重新身份验证 …透明地处理OAuth2令牌刷新。令牌持续15分钟;服务器在过期之前重新进行身份验证。

特性

类别功能
站点管理列出所有SD-WAN站点,检索单个站点的详细信息和配置
元素库存查看ION设备、其状态、硬件详细信息和软件版本
网络拓扑检索显示站点到站点连接的完整SD-WAN拓扑图
接口检查每个站点和元素的LAN和WAN接口
路由查询每个元素的BGP对等配置和静态路由
政策与安全查看策略集定义和安全区域分配
事件和警报查询最近的事件并检索按严重程度筛选的活动警报
应用程序浏览整个结构中使用的应用程序定义
配置生成从模板数据生成经过验证的站点配置YAML文件

先决条件

  • Python 3.10+
  • A. Prisma SASE租户 启用API访问
  • A. 服务账号 至少具有只读权限
  • 服务帐户凭据:

- 客户端ID - 客户端密钥 - TSG ID(租户服务组)

创建服务帐户

  1. 登录到 Prisma SASE门户网站
  2. 引导到 设置>身份和访问>服务帐户
  3. 使用创建新的服务帐户 Prisma SD-WAN 应用程序和只读角色
  4. 记下 客户端ID, 客户端密钥,和你的 TSG ID

安装

来自源头

git clone 
cd prisma-sdwan
pip install fastmcp prisma-sase python-dotenv pyyaml jsonschema

使用Docker

docker build -t prisma-sdwan-mcp .

配置

环境变量

变量描述必填
PAN_CLIENT_ID服务帐户客户端ID(例如。, name@tsg.iam.panserviceaccount.com)
PAN_CLIENT_SECRET服务帐户客户端密码
PAN_TSG_ID租户服务组ID
PAN_REGIONAPI地区: americaseurope (默认值: americas)没有

.env文件

创建一个 .env 文件在 prisma-sdwan/ 目录:

PAN_CLIENT_ID=myaccount@1234567890.iam.panserviceaccount.com
PAN_CLIENT_SECRET=abc123-your-secret-here
PAN_TSG_ID=1234567890
PAN_REGION=americas
安全说明: 永远不要承诺你的 .env 文件到版本控制。它已经包含在 .gitignore.

用法

服务器支持三种传输模式,具体取决于AI客户端的连接方式。

标准模式(默认)

最适合本地集成,如Claude Desktop或基于CLI的MCP客户端。

python prisma_sdwan_mcp_server.py --transport stdio

SSE模式

最适合远程或基于网络的AI代理。

python prisma_sdwan_mcp_server.py --transport sse --host 0.0.0.0 --port 8000

流式HTTP模式

python prisma_sdwan_mcp_server.py --transport streamable-http --host 0.0.0.0 --port 8000

码头工人

# Stdio mode (default)
docker run -i --rm \
  -e PAN_CLIENT_ID=myaccount@tsg.iam.panserviceaccount.com \
  -e PAN_CLIENT_SECRET=your-secret \
  -e PAN_TSG_ID=1234567890 \
  prisma-sdwan-mcp --transport stdio

# SSE mode with port mapping
docker run -d --rm \
  -p 8000:8000 \
  -e PAN_CLIENT_ID=myaccount@tsg.iam.panserviceaccount.com \
  -e PAN_CLIENT_SECRET=your-secret \
  -e PAN_TSG_ID=1234567890 \
  prisma-sdwan-mcp --transport sse --host 0.0.0.0 --port 8000

客户端集成

克劳德桌面

将以下内容添加到您的Claude Desktop MCP配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "prisma-sdwan": {
      "command": "python",
      "args": [
        "/absolute/path/to/prisma_sdwan_mcp_server.py",
        "--transport",
        "stdio"
      ],
      "env": {
        "PAN_CLIENT_ID": "myaccount@tsg.iam.panserviceaccount.com",
        "PAN_CLIENT_SECRET": "your-secret",
        "PAN_TSG_ID": "1234567890"
      }
    }
  }
}

使用Docker:

{
  "mcpServers": {
    "prisma-sdwan": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "PAN_CLIENT_ID",
        "-e", "PAN_CLIENT_SECRET",
        "-e", "PAN_TSG_ID",
        "prisma-sdwan-mcp",
        "--transport", "stdio"
      ],
      "env": {
        "PAN_CLIENT_ID": "myaccount@tsg.iam.panserviceaccount.com",
        "PAN_CLIENT_SECRET": "your-secret",
        "PAN_TSG_ID": "1234567890"
      }
    }
  }
}

双子星命令行工具

添加到您的 settings.json:

{
  "mcpServers": {
    "prisma-sdwan": {
      "command": "python",
      "args": [
        "/absolute/path/to/prisma_sdwan_mcp_server.py",
        "--transport",
        "stdio"
      ],
      "env": {
        "PAN_CLIENT_ID": "myaccount@tsg.iam.panserviceaccount.com",
        "PAN_CLIENT_SECRET": "your-secret",
        "PAN_TSG_ID": "1234567890"
      }
    }
  }
}

OpenCode/其他MCP客户端

任何兼容MCP的客户端都可以使用stdio传输进行连接。指向 prisma_sdwan_mcp_server.py 随着 --transport stdio 参数并提供所需的环境变量。

可用工具

所有工具都返回针对LLM消费优化的JSON格式数据。

工具名称描述参数
get_sites列出所有SD-WAN站点或按ID检索特定站点site_id (可选)
get_elements列出所有ION设备元件或特定元件element_id (可选)
get_machines硬件清单:机箱序列号、型号和机器详细信息machine_id (可选)
get_interfaces站点中给定元素的LAN和WAN接口site_id, element_id
get_wan_interfaces站点的广域网接口配置site_id
get_policy_setsSD-WAN策略集定义(路径、QoS、NAT规则)
get_security_zones跨结构的安全区域定义
get_bgp_peers站点特定元素的BGP对等配置site_id, element_id
get_static_routes元素的静态路由表site_id, element_id
get_element_status离子元件的运行状态和健康状况element_id
get_software_status软件版本、升级状态和映像详细信息element_id
get_app_defs策略和报告中使用的应用程序定义
get_topology完整的SD-WAN任意网拓扑图(节点、链路和状态)
get_events所有严重级别(严重、重大、轻微)的最近事件limit (可选,默认值:20)
get_alarms激活的主要和关键警报limit (可选,默认值:20)
generate_site_config生成经过验证的站点配置YAML文件site_id, elements, filename (可选), overwrite (可选)

示例提示

连接后,尝试询问您的AI代理:

  • *“显示SD-WAN结构中的所有站点。”*
  • *“部署了哪些ION设备,它们运行的软件版本是什么?”*
  • *“拉取DC West站点元素的BGP对等方。”*
  • *“现在有任何关键警报吗?”*
  • *“显示完整的网络拓扑。”*
  • *“为站点ID 12345生成站点配置YAML。”*
  • *“列出总部站点的所有广域网接口。”*

建筑

┌──────────────────┐         ┌──────────────────────┐         ┌─────────────────────┐
│   AI Agent       │  MCP    │  Prisma SD-WAN MCP   │  REST   │  Prisma SASE API    │
│  (Claude, etc.)  │◄──────►│  Server               │◄──────►│  api.sase.palo...   │
│                  │  stdio/ │  prisma_sdwan_mcp_    │  HTTPS  │                     │
│                  │  SSE    │  server.py            │         │                     │
└──────────────────┘         └──────────────────────┘         └─────────────────────┘

服务器充当翻译层:

  1. AI代理调用MCP工具(例如。, get_sites)
  2. 服务器将该调用映射到相应的Prisma SASE REST API端点
  3. 它自动处理身份验证、分页和错误恢复
  4. 响应被解析、简化,并作为干净的JSON返回

关键实施细节:

  • 单文件架构 …所有的逻辑都存在 prisma_sdwan_mcp_server.py
  • OAuth2身份验证 通过 prisma_sase 带有自动令牌刷新功能的SDK
  • 自动重新认证 401/403响应或令牌到期
  • 配置验证 使用JSON模式(schema.json)用于生成的YAML文件

故障排除

问题可能原因修复
Connection refused 或超时Prisma SASE API没有互联网连接验证您是否可以访问 api.sase.paloaltonetworks.com 来自你的主人
Authentication failed凭据不正确仔细检查 PAN_CLIENT_ID, PAN_CLIENT_SECRET,以及 PAN_TSG_ID
403 Forbidden权限不足确保服务帐户角色包括SD-WAN读取权限
Token expired 错误不应该发生(自动刷新)如果持续存在,请重新启动服务器。令牌每15分钟自动刷新一次
ModuleNotFoundError: prisma_sase缺少依赖项运行 pip install prisma-sase
空响应租户没有数据验证您的TSG ID是否与具有活动SD-WAN站点的租户匹配
Region mismatch错误的API区域设置 PAN_REGION=europe 如果您的租户在欧盟地区

调试日志记录

服务器日志会写入stderr。要捕获它们:

python prisma_sdwan_mcp_server.py --transport stdio 2>debug.log

贡献

欢迎投稿!以下是如何开始:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/my-new-tool)
  3. 遵循现有的代码惯例(单文件架构, @mcp.tool() 图案)
  4. 针对真实或模拟Prisma SASE租户进行测试
  5. 提交一份拉取请求,明确说明您的更改

添加新工具时:

  • 把它们放进去 prisma_sdwan_mcp_server.py 遵循 @mcp.tool() 装饰器模式
  • 返回 json.dumps(data, indent=2) 从每一个工具
  • 保持对基本字段的响应精简,以提高LLM上下文效率

许可证

该项目根据 MIT许可证.

目录标签

目录标签

安全访问PythonClaudeSD-WAN管理本地部署网络自动化AI集成API桥接

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

16

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP