Developer · Local MCP server
NetBox MCP
MCP server for NetBox DCIM/IPAM with read-only and dry-run modes.
What the MCP Registry states
The entry as published to the official MCP Registry (read 2026-10-04), latest version.
- Registry name
io.github.mhajder/netbox-mcp- Version
- 0.1.0
- Status
- Active
- Category
- developer
- Transport
- stdio (local process), Streamable HTTP
- Package
- PyPI, OCI image (Docker)
- Published
- 2026-09-26
- Updated
- 2026-09-26
- Publisher
- mhajder (GitHub) · 2 servers with pages here
- Website
- github.com/mhajder/netbox-mcp
- Repository
- github.com/mhajder/netbox-mcp
- Source
- Registry API entry
Packages
| Registry | Package | Version | Transport |
|---|---|---|---|
| PyPIruntime: uvx | netbox-mcp | 0.1.0 | stdio |
| PyPIruntime: uvx | netbox-mcp | 0.1.0 | HTTP |
| OCI image (Docker) | ghcr.io/mhajder/netbox-mcp:0.1.0 | — | HTTP |
How to connect NetBox MCP
NetBox MCP runs locally from a Python package published to PyPI: netbox-mcp version 0.1.0. It speaks MCP over stdio, so the client starts it as a program and talks to it through standard input and output. It needs Python; clients usually start it with uvx (from uv) or after pip install — the usual command is uvx netbox-mcp. It reads these environment variables: NETBOX_URL (required), NETBOX_TOKEN (required, secret), NETBOX_VERIFY_SSL, NETBOX_TIMEOUT, NETBOX_BRANCHING_ENABLED, NETBOX_BRANCH, NETBOX_PLUGIN_DISCOVERY, READ_ONLY_MODE, DRY_RUN_MODE, DISABLED_TAGS, LOG_LEVEL, RESPONSE_MAX_SIZE, RATE_LIMIT_ENABLED, RATE_LIMIT_MAX_REQUESTS, RATE_LIMIT_WINDOW_MINUTES, TOOL_SEARCH_ENABLED, TOOL_SEARCH_STRATEGY and TOOL_SEARCH_MAX_RESULTS; set them in the client's configuration for this server.
NetBox MCP runs locally from a Python package published to PyPI: netbox-mcp version 0.1.0. The package starts a local server that speaks MCP over Streamable HTTP; the client then connects to it by URL (the entry names uvx as the runtime). It reads these environment variables: NETBOX_URL (required), NETBOX_TOKEN (required, secret), NETBOX_VERIFY_SSL, NETBOX_TIMEOUT, NETBOX_BRANCHING_ENABLED, NETBOX_BRANCH, NETBOX_PLUGIN_DISCOVERY, READ_ONLY_MODE, DRY_RUN_MODE, DISABLED_TAGS, LOG_LEVEL, RESPONSE_MAX_SIZE, RATE_LIMIT_ENABLED, RATE_LIMIT_MAX_REQUESTS, RATE_LIMIT_WINDOW_MINUTES, TOOL_SEARCH_ENABLED, TOOL_SEARCH_STRATEGY, TOOL_SEARCH_MAX_RESULTS, MCP_HTTP_PORT and MCP_TRANSPORT; set them in the client's configuration for this server.
NetBox MCP runs locally from a container image in an OCI registry such as Docker Hub or GitHub Container Registry: ghcr.io/mhajder/netbox-mcp:0.1.0. The package starts a local server that speaks MCP over Streamable HTTP; the client then connects to it by URL. It reads these environment variables: NETBOX_URL (required), NETBOX_TOKEN (required, secret), NETBOX_VERIFY_SSL, NETBOX_TIMEOUT, NETBOX_BRANCHING_ENABLED, NETBOX_BRANCH, NETBOX_PLUGIN_DISCOVERY, READ_ONLY_MODE, DRY_RUN_MODE, DISABLED_TAGS, LOG_LEVEL, RESPONSE_MAX_SIZE, RATE_LIMIT_ENABLED, RATE_LIMIT_MAX_REQUESTS, RATE_LIMIT_WINDOW_MINUTES, TOOL_SEARCH_ENABLED, TOOL_SEARCH_STRATEGY, TOOL_SEARCH_MAX_RESULTS and MCP_HTTP_PORT; set them in the client's configuration for this server. Required arguments: -p.
In the mcpServers JSON format that many desktop and editor MCP clients read, the entry looks like this (placeholders in angle brackets):
{
"mcpServers": {
"netbox-mcp": {
"command": "uvx",
"args": [
"netbox-mcp"
],
"env": {
"NETBOX_URL": "<value>",
"NETBOX_TOKEN": "<secret>",
"NETBOX_VERIFY_SSL": "<value>",
"NETBOX_TIMEOUT": "<value>",
"NETBOX_BRANCHING_ENABLED": "<value>",
"NETBOX_BRANCH": "<value>",
"NETBOX_PLUGIN_DISCOVERY": "<value>",
"READ_ONLY_MODE": "<value>",
"DRY_RUN_MODE": "<value>",
"DISABLED_TAGS": "<value>",
"LOG_LEVEL": "<value>",
"RESPONSE_MAX_SIZE": "<value>",
"RATE_LIMIT_ENABLED": "<value>",
"RATE_LIMIT_MAX_REQUESTS": "<value>",
"RATE_LIMIT_WINDOW_MINUTES": "<value>",
"TOOL_SEARCH_ENABLED": "<value>",
"TOOL_SEARCH_STRATEGY": "<value>",
"TOOL_SEARCH_MAX_RESULTS": "<value>"
}
}
}
}Derived from the registry entry, not tested here. What the server does, and on what terms, is set by its publisher; check its repository or website before giving it access to your accounts or files. How to add an MCP server to an assistant · Before you connect
More from mhajder (GitHub)
| Server | Runs |
|---|---|
| LibreNMS MCPMCP server for LibreNMS network monitoring - query devices, ports, alerts, and manage infrastructure. | Local · stdio, HTTP |
More developer servers
| Server | Runs |
|---|---|
| NerdyChefs PromptsSearch, browse and pick from the free NerdyChefs.ai prompt library from any MCP client. | Local · stdio |
| nerdydata MCPSearch websites by source code, technology stack, analyze domains, and download lead lists. | Remote & Local · HTTP, stdio |
| NervaPackOffline codebase knowledge graph: 91% token reduction vs naive RAG, plus cross-session agent memory. | Local · stdio |
| Nervous SystemGovernance for LLM agents: 7 enforced rules + read-only reference tools. Safe in any MCP client. | Local · stdio |
| Netbrain Integrated Solutions catalogueRead-only catalogue search: JVM tooling, ML models, compliance APIs, siSwati LLM, Veridix markets. | Remote · HTTP |
| Netcafe BuildDeploy a live web app from one sentence. build_app + poll to a public HTTPS URL you own. | Remote · HTTP |
| Netcafe ChinaChina facts a server outside China cannot get: real mainland reachability, 调休 holidays, ID/phone val. | Remote · HTTP |
| NetdataReal-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection. | Remote · HTTP |