本项目搭建了一个 Model Control Protocol (MCP) 服务器,借助 XML API 实现与 Palo Alto Networks 防火墙的交互。借助该服务器,您能够运用 Claude 或其他兼容工具,通过自然语言对 PAN-OS 设备进行管理与配置。
本项目提供的 MCP 服务器可帮助您通过自然语言管理 PAN-OS 设备。以下是使用前的准备步骤。
git clone https://github.com/edoscars/pan-os-mcp.git
pip install -r requirements.txt
{
"mcpServers": {
"pan-os":{
"command": "uv",
"args":[
"--directory",
"C:\\Users\\USER\\pan-os",
"run",
"pan-os.py"
]
}
}
}
pan-os.py
文件以配置您的 PAN-OS 设备:# -----------------------------------------------------------------------------
# Pan-OS / Panorama 配置(根据您的环境进行调整)
# -----------------------------------------------------------------------------
PA_HOST = "your-firewall-ip"
PA_API_KEY = "your-api-key"
该服务器提供了多个与 PAN-OS 交互的工具,以下是部分命令的使用示例:
# 获取基本系统信息
get_system_info()
# 使用 XML 执行操作命令
op_command()
# 提交候选配置
commit_config()
# 从 Panorama 推送策略到管理设备
commit_all_shared_policy()
# 使用 XPath 执行配置操作
config_action()
get_system_info
:获取基本系统信息。op_command
:使用 XML 执行操作命令。commit_config
:提交候选配置。commit_all_shared_policy
:从 Panorama 推送策略到管理设备。config_action
:使用 XPath 执行配置操作。本项目基于 Python 3.13+ 构建,通过 XML API 与 Palo Alto Networks 防火墙进行交互。它利用 API 密钥身份验证来确保与 PAN-OS/Panorama 设备的安全连接。在代码实现中,通过定义不同的函数来实现各种操作,如获取系统信息、执行操作命令、提交配置等。同时,通过编辑 pan-os.py
文件来配置 PAN-OS 设备的相关信息,如主机 IP 和 API 密钥。
⚠️ 重要提示
- 此项目旨在用于演示和受控环境中的使用。
- 代码中的 API 密钥应保持安全,不应提交到公共仓库。
- 在生产环境中使用时,请确保适当的认证控制,并考虑添加 TLS 验证。
MIT License