ONOS MCP Server logo

ONOS MCP Server

by MCP-Mirror

The ONOS MCP Server provides network control and management capabilities through the ONOS SDN controller. It enables programmatic access to ONOS network management, OpenFlow device control, and comprehensive analytics through ONOS's REST API.

View on GitHub

Last updated: N/A

What is ONOS MCP Server?

The ONOS MCP Server is a Model Context Protocol server implementation designed to provide network control and management capabilities by interfacing with the ONOS SDN controller. It exposes a wide range of resources, prompts, and tools for interacting with and managing an ONOS-controlled network.

How to use ONOS MCP Server?

To use the server, add it to your claude_desktop_config.json file as shown in the README. Configure the ONOS_API_BASE, ONOS_USERNAME, and ONOS_PASSWORD environment variables to match your ONOS instance. Then, use the exposed resources, prompts, and tools to interact with your ONOS network.

Key features of ONOS MCP Server

  • Exposes over 30 dynamic resources for network information

  • Provides nine specialized prompts for network diagnosis, design, and configuration

  • Offers over 20 powerful tools for network and application management

  • Supports intent-based networking

  • Facilitates SDN migration planning

Use cases of ONOS MCP Server

  • Educational environments for learning SDN concepts

  • Network prototyping and testing

  • SDN research with ONOS

  • Network automation and orchestration

  • Network troubleshooting and diagnostics

FAQ from ONOS MCP Server

What is the purpose of the ONOS MCP Server?

It provides a programmatic interface to manage and control networks through the ONOS SDN controller.

What are the key requirements for running the server?

Python 3.7+, uv, a running ONOS controller, httpx library, and mcp library.

How do I configure the server?

Use the environment variables ONOS_API_BASE, ONOS_USERNAME, and ONOS_PASSWORD.

What kind of tools does the server provide?

Network management tools, application management tools, and network configuration tools.

How can I contribute to the project?

Submit pull requests, report bugs, or suggest new features.