davidlin2k_pox_mcp_server

davidlin2k_pox_mcp_server

by davidlin2k
A Model Context Protocol (MCP) server implementation for network control and management through the POX SDN controller.

POX MCP Server: Enhancing SDN Control with Model Context Protocol

Overview

The POX MCP Server is a specialized implementation of the Model Context Protocol (MCP) designed to work seamlessly with the POX SDN controller. This server empowers users with Python-based network programming, OpenFlow device management, and automated network analysis. Ideal for educational environments, network prototyping, and SDN research, it leverages POX's modular architecture to provide robust network control and management capabilities.

Components

Resources

The server exposes two dynamic resources for network management:

  • pox://network-config: A comprehensive configuration memo for the POX controller, tracking active components, network topology, flow rules, and discovered insights.
  • pox://topology: A real-time view of the network topology, showing active OpenFlow datapaths, host locations, connections, and link status.

Prompts

Three specialized prompts are available for interactive network management:

  • pox-network-manager: Manages POX controller configurations and network policies.
  • simple-hub: Demonstrates basic L2 hub implementation using POX.
  • learning-switch: Implements L2 learning switch functionality, showcasing POX's table management and packet handling.

Tools

The server offers five core tools for network management and analysis:

Datapath Management Tools

  • get_switches: Lists all connected OpenFlow datapaths.
  • get_switch_desc: Retrieves detailed information about a specific datapath.

Flow Management Tools

  • get_flow_stats: Retrieves flow statistics for a specified datapath.
  • set_table: Configures flow tables on a datapath.

Analysis Tools

  • append_insight: Adds network insights to the POX configuration memo.

Usage with Claude Desktop

The POX MCP Server can be integrated with Claude Desktop using the uv tool. Below is a sample configuration:

{
  "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"
      }
    }
  }
}

License

This project is licensed under the MIT License, allowing users to freely use, modify, and distribute the software. For more details, refer to the LICENSE file in the repository.

Contributing

Contributions are welcome! Feel free to submit pull requests, report bugs, or suggest new features to enhance the POX MCP Server.

About

The POX MCP Server is a powerful tool for SDN control and management, designed to work with the POX SDN controller. It provides a robust framework for network programming and analysis, making it an essential resource for SDN research and education.

Features & Capabilities

Categories
mcp_server model_context_protocol python sdn pox openflow network_management api_integration

Implementation Details

Stats

0 Views
0 Favorites
1 GitHub Stars

Repository Info

davidlin2k Organization

Similar Servers

continuedev_continue by continuedev
0
0
0