Skip to content

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

License

Notifications You must be signed in to change notification settings

rare-candies/netbox-mcp-server

 
 

Repository files navigation

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.

About

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

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%