automateyournetwork / netbox-mcp-server

Model Context Protocol (MCP) server for read-only interaction with NetBox data in LLMs

Home Page:https://netboxlabs.com/

Repository from Github https://github.comautomateyournetwork/netbox-mcp-serverRepository from Github https://github.comautomateyournetwork/netbox-mcp-server

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 (Mac):

{
  "mcpServers": {
        "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>"
            }
        }
}

On Windows, use full, escaped path to your instance, such as C:\\Users\\myuser\\.local\\bin\\uv and C:\\Users\\myuser\\netbox-mcp-server. For detailed troubleshooting, consult the MCP quickstart.

  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?

Docker

You can use the container like this

("netbox-mcp", ["python3", "server.py", "--oneshot"], "tools/discover", "tools/call"),

And it will discover the tools and be able to use the tools automatically

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.

About

Model Context Protocol (MCP) server for read-only interaction with NetBox data in LLMs

https://netboxlabs.com/

License:Apache License 2.0


Languages

Language:Python 99.4%Language:Dockerfile 0.6%