netbox-mcp-server
If you are the rightful owner of netbox-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol (MCP) server that connects to NetBox and exposes network infrastructure data for use with Claude and other MCP-compatible LLMs.
NetBox 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
httpx
library for HTTP requestsmcp
Python 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