Onos MCP Server

Contributions are welcome! Please feel free to submit pull requests, report bugs, or suggest new features.

Local serverstdioPython

What is the Onos MCP server?

Onos mcp server lets Claude, Cursor and other MCP clients work with Onos directly. Contributions are welcome! Please feel free to submit pull requests, report bugs, or suggest new features.

What Onos does

Contributions are welcome! Please feel free to submit pull requests, report bugs, or suggest new features.

A Model Context Protocol (MCP) server implementation that provides network control and management capabilities through the ONOS SDN controller. This server enables AI assistants to access ONOS network management, OpenFlow device control, and comprehensive analytics through a structured API interface. The server is ideal for educational environments, network operations, SDN research, and AI-assisted network management.

Installing the onos mcp server

Setup follows the standard MCP pattern: clone or install the server, then register it in your client's configuration file and restart the client. The configuration snippets on this page cover Claude Desktop, Claude Code and Cursor.

Configuration

The server reads 3 environment variables: ONOS_API_BASE, ONOS_USERNAME, ONOS_PASSWORD. Keep credentials in your client's env block or a secrets manager rather than committing them.

Requirements

  • Python 3.7+ - uv for dependency management - Running ONOS controller - httpx library - mcp library

Where it fits

Developer-tool servers are usually the first ones people connect, because they turn "help me with this code" into an assistant that can actually read the repo and act on it. Onos sits in that group. Worth comparing against the other developer tools servers in this directory before you commit to one, since several overlap in scope but differ sharply in setup cost and permissions.

Practical notes

  • This server runs locally, so it operates with whatever access your machine and its credentials already have. Scope that deliberately rather than by default.
  • Maintained by davidlin2k, written in Python.
  • MCP clients ask for confirmation before each tool call by default. Keep that on while you learn what the onos mcp server actually does with your data.
  • Every entry in this directory is reviewed by hand before it goes live, and details are checked against the project's own documentation.

How to install the Onos MCP server

{
  "mcpServers": {
    "onos": {
      "command": "uv",
      "args": [
        "--directory",
        "parent_of_servers_repo/servers/src/onos-mcp-server",
        "run",
        "server.py"
      ],
      "env": {
        "ONOS_API_BASE": "http://localhost:8181/onos/v1",
        "ONOS_USERNAME": "onos",
        "ONOS_PASSWORD": "rocks"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Python 3.7+ - uv for dependency management - Running ONOS controller - httpx library - mcp library
VariableDescriptionRequired
ONOS_API_BASEConfiguration value read at startup.Optional
ONOS_USERNAMEConfiguration value read at startup.Optional
ONOS_PASSWORDConfiguration value read at startup.Optional

Frequently asked questions

It connects Onos to MCP-compatible AI assistants such as Claude and Cursor. Instead of copying data back and forth by hand, the assistant works with Onos directly.