netbox-mcp-server
ardecode/netbox-mcp-serverUpdated 25 days ago00

Remote#NetBox#MCP#network infrastructureLicense: MIT LicenseLanguage: Python

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 requests
  • mcp 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:

  1. Install Claude Desktop from https://claude.ai/download
  2. Open the Claude menu and select "Settings..."
  3. Click on "Developer" in the left sidebar
  4. Click on "Edit Config"
  5. 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"
      ]
    }
  }
}
  1. 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 information
  • get_cluster_virtual_machines - Get all VMs in a specific cluster
  • get_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

Installation

Claude
Claude
Cursor
Cursor
Windsurf
Windsurf
Cline
Cline
Witsy
Witsy
Spin AI
Spin AI
Run locally with the following command:
Terminal
Add the following config to your client:
JSON
{
  "mcpServers": {
    "netbox": {
      "env": {},
      "args": [
        "/path/to/netbox_server.py",
        "--url",
        "https://your-netbox-instance.example.com",
        "--token",
        "your-api-token"
      ],
      "command": "python"
    }
  }
}

MCPLink

Seamless access to top MCP servers powering the future of AI integration.

© 2025 MCPLink. All rights reserved.
discordgithubdiscord