About F5 MCP Server
F5 MCP Server manages objects on F5 devices through the iControl REST API. It is intended for MCP-based device management and provides create, update, list, and delete operations over stdio transport.
Key features
- 01Connects to F5 through the iControl REST API
- 02Creates, updates, lists, and deletes objects
- 03Manages virtual servers, pools, iRules, and profiles
- 04Configures sensitive details through environment variables
- 05Supports stdio transport
Use cases
- 01Listing virtual servers on an F5 device
- 02Updating pool or iRules configurations
- 03Creating or deleting F5 objects through MCP
MCP support
It exposes tools for creating, reading, updating, and deleting F5 objects to MCP clients over stdio.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEF5 MCP Server
This project is a MCP( Model Context Protocol ) server designed to interact with F5 devices using the iControl REST API. It provides a set of tools to manage F5 objects such as virtual servers (VIPs), pools, iRules, and profiles. The server is implemented using the FastMCP framework and exposes functionalities for creating, updating, listing, and deleting F5 objects.
Features
- Tool-Based API: The project defines tools (
list_tool,create_tool,update_tool,delete_tool) that encapsulate operations on F5 devices. - REST API Integration: Uses Python's
requestslibrary to communicate with F5 devices via the iControl REST API. - Environment Configuration: Sensitive information like IP addresses and authorization strings are managed through environment variables loaded from a
.envfile. - Extensibility: Modular design allows additional tools or functionalities to be added easily.
- Transport Support: The server runs using the
stdiotransport, making it compatible with various client integrations. - Dockerfile: If you want to run this as a Docker container
Key Files
F5MCPserver.py: The main server file that initializes the MCP server and defines the tools.Tools/F5object.py: A utility class for performing CRUD operations on F5 objects.
The repo also contains an example of the Claude desktop app config file.
Only F5object.py is used from the Tools folder. The others were used in development.
It was tested with the Claude Desktop app. The MCP server was hosted in Windows WSL.
Installing via Smithery
To install F5 Device Management Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @czirakim/F5.MCP.server --client claude
Credits
This was written by Mihai Cziraki
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.
