get_switchesLABSCO SUMMARY
The controller's state, readable in a sentence.
Reading flow tables and datapath status normally means a terminal and a memory for POX's module names. Having the memo resource alongside the tools is the part worth noticing: what you work out about a topology stays attached to it instead of scrolling away.
What it is
An MCP server that drives the POX SDN controller — listing OpenFlow datapaths, reading flow statistics and writing flow tables — aimed at teaching, prototyping and SDN research.
What you get
- Every connected OpenFlow datapath listed, with connection status and capabilities
- Detailed switch information for a given datapath identifier
- Flow statistics with packet counts, filterable by match structure, table id and output port
- Flow tables configured on a switch
- Findings appended to a network configuration memo that persists between sessions
- Live state exposed as resources: pox://topology for datapaths, hosts and links, pox://network-config for components and rules
- Prompts for POX network management, a simple L2 hub and a learning switch, each taking a datapath identifier
Requirements
A running POX controller the server can reach. No account or key — this talks to your controller, not to a service.
Setup effort
Build from source — get the source, then follow the project's own run instructions
USE CASES
Finding out what is actually connected
List the datapaths and pull details for the one you care about.
Working out where packets are going
Read flow statistics with packet counts, narrowed by match, table or output port.
Pushing a forwarding rule
Configure the flow table on a specific datapath rather than restarting a component.
Keeping what you learned for next time
Append the finding to the network configuration memo so it survives the session.
Teaching how a learning switch works
Use the built-in hub and learning-switch prompts against a real datapath instead of a slide.
5 tools
Listed in project docs. Your client may show a different list.
get_switch_descget_flow_statsset_tableappend_insightBEFORE YOU INSTALL
What to know first
Tools you get
5 tools named in the project's documentation.
Requires
uv on PATH
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
uv --directory parent_of_servers_repo/servers/src/mcp_server_pox run server.pyMCP Clients
Claude Desktop
{
"mcpServers": {
"pox": {
"command": "uv",
"args": [
"--directory",
"parent_of_servers_repo/servers/src/mcp_server_pox",
"run",
"server.py"
],
"env": {
"POX_SERVER_URL": "http://localhost:8000"
}
}
}
}