Labsco
MCP SERVER

ONOS MCP Server

by davidlin2k

Talk to an ONOS SDN controller in plain language — topology and flow state, health metrics, application lifecycle and path computation across your OpenFlow network.

Network, Endpoint & Fleet Management
Summary
Reads and writes on the same connection.

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.

What it is

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.

What you get
  • 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
Requirements

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.

Setup effort

Build from source — clone the repository and build it, then point your client at the binary