A read-only Model Context Protocol server for NetBox that enables interaction with NetBox data directly via LLMs that support MCP.
16 stars2 watching4 forks

NetBox MCP Server

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.

Tools

| Tool | Description | |------|-------------| | get_objects | Retrieves NetBox core objects based on their type and filters | | search_netbox | Performs a global search across NetBox objects | | get_object_by_id | Gets detailed information about a specific NetBox object by its ID |

Note: the set of supported object types is explicitly defined and limited to the core NetBox objects for now, and won't work with object types from plugins.

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: uv add -r requirements.txt

  3. Verify the server can run: NETBOX_URL=https://netbox.example.com/ NETBOX_TOKEN=<your-api-token> uv run server.py

  4. Add the MCP server configuration to your LLM client. For example, in Claude Desktop:

"netbox": {
    "command": "uv",
    "args": [
        "--directory",
        "/path/to/netbox-mcp-server",
        "run",
        "server.py"
    ],
    "env": {
        "NETBOX_URL": "https://netbox.example.com/",
        "NETBOX_TOKEN": "<your-api-token>"
    }
}
  1. Use the tools in your LLM client. For example:
> Get all devices in the 'Equinix DC14' site
...
> Tell me about my IPAM utilization
...
> What Cisco devices are in my network?

Development

Contributions are welcome! Please open an issue or submit a PR.

License

This project is licensed under the Apache 2.0 license. See the LICENSE file for details.

Features

readonly
search
retrieve
filter
integration

Category

Integrations