Palo Alto Networks MCP Server Suite

Palo Alto Networks MCP Server Suite

site icon
2025.03.31 0
JavaScript防火墙管理安全策略管理网络对象管理系统配置管理设备监控其它
Palo Alto Networks MCP Server Suite 是一个用于管理 Palo Alto Networks 防火墙和服务的综合套件,通过统一的 API 接口提供模块化的防火墙管理解决方案。该套件包含多个专用服务器,分别处理不同的管理功能,如核心操作、策略管理、系统配置、网络对象管理和设备操作等。
View on GitHub

Overview

基本能力

产品定位

Palo Alto Networks MCP Server Suite 是一个用于管理 Palo Alto Networks 防火墙和服务的综合套件,通过统一的 API 接口提供模块化的防火墙管理解决方案。

核心功能

  • Core Server: 提供基础防火墙操作和共享功能,包括认证、会话管理、API 速率限制和重试逻辑等。
  • Policy Server: 提供安全策略和规则管理功能,包括创建、更新和获取安全规则等。
  • Config Server: 提供系统配置和设置管理功能,如网络配置和接口设置等。
  • Objects Server: 提供网络对象和地址管理功能,包括创建和管理地址对象、地址组等。
  • Device Server: 提供设备操作和监控功能,如设备状态获取、配置提交和备份等。

适用场景

  • 安全策略部署和管理
  • 网络对象和地址管理
  • 系统配置和设置管理
  • 设备操作和监控
  • 高可用性配置

工具列表

  1. Core Server: 提供基础功能如认证、会话管理等。
  2. Policy Server: 提供安全策略和规则管理工具。
  3. Config Server: 提供系统配置和设置管理工具。
  4. Objects Server: 提供网络对象和地址管理工具。
  5. Device Server: 提供设备操作和监控工具。

常见问题解答

  1. API 连接问题: 测试 API 连接性,检查防火墙可访问性,验证 API 密钥权限和 SSL 证书。
  2. 规则冲突: 分析规则冲突,检查规则是否存在阴影、冗余或冲突。
  3. 提交失败: 处理配置锁定或验证错误。

使用教程

使用依赖

  1. 安装 Node.js 和 npm。
  2. 确保有 Palo Alto Networks 防火墙的 API 访问权限。

安装教程

通过 Smithery 安装

npx -y @smithery/cli install @DynamicEndpoints/paloalto-mcp-server --client claude

手动安装

  1. 克隆仓库:
git clone https://github.com/your-org/paloalto-mcp-servers.git
cd paloalto-mcp-servers
  1. 为每个服务器安装依赖:
# 安装核心服务器
cd paloalto-server
npm install

# 安装策略服务器
cd ../paloalto-policy-server
npm install

# 安装配置服务器
cd ../paloalto-config-server
npm install

# 安装对象服务器
cd ../paloalto-objects-server
npm install

# 安装设备服务器
cd ../paloalto-device-server
npm install
  1. 配置环境变量:
# 在每个服务器目录中创建 .env 文件
PANOS_API_KEY=your-api-key
PANOS_API_BASE_URL=https://your-firewall.example.com/api

# 可选配置
PANOS_VERIFY_SSL=true
PANOS_TIMEOUT=30000
PANOS_DEBUG=false

调试方式

  1. 测试 API 连接性:
const status = await useMcpTool("paloalto-server", "test_connection", {
  timeout: 5000,
  verify_ssl: true
});

if (!status.success) {
  console.error(`Connection failed: ${status.error}`);
}
  1. 分析规则冲突:
const analysis = await useMcpTool("paloalto-policy", "analyze_rules", {
  rule_type: "security",
  checks: ["shadowing", "redundancy", "conflicts"]
});

if (analysis.issues.length > 0) {
  console.log("Found rule issues:", analysis.issues);
}

许可证

该项目遵循 MIT 开源许可条款。