使用说明
项目简介
F5 iControl MCP服务器是一个基于 Model Context Protocol (MCP) 协议构建的服务器,旨在通过标准化的方式,为LLM客户端提供与F5网络设备交互的能力。它利用 F5 iControl REST API,将各种F5设备管理操作封装成易于LLM调用的工具,例如列出、创建、更新和删除虚拟服务器、负载均衡池、iRules和配置文件等。
主要功能点
- 工具化API: 提供了一系列预定义的工具,如 'list_tool', 'create_tool', 'update_tool', 'delete_tool',每个工具对应 F5 设备上的特定操作,方便LLM客户端调用。
- F5 设备管理: 支持对 F5 设备的虚拟服务器 (VIPs)、负载均衡池 (Pools)、iRules 和配置文件 (Profiles) 等核心网络对象进行管理。
- REST API 集成: 通过 Python 的 'requests' 库与 F5 设备的 iControl REST API 进行通信,实现对 F5 设备的远程控制。
- 环境配置: 使用 '.env' 文件管理敏感信息,如 F5 设备的 IP 地址和 API 认证信息,保证配置的安全性。
- 可扩展性: 采用模块化设计,易于添加新的工具或功能,方便用户根据自身需求扩展服务器的功能。
- 标准传输协议: 使用 'stdio' 标准输入输出作为传输协议,易于与各种支持 MCP 协议的客户端集成。
安装步骤
-
环境准备: 确保已安装 Python 3.6 或更高版本。建议使用虚拟环境 (venv) 管理项目依赖。
python3 -m venv venv source venv/bin/activate # 或 venv\Scripts\activate for Windows -
克隆仓库: 将 GitHub 仓库 'F5.MCP.server' 克隆到本地。
git clone https://github.com/czirakim/F5.MCP.server.git cd F5.MCP.server -
安装依赖: 安装项目所需的 Python 依赖包。
pip install python-dotenv requests mcp-server -
配置环境变量:
- 在项目根目录下创建 '.env' 文件。
- 根据你的 F5 设备信息,编辑 '.env' 文件,填入以下环境变量:
注意: 请替换 '<你的F5设备IP地址或域名>' 和 '<你的F5设备API认证字符串,例如用户名密码的Base64编码>' 为你实际的 F5 设备信息。'Authorization_string' 通常是 "username:password" 经过 Base64 编码后的字符串。IP_ADDRESS=<你的F5设备IP地址或域名> Authorization_string=<你的F5设备API认证字符串,例如用户名密码的Base64编码>
服务器配置
MCP 客户端需要配置以下 JSON 格式信息以连接到 F5 iControl MCP 服务器:
{ "serverName": "my_f5_mcp_server", // MCP 服务器名称,与 F5MCPserver.py 中定义的名称一致 "command": "python3", // 启动服务器的命令,这里假设使用 python3 解释器 "args": [ // 启动服务器命令的参数 "F5MCPserver.py" // 服务器主程序文件名 ] }
配置说明:
- 'serverName': 服务器的名称,必须与 'F5MCPserver.py' 文件中 'FastMCP("my_f5_mcp_server")' 初始化时指定的名称 '"my_f5_mcp_server"' 完全一致。
- 'command': 启动服务器的命令。通常为 'python3' 或 'python',取决于你的 Python 环境配置。请确保 MCP 客户端能够找到 Python 解释器。
- 'args': 启动服务器命令的参数列表。这里指定了运行 'F5MCPserver.py' 文件作为服务器主程序。
基本使用方法
-
启动服务器: 在项目根目录下,运行以下命令启动 F5 iControl MCP 服务器。
python3 F5MCPserver.py服务器将通过 'stdio' 监听 MCP 客户端的请求。
-
配置 MCP 客户端: 在你的 MCP 客户端应用中,配置上述 服务器配置 中提供的 JSON 信息,建立与 F5 iControl MCP 服务器的连接。
-
调用工具: 通过 MCP 客户端,你可以调用服务器提供的工具,例如 'list_tool', 'create_tool', 'update_tool', 'delete_tool',并传递相应的参数 (例如 'url_body' 和 'object_type'),以管理 F5 设备。具体的工具参数和使用方法请参考 'F5MCPserver.py' 文件中各工具函数的注释说明。
示例: 假设使用 MCP 客户端调用 'list_tool' 列出 F5 设备上的负载均衡池 (pool),你需要构造符合 MCP 协议的请求,指定工具名称为 'list_tool',并提供必要的参数,例如 'object_type: "pool"'。服务器会将请求转发给 'list_tool' 函数处理,并返回 F5 设备 iControl REST API 的响应结果。
信息
分类
开发者工具