POX MCP Server
Um servidor MCP para o controlador POX SDN, permitindo controle, gerenciamento e análise de rede usando Python e OpenFlow.
Documentação
POX MCP Server
Visão Geral
Uma implementação de servidor Model Context Protocol (MCP) que fornece capacidades de controle e gerenciamento de rede através do controlador SDN POX. Este servidor permite programação de rede baseada em Python, gerenciamento de dispositivos OpenFlow e análise de rede automatizada através da arquitetura modular do POX. Perfeito para ambientes educacionais, prototipagem de rede e pesquisa em SDN.
Componentes
Recursos
O servidor expõe dois recursos dinâmicos:
pox://network-config: Um memorando abrangente de configuração do controlador POX- Rastreia componentes POX ativos e suas configurações
- Registra topologia de rede e regras de fluxo
- Mantém insights de rede descobertos
pox://topology: Visualização de topologia de rede em tempo real- Mostra datapaths OpenFlow ativos (switches)
- Mapeia localizações e conexões de hosts
- Exibe status de links e mapeamentos de portas
Prompts
O servidor fornece três prompts especializados:
-
pox-network-manager: Prompt interativo para gerenciamento do controlador POX- Argumento obrigatório:
topic- O aspecto de controle de rede no qual focar - Ajuda a configurar componentes e módulos POX
- Orienta na implementação de políticas de rede
- Integra-se com o memorando de configuração de rede
- Argumento obrigatório:
-
simple-hub: Implementação básica de hub L2 usando POX- Argumento obrigatório:
dpid- O identificador do datapath - Demonstra a programação orientada a eventos do POX
- Mostra tratamento básico de pacotes e flooding
- Explica os mecanismos centrais do POX
- Argumento obrigatório:
-
learning-switch: Implementação de switch de aprendizado L2- Argumento obrigatório:
dpid- O identificador do datapath - Apresenta o gerenciamento de tabelas do POX
- Implementa aprendizado e encaminhamento MAC
- Demonstra as capacidades de tratamento de pacotes do POX
- Argumento obrigatório:
Ferramentas
O servidor oferece cinco ferramentas principais:
Ferramentas de Gerenciamento de Datapath
-
get_switches- Lista todos os datapaths OpenFlow conectados
- Nenhuma entrada necessária
- Retorna: Array de switches ativos controlados pelo POX
- Inclui status de conexão e capacidades
-
get_switch_desc- Obtém informações detalhadas do datapath
- Entrada:
dpid(string): Identificador do datapath
- Retorna: Detalhes e recursos do switch gerenciado pelo POX
Ferramentas de Gerenciamento de Fluxo
-
get_flow_stats- Recupera estatísticas de fluxo do POX
- Entrada:
dpid(string): Identificador do datapathmatch(object, opcional): Estrutura de correspondência POXtable_id(string, opcional): ID da tabela OpenFlowout_port(string, opcional): Filtro de porta de saída
- Retorna: Estatísticas de fluxo POX incluindo contagens de pacotes
-
set_table- Configura tabelas de fluxo POX
- Entrada:
dpid(string): Identificador do datapathflows(array): Especificações de fluxo POX
- Retorna: Confirmação de atualização da tabela de fluxo
Ferramentas de Análise
append_insight- Adiciona insights de rede ao memorando de configuração POX
- Entrada:
insight(string): Observação ou análise de rede
- Retorna: Confirmação de adição de insight
- Atualiza o recurso pox://network-config
Uso com Claude Desktop
uv
{
"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"
}
}
}
}
Licença
Este servidor MCP é licenciado sob a Licença MIT. Isso significa que você é livre para usar, modificar e distribuir o software, sujeito aos termos e condições da Licença MIT. Para mais detalhes, consulte o arquivo LICENSE no repositório do projeto.
Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para enviar pull requests, relatar bugs ou sugerir novos recursos.