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
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
Recommend MCP Servers 💡
@danielsuguimoto/readonly-server-filesystem
Node.js server implementing Model Context Protocol (MCP) for readonly filesystem operations
@semihberkay/bluesky-mcp
A Model Context Protocol (MCP) server for Bluesky that can post on your behalf by using the AT Protocol.
@kocierik/consul-mcp-server
An MCP server that integrates with HashiCorp Consul, enabling large language models to manage services, health checks, key-value stores, and other Consul functionalities.
fetchserp
A Model Context Protocol (MCP) server that exposes the FetchSERP API for SEO, SERP analysis, web scraping, and keyword research, providing an All-in-One SEO & Web Intelligence Toolkit.
@ahmetbarut/jira-mcp-server
A modular, extensible Model Context Protocol (MCP) server for interacting with Jira Cloud, enabling integration with AI agents, bots, or automation systems.
vibe-check-mcp-server
The definitive Vibe Coder's sanity check MCP server: Prevent cascading errors in AI workflows by implementing strategic pattern interrupts. Uses tool call "Vibe Check" with LearnLM 2.0 Flash, fine-tuned for pedagogy and metacognition to enhance complex workflow strategy, and prevents tunnel vision errors.