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.
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.
-
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.
-
Install dependencies:
uv add -r requirements.txt
-
Verify the server can run:
NETBOX_URL=https://netbox.example.com/ NETBOX_TOKEN=<your-api-token> uv run server.py
-
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>"
}
}
- 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?
Contributions are welcome! Please open an issue or submit a PR.
This project is licensed under the Apache 2.0 license. See the LICENSE file for details.