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

BIG-IP MCP Server

MCP Server

用于管理F5 BIG-IP设备的Model Context Protocol (MCP)服务器,提供认证、虚拟服务器配置查询和AS3扩展管理等功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude云端部署Claude DesktopClaude

安装说明

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

作者 / 组织

arunhotra

提供方

arunhotra

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

python -m venv venv

详细介绍

BIG-IP MCP 服务器

一个用于管理F5 BIG-IP设备的模型上下文协议(MCP)服务器。该服务器基于FastMCP 2.0构建,提供了工具用于BIG-IP负载均衡器的身份验证以及虚拟服务器配置的查询。

特性/功能

  • 基于配置的凭证 - 在JSON配置文件中安全地存储BIG-IP凭据
  • 多设备支持 - 从单台服务器管理多个BIG-IP设备
  • 令牌缓存 - 自动缓存身份验证令牌并在其过期前重复使用
  • 虚拟服务器管理 - 列出所有虚拟服务器及其状态和配置
  • AS3 管理 - 检查、安装和升级F5应用服务3扩展
  • SSL 灵活性 - 支持自签名证书(实验室环境中常见)
  • Async/Await - 非阻塞I/O以实现响应迅速的性能

快速入门

  1. 安装依赖项 (见下文安装部分)
  2. 创建配置文件:
   cp bigip_config.example.json bigip_config.json
  1. 编辑 bigip_config.json 附上您的BIG-IP设备详细信息
  2. 重启Claude桌面版 加载服务器
  3. 使用工具: 请 Claude“列出 BIG-IP 设备”或“列出 \[设备名称\] 上的虚拟服务器”

安装

第一步:创建虚拟环境

使用 venv(推荐用于标准 Python)

# Create virtual environment
python -m venv venv

# Activate on macOS/Linux
source venv/bin/activate

# Activate on Windows
venv\Scripts\activate

使用uv(推荐用于现代Python项目)

# Create virtual environment with uv
uv venv

# Activate on macOS/Linux
source .venv/bin/activate

# Activate on Windows
.venv\Scripts\activate

步骤2:安装依赖项

虚拟环境已激活:

使用紫外线

uv pip install -r requirements.txt

使用 pip

pip install -r requirements.txt

第三步:验证

确认已安装FastMCP:

fastmcp version

注: 在运行服务器或安装包之前,请务必激活您的虚拟环境。

运行服务器

重要提示: 在运行服务器之前,请确保已激活您的虚拟环境。

方法1:直接执行(stdio传输)

# Ensure venv is activated first
source venv/bin/activate  # or source .venv/bin/activate for uv

python server.py

方法2:FastMCP 命令行界面 (CLI)

使用stdio传输方式运行(MCP的默认设置):

# Ensure venv is activated first
source venv/bin/activate

fastmcp run server.py:mcp

使用HTTP传输运行:

fastmcp run server.py:mcp --transport http --port 8000

配置

创建您的配置文件

  1. 复制示例配置:
   cp bigip_config.example.json bigip_config.json
  1. 编辑 bigip_config.json 使用您的BIG-IP设备:
   {
     "devices": {
       "prod-lb-01": {
         "ip_address": "10.1.1.10",
         "username": "admin",
         "password": "your-password",
         "verify_ssl": false,
         "description": "Production load balancer"
       },
       "lab-bigip": {
         "ip_address": "192.168.1.100",
         "username": "admin",
         "password": "admin",
         "verify_ssl": false,
         "description": "Lab environment"
       }
     }
   }
  1. 安全提示: bigip_config.json 自动被排除在 git 之外(.gitignore)

CONFIGURATION.md 翻译为中文是:“配置文件.md” 以获取详细的配置指南。

可用工具

list_bigip_devices

从配置文件中列出所有已配置的BIG-IP设备。

用法:

Show me the configured BIG-IP devices

返回值: 设备名称、IP地址及描述列表

list_virtual_servers

列出特定BIG-IP设备上的所有虚拟服务器。

参数:

  • device_name - 配置文件中的设备名称(例如,'prod-lb-01')

用法:

List virtual servers on prod-lb-01

返回值: 带有状态、目的地和配置详情的虚拟服务器格式化列表

特点:

  • 从配置文件中读取凭据(聊天中不包含密码!)
  • 自动验证并缓存令牌
  • 令牌在重新认证前被重复使用了19分钟

manage_as3

在BIG-IP设备上检查、安装或升级F5 AS3(Application Services 3扩展)。

参数:

  • device_name - 来自配置文件的设备名称(例如,'prod-lb-01')
  • action - 要执行的操作:检查(默认)、安装或升级
  • auto_install - 设置为 True 以继续安装/升级(默认:False)

用法:

Check AS3 status on prod-lb-01
Install AS3 on lab-bigip
Upgrade AS3 on prod-lb-01

返回值: AS3版本信息及安装/升级结果

特点:

  • 自动从GitHub获取最新版本的AS3
  • 下载和上传RPM到BIG-IP
  • 安装选票任务直至完成
  • 安装完成后进行验证
  • 支持版本比较和升级建议
  • 两步确认,与(某事物/某人)一起 auto_install 该参数可防止意外安装

要求:

  • AS3安装需要管理员账户(而不仅仅是管理员角色)
  • 通过网络访问GitHub以下载RPM软件包
  • 建议使用BIG-IP 14.1或更高版本以配合AS3 3.50或更高版本

资源

  • config://server - 服务器配置和功能

提示

  • help_prompt() - 服务器功能与使用概述

与Claude桌面版的使用

将此服务器添加到您的Claude桌面配置中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

推荐:使用包装脚本(避免权限问题)

{
  "mcpServers": {
    "bigip": {
      "command": "/Users/a.ganti/Documents/code/mcp-servers/big-ip/run_server.sh"
    }
  }
}

封装脚本会自动处理虚拟环境的激活,并绕过 macOS 的权限限制。

备选方案(如果您遇到权限问题):

Option 1: Direct Python from virtual environment

{
  "mcpServers": {
    "bigip": {
      "command": "/Users/a.ganti/Documents/code/mcp-servers/big-ip/venv/bin/python",
      "args": ["/Users/a.ganti/Documents/code/mcp-servers/big-ip/server.py"]
    }
  }
}

Option 2: FastMCP CLI from virtual environment

{
  "mcpServers": {
    "bigip": {
      "command": "/Users/a.ganti/Documents/code/mcp-servers/big-ip/venv/bin/fastmcp",
      "args": ["run", "/Users/a.ganti/Documents/code/mcp-servers/big-ip/server.py:mcp"]
    }
  }
}

注: 将上述路径更新为与您的实际安装目录相匹配。如果使用 uv,改变 venv 到;朝;向 .venv 在小路上。

更新配置后,重启Claude Desktop以加载服务器。

使用BIG-IP工具

示例交互

列出可用设备:

Show me the configured BIG-IP devices

列出虚拟服务器:

List virtual servers on prod-lb-01

或者更自然地说:

Can you show me the virtual servers on the lab-bigip device?

检查多个设备:

List virtual servers on prod-lb-01 and then on prod-lb-02

检查AS3状态:

Check AS3 status on prod-lb-01

安装AS3:

Install AS3 on lab-bigip

升级到AS3:

Upgrade AS3 on prod-lb-01 if a newer version is available

工作流程

  1. 第一次: 创建并配置 bigip_config.json 用你的设备
  2. 检查设备: 请Claude列出所有可用的BIG-IP设备
  3. 查询虚拟服务器: 在你的配置中指定设备名称
  4. 凭证: 自动从配置文件中读取(聊天中不包含密码!)
  5. 后续请求: 为提高效率而缓存的认证令牌

BIG-IP 要求

网络访问

  • 运行此MCP服务器的机器必须能够通过网络访问BIG-IP管理界面(通常为端口443/HTTPS)
  • 确保防火墙规则允许向您的BIG-IP设备发起出站HTTPS连接

BIG-IP 配置

  • BIG-IP必须启用iControl REST API(默认已启用)
  • 用户帐户必须具有适当的权限以:

- 通过iControl REST进行身份验证 - 读取虚拟服务器配置(通常至少需要“访客”角色)

支持的版本

  • BIG-IP 版本 12.0 或更高版本(用于基于令牌的身份验证)
  • 已在BIG-IP 13.x、14.x、15.x、16.x、17.x版本上测试通过

SSL证书

  • 对于已安装有效SSL证书的生产用BIG-IP设备,请设置 verify_ssl: true
  • 对于使用自签名证书的实验室/开发环境,请使用 verify_ssl: false (默认)

安全考量

凭证处理

  • 永远不要硬编码 - 通过MCP的引出功能交互式地请求凭证
  • 会话作用域的缓存 - 凭据仅缓存于当前MCP会话中
  • 基于令牌的认证 - 密码仅在初始认证时发送;后续请求使用令牌
  • 自动过期 - 代币在19分钟后过期,并会自动刷新

最佳实践

  1. 尽可能使用具有只读权限的专用服务帐户
  2. 启用SSL验证verify_ssl: true)用于生产环境
  3. 使用 clear_bigip_credentials 在BIG-IP设备之间切换时使用的工具
  4. 确保Claude Desktop具有适当的文件权限(参见故障排除部分)

故障排除

虚拟环境中的权限错误

如果你看到像这样的错误 PermissionError: [Errno 1] Operation not permitted: '/path/to/venv/pyvenv.cfg'

  1. 使用包装脚本 (推荐):
   {
     "mcpServers": {
       "bigip": {
         "command": "/Users/a.ganti/Documents/code/mcp-servers/big-ip/run_server.sh"
       }
     }
   }
  1. 授予Claude桌面全磁盘访问权限

- 打开系统设置 → 隐私与安全性 → 全盘访问 - 添加Claude并启用访问权限 - 重启Claude桌面版

  1. 或者重新创建虚拟环境
   rm -rf venv
   python3 -m venv venv
   source venv/bin/activate
   pip install -r requirements.txt

BIG-IP 连接问题

“无法连接到BIG-IP”

  • 验证网络连接: ping
  • 验证HTTPS访问: curl -k https:///mgmt/shared/authn/login
  • 检查防火墙规则是否允许出站HTTPS(端口443)

“身份验证失败:401”

  • 验证用户名和密码是否正确
  • 检查BIG-IP中的用户帐户是否已启用
  • 验证用户是否具有API访问权限

“SSL验证失败”

  • 对于自签名证书,请设置 verify_ssl: false 当被提示时
  • 对于生产环境,请确保BIG-IP拥有有效的SSL证书

“无法检索虚拟服务器:403”

  • 用户帐户缺少读取LTM配置的权限
  • 需要至少“访客”角色或自定义角色,并且该角色需具有 ltm 读取权限

服务器无法连接

检查Claude桌面版的日志以查找错误。包装脚本提供了更好的错误处理和环境隔离。

发展

添加更多工具

为了增加额外的BIG-IP管理功能:

  1. 使用(某种方式或工具)创建一个新的异步函数 @mcp.tool 装饰器
  2. 使用 ctx: Context 用于日志记录和引出(或诱发)的参数
  3. 从上下文状态中重用缓存的凭据
  4. 遵循……中的模式 list_virtual_servers 用于身份验证

示例:

@mcp.tool
async def list_pools(ctx: Context) -> str:
    """List all load balancing pools"""
    # Get cached credentials
    credentials = ctx.get_state("bigip_credentials")
    token = ctx.get_state("bigip_token")

    # Your implementation here
    ...

扩展功能

可添加的其他F5 BIG-IP操作包括:

  • 列出池成员及其状态
  • 查询池统计信息
  • 列出 iRules
  • 获取SSL证书信息
  • 查询虚拟服务器统计信息
  • 列出节点及其可用性

文档

  • FastMCPhttps://gofastmcp.com 翻译为中文可以是:“https://快速MCP(或根据具体上下文翻译为相关术语)网站”。不过,由于“gofastmcp.com”是一个具体的网址,且没有上下文来确定其确切含义,所以这里的翻译是基于假设的。在实际应用中,应该根据该网站的具体内容或官方名称来进行翻译。如果“gofastmcp”是某个特定服务或项目的名称,那么应该直接翻译为该服务或项目的中文名称
  • MCP协议https://modelcontextprotocol.io(该网址可直接翻译为“模型上下文协议.io”,但通常网址保持原样不翻译,此处仅为说明其含义)
  • F5 BIG-IP iControl REST APIhttps://clouddocs.f5.com/api/icontrol-rest/(该网址可译为:F5云文档中心的iControl REST API页面,但实际网址翻译通常不改变网址本身,此处仅为说明其内容)
  • F5 LTM 虚拟服务器 APIhttps://clouddocs.f5.com/api/icontrol-rest/APIRef_tm_ltm_virtual.html 的中文翻译为:“F5 云文档:iControl REST API 参考 - TM(Traffic Management,流量管理)/ LTM(Local Traffic Manager,本地流量管理)/ Virtual(虚拟服务器)”

许可证

此项目按现状提供,用于通过MCP协议管理F5 BIG-IP设备。

目录标签

目录标签

PythonClaude云端部署负载均衡管理本地部署虚拟服务器配置AS3扩展管理设备认证多设备支持

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

token

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiotokenremote-capable

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

安装前确认

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

来源信息

继续浏览同类 MCP