A Model Context Protocol (MCP) server for the POX SDN controller
Configuration
View docs{
"mcpServers": {
"davidlin2k-pox-mcp-server": {
"command": "uv",
"args": [
"--directory",
"parent_of_servers_repo/servers/src/mcp_server_pox",
"run",
"server.py"
],
"env": {
"POX_SERVER_URL": "http://localhost:8000"
}
}
}
}You can manage POX OpenFlow controllers and perform network programming with this MCP server. It exposes real-time topology, controller configuration, and a set of tools to inspect and modify datapaths, flows, and network insights, making it practical for education, prototyping, and SDN research.
You will interact with the MCP server from your MCP client to view topology, manage datapaths, and analyze network data. Use the provided prompts to configure POX components, start learning switches, or run a basic L2 hub. Access the real-time topology and network-config memo to inform decisions, and use the tools to retrieve switch lists, datapath details, flow statistics, and to update the network insights memo.
Prerequisites: ensure you have Python 3.x installed on your system.
Install the MCP client tooling and prepare to run the POX MCP server. Obtain the MCP server package directory for the POX implementation and navigate to the server directory where you will run the server script.
Start the MCP server using the command interface described below. You will run a client command that launches the server module and connects to the MCP runtime.
This MCP server exposes dynamic resources for POX controller configuration and a real-time topology view. You can interact with three specialized prompts to manage the POX controller, implement simple network topologies, and demonstrate packet handling.
Use the provided tooling to list switches, retrieve switch details, fetch flow statistics, configure flows, and append network insights to the configuration memo. Always verify that the correct datapath identifier (dpid) is used when querying or modifying a specific switch.
List all connected OpenFlow datapaths. Returns an array of active POX-controlled switches with connection status and capabilities.
Get detailed datapath information for a given dpid. Returns POX-managed switch details and features.
Retrieve POX flow statistics for a given datapath, optional match, table_id, and out_port filters. Returns counts and statistics.
Configure POX flow tables for a given datapath with provided flow specifications. Returns a confirmation of updates.
Add a network insight to the POX network-config resource. Returns a confirmation of the added insight and updates the memo.