netbox-mcp-server

MCP.Pizza Chef: netboxlabs

NetBox is where network teams record the hardware, addresses, and sites they own. This add-on gives an assistant four abilities: fetch a group of records, pull one record by its number, search across record types, and read the audit trail of who changed what. Everything is read-only, so it cannot create, edit, or remove anything, even though the code underneath is capable of it. You need your own NetBox 4.2 or newer install and a read-only access token from it.

Data

Use This MCP server To

List every device at one of our sites Check how much of our address space is in use Find who changed a site record last week Look up one device's full details by its number Search our records for anything matching a name Review the last month of changes to a core router

README

NetBox MCP Server

⚠️ Breaking Change in v1.0.0: The project structure has changed. If upgrading from v0.1.0, update your configuration:

  • Change uv run server.py to uv run netbox-mcp-server
  • Update Claude Desktop/Code configs to use netbox-mcp-server instead of server.py
  • Docker users: rebuild images with updated CMD
  • See CHANGELOG.md for full details

This is a simple read-only Model Context Protocol server for NetBox. It enables you to interact with your data in NetBox directly via LLMs that support MCP.

The server is intentionally simple: easy to get started with, hard to misuse (read-only by default, no plugin surface), and easy to fork and adapt. Forking under Apache 2.0 is a first-class path for users who need capabilities beyond the project's scope.

Community

For chat, use cases, and general MCP discussion, join the NetBox community at netdev.chat. The #ai channel is the right home for MCP integrations, questions, and sharing use cases. Bugs and feature ideas specific to this server go in issues.

Tools

Tool Description
get_objects Retrieves NetBox core objects based on their type and filters
get_object_by_id Gets detailed information about a specific NetBox object by its ID
get_changelogs Retrieves change history records (audit trail) based on filters

Note: Core NetBox object types are always available. Plugin object types can be auto-discovered. See Plugin Object Type Discovery. Advanced features (GraphQL, dynamic model discovery, etc.) are deliberately out of scope. See CONTRIBUTING.md for the full scope statement and rationale.

Usage

  1. Create a read-only API token in NetBox with sufficient permissions for the tool to access the data you want to make available via MCP.

  2. Install dependencies:

    # Using UV (recommended)
    uv sync
    
    # Or using pip
    pip install -e .
  3. Verify the server can run: NETBOX_URL=https://netbox.example.com/ NETBOX_TOKEN=<your-api-token> uv run netbox-mcp-server

  4. Add the MCP server to your LLM client. See below for some examples with Claude.

Claude Code

netbox-mcp-server FAQ

Can it change anything in NetBox?
No. All four of its abilities only read. Creating, editing, and deleting are deliberately left out, so a mistake cannot damage your records.
Do I need a key?
Yes. You generate an access token inside your own NetBox, and read-only permission is enough for everything it does.
Is it still maintained?
Yes. It is published by NetBox Labs and received code changes within the past day.
Can I use this to audit who changed something?
Yes. It reads the change history and can narrow it down by record, person, or date range.
Do I need my own NetBox?
Yes. It points at a NetBox 4.2 or newer instance you already run, and there is no hosted version to sign into.
Which apps does it work in?
The guide covers Claude Desktop and Claude Code, and it can also run as a small web service that other assistants connect to.
How hard is setup?
You install it from source or a container, then paste a settings block naming your NetBox address and token.
The README lists three abilities, is that right?
It is slightly out of date. There are four, including a general search across record types.