Alongside the read paths this can install and uninstall applications and create flow rules, so the credentials you give it are the ones that change the network. The bundled prompts for diagnostics and QoS are the fastest way in — they frame the question the way ONOS answers it, which matters more here than tool count.
An MCP server in front of the ONOS controller's REST API. It exposes the network's own state — devices, links, hosts, topology, flow rules and intents — plus analytics and management operations, so an assistant can investigate or reconfigure the network without a console session.
- Network summary — devices, links, hosts and clusters in one overview, with per-device detail
- Network analytics over performance metrics, traffic patterns and utilization statistics
- System health: memory usage, cluster status and component health
- Application management — install, activate, deactivate and uninstall ONOS applications
- Flow configuration: create and manage flow rules and intents
- Path computation between two network endpoints
- Prompts that come with the server for network diagnostics, intent-based configuration, health reports, QoS configuration and performance tuning
A running ONOS controller you can reach, plus Python 3.7+ and uv. Three environment variables point the server at it: `ONOS_API_BASE` (default `http://localhost:8181/onos/v1`), `ONOS_USERNAME` (default `onos`) and `ONOS_PASSWORD` (default `rocks`). The client config runs it with `uv --directory <path> run server.py`. Package `onos-mcp-server` at 0.1.0.
Build from source — clone the repository and build it, then point your client at the binary
