About NetBox MCP Server
NetBox MCP Server connects NetBox to MCP-compatible LLMs for querying network infrastructure and virtualization data. It is for NetBox users who need tools for inspecting clusters, virtual machines, and interfaces.
Key features
- 01Query NetBox infrastructure data
- 02List clusters
- 03Retrieve cluster virtual machines
- 04Retrieve cluster interfaces
Use cases
- 01Review clusters in a NetBox instance
- 02Inspect virtual machines and interfaces in a cluster
MCP support
It exposes tools through MCP for clients such as Claude to access NetBox data. The documented tools cover clusters, virtual machines, and interfaces.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMENetBox MCP Server
A Model Context Protocol (MCP) server that connects to NetBox and exposes network infrastructure data for use with Claude and other MCP-compatible LLMs.
Overview
This server provides a bridge between NetBox and MCP-compatible LLMs like Claude, allowing you to:
- Query and analyze your network infrastructure data
- Check device configurations and connections
- Examine virtualization clusters and virtual machines
- Analyze VLANs, IP address allocations, and more
- Generate network topology information
- Detect NVMe storage in clusters
The server exposes:
- Tools: Functions that perform operations
Requirements
- Python 3.10 or higher
- NetBox instance with API access
- NetBox API token with read permissions
httpxlibrary for HTTP requestsmcpPython SDK for Model Context Protocol
Installation
Using uv (recommended)
# Create a virtual environment
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install required packages
uv add mcp httpx
Using pip
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install required packages
pip install mcp httpx
Usage
Running the Server Directly
python netbox_server.py --url https://your-netbox-instance.example.com --token your-api-token
You can also set environment variables instead of using command-line arguments:
export NETBOX_URL="https://your-netbox-instance.example.com"
export NETBOX_TOKEN="your-api-token"
python netbox_server.py
Integration with Claude Desktop
To integrate with Claude Desktop:
- Install Claude Desktop from https://claude.ai/download
- Open the Claude menu and select "Settings..."
- Click on "Developer" in the left sidebar
- Click on "Edit Config"
- Add the NetBox server configuration to
claude_desktop_config.json:
{
"mcpServers": {
"netbox": {
"command": "python",
"args": [
"/path/to/netbox_server.py",
"--url",
"https://your-netbox-instance.example.com",
"--token",
"your-api-token"
]
}
}
}
- Save the file and restart Claude Desktop
Available Features
Tools
The server provides these tools:
get_all_clusters- Get list of all clusters with key informationget_cluster_virtual_machines- Get all VMs in a specific clusterget_cluster_interfaces- Get all interfaces from all VMs in a cluster
Example Queries for Claude
Once the server is connected to Claude Desktop, you can ask questions like:
- "Show me a list of all clusters in our NetBox instance"
- "Show me all the virtual machines in our primary cluster"
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- NetBox - Network infrastructure modeling
- Model Context Protocol - Protocol for providing context to LLMs
- Claude - Anthropic's AI assistant
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.