Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
MCP server for NetBox DCIM/IPAM with read-only and dry-run modes
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
NETBOX_URL, NETBOX_TOKEN, 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_RESULTSLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"netbox": {
"command": "uvx",
"args": [
"netbox-mcp"
],
"env": {
"NETBOX_URL": "your-value",
"NETBOX_TOKEN": "your-value",
"NETBOX_VERIFY_SSL": "your-value",
"NETBOX_TIMEOUT": "your-value",
"NETBOX_BRANCHING_ENABLED": "your-value",
"NETBOX_BRANCH": "your-value",
"NETBOX_PLUGIN_DISCOVERY": "your-value",
"READ_ONLY_MODE": "your-value",
"DRY_RUN_MODE": "your-value",
"DISABLED_TAGS": "your-value",
"LOG_LEVEL": "your-value",
"RESPONSE_MAX_SIZE": "your-value",
"RATE_LIMIT_ENABLED": "your-value",
"RATE_LIMIT_MAX_REQUESTS": "your-value",
"RATE_LIMIT_WINDOW_MINUTES": "your-value",
"TOOL_SEARCH_ENABLED": "your-value",
"TOOL_SEARCH_STRATEGY": "your-value",
"TOOL_SEARCH_MAX_RESULTS": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add netbox --env NETBOX_URL=your-value --env NETBOX_TOKEN=your-value --env NETBOX_VERIFY_SSL=your-value --env NETBOX_TIMEOUT=your-value --env NETBOX_BRANCHING_ENABLED=your-value --env NETBOX_BRANCH=your-value --env NETBOX_PLUGIN_DISCOVERY=your-value --env READ_ONLY_MODE=your-value --env DRY_RUN_MODE=your-value --env DISABLED_TAGS=your-value --env LOG_LEVEL=your-value --env RESPONSE_MAX_SIZE=your-value --env RATE_LIMIT_ENABLED=your-value --env RATE_LIMIT_MAX_REQUESTS=your-value --env RATE_LIMIT_WINDOW_MINUTES=your-value --env TOOL_SEARCH_ENABLED=your-value --env TOOL_SEARCH_STRATEGY=your-value --env TOOL_SEARCH_MAX_RESULTS=your-value -- uvx netbox-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"netbox": {
"command": "uvx",
"args": [
"netbox-mcp"
],
"env": {
"NETBOX_URL": "your-value",
"NETBOX_TOKEN": "your-value",
"NETBOX_VERIFY_SSL": "your-value",
"NETBOX_TIMEOUT": "your-value",
"NETBOX_BRANCHING_ENABLED": "your-value",
"NETBOX_BRANCH": "your-value",
"NETBOX_PLUGIN_DISCOVERY": "your-value",
"READ_ONLY_MODE": "your-value",
"DRY_RUN_MODE": "your-value",
"DISABLED_TAGS": "your-value",
"LOG_LEVEL": "your-value",
"RESPONSE_MAX_SIZE": "your-value",
"RATE_LIMIT_ENABLED": "your-value",
"RATE_LIMIT_MAX_REQUESTS": "your-value",
"RATE_LIMIT_WINDOW_MINUTES": "your-value",
"TOOL_SEARCH_ENABLED": "your-value",
"TOOL_SEARCH_STRATEGY": "your-value",
"TOOL_SEARCH_MAX_RESULTS": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"netbox": {
"type": "stdio",
"command": "uvx",
"args": [
"netbox-mcp"
],
"env": {
"NETBOX_URL": "your-value",
"NETBOX_TOKEN": "your-value",
"NETBOX_VERIFY_SSL": "your-value",
"NETBOX_TIMEOUT": "your-value",
"NETBOX_BRANCHING_ENABLED": "your-value",
"NETBOX_BRANCH": "your-value",
"NETBOX_PLUGIN_DISCOVERY": "your-value",
"READ_ONLY_MODE": "your-value",
"DRY_RUN_MODE": "your-value",
"DISABLED_TAGS": "your-value",
"LOG_LEVEL": "your-value",
"RESPONSE_MAX_SIZE": "your-value",
"RATE_LIMIT_ENABLED": "your-value",
"RATE_LIMIT_MAX_REQUESTS": "your-value",
"RATE_LIMIT_WINDOW_MINUTES": "your-value",
"TOOL_SEARCH_ENABLED": "your-value",
"TOOL_SEARCH_STRATEGY": "your-value",
"TOOL_SEARCH_MAX_RESULTS": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
NETBOX_VERIFY_SSL envNETBOX_TIMEOUT envNETBOX_BRANCHING_ENABLED envNETBOX_BRANCH envNETBOX_PLUGIN_DISCOVERY envREAD_ONLY_MODE envDRY_RUN_MODE envDISABLED_TAGS envLOG_LEVEL envRESPONSE_MAX_SIZE envRATE_LIMIT_ENABLED envRATE_LIMIT_MAX_REQUESTS envRATE_LIMIT_WINDOW_MINUTES envTOOL_SEARCH_ENABLED envTOOL_SEARCH_STRATEGY envTOOL_SEARCH_MAX_RESULTS envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub mhajder, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: NETBOX_URL, NETBOX_TOKEN
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.2.1) llegó al registro hace 14 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv), Docker en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, Kanal Varna — drains, leaks & plumbing (Varna, BG)
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drain unblocking, leak detection & plumbing in Varna, Bulgaria: services, prices, areas, contact
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Give AI agents structured access to NetBox, your network source of truth
Installation · Tools · Configuration · Security
NetBox MCP Server is a Python-based Model Context Protocol (MCP) server that gives AI assistants structured access to NetBox - the source of truth for network infrastructure (DCIM and IPAM). A small set of generic tools covers all 139 core object types of NetBox 4.7 (and plugin types, if enabled), plus specialised tools for search, change logs, GraphQL, free IP/prefix/VLAN allocation, prefix utilization, free rack space, cable tracing and connecting, config rendering, custom scripts and (optionally) netbox-branching. Writes can be hidden entirely (read-only mode) or simulated (dry-run mode).
fields, omit and brief - the tools steer the model to use themcommit is set)Bearer nbt_...) and legacy v1 (Token ...) API tokensnetbox_dns.zone)__in, multi-hop lookups)omit, v2 tokens, /api/authentication-check/) are used when the server detects themThe easiest way to get started is to install from PyPI:
# Using UV (recommended)
uvx netbox-mcp
pip install netbox-mcp
Remember to configure the environment variables for your NetBox instance before running the server:
# Create environment configuration
export NETBOX_URL=https://netbox.example.com export NETBOX_TOKEN=nbt_your-key.your-token
git clone https://github.com/mhajder/netbox-mcp.git
cd netbox-mcp
# Using UV (recommended)
uv sync
pip install -e .
cp .env.example .env
# Using UV (recommended)
uv run netbox-mcp
netbox-mcp
A Docker image is available on GitHub Packages for easy deployment.
docker pull ghcr.io/mhajder/netbox-mcp:latest
For development with additional tools:
# Clone and install with development dependencies
git clone https://github.com/mhajder/netbox-mcp.git cd netbox-mcp uv sync --group dev
uv run pytest
uv run pytest --cov=src/
uv run ruff check . uv run ruff format .
uv run ty check .
uv run prek install
# NetBox MCP Server Environment Configuration
NETBOX_URL=https://netbox.example.com
NETBOX_TOKEN=nbt_your-key.your-token
NETBOX_VERIFY_SSL=true
NETBOX_TIMEOUT=30
NETBOX_BRANCHING_ENABLED=false
NETBOX_BRANCH=
NETBOX_PLUGIN_DISCOVERY=false
READ_ONLY_MODE=false
DRY_RUN_MODE=false
DISABLED_TAGS=
LOG_LEVEL=INFO
RESPONSE_MAX_SIZE=
RATE_LIMIT_ENABLED=false RATE_LIMIT_MAX_REQUESTS=60 RATE_LIMIT_WINDOW_MINUTES=1
TOOL_SEARCH_ENABLED=false
TOOL_SEARCH_STRATEGY=bm25
TOOL_SEARCH_MAX_RESULTS=5
Object types are named app.model, as NetBox itself names them (dcim.device, ipam.prefix, virtualization.virtualmachine). API paths such as dcim/devices are accepted too. With branching enabled, every tool that reads or writes objects also takes an optional branch argument.
| Tool | Description |
|---|---|
netbox_list_object_types | List supported object types and their endpoints (core and discovered plugin types) |
netbox_get_objects | List objects of a type with filters, fields, omit, brief, ordering, limit, offset |
netbox_get_object | Get one object by ID |
netbox_search_objects | Free-text search (q) across several object types at once |
netbox_describe_object_type | Writable fields of a type: data type, required, choices |
netbox_get_changelogs | Change log entries, newest first |
| Tool | Description |
|---|---|
netbox_get_status | NetBox version, plugins, workers, authenticated user and this server's modes |
netbox_graphql_query | Read-only GraphQL query (mutations are rejected) |
netbox_get_available | Free IPs / prefixes in a prefix or IP range, VLANs in a VLAN group, ASNs in an ASN range |
netbox_trace_cable | Full cable path from an interface, front/rear/console/power port or circuit termination |
netbox_render_config | Render a device's or VM's configuration from its config template |
netbox_get_prefix_utilization | Utilization of up to 25 prefixes, computed as NetBox's UI does (child prefixes for containers, IPs and utilized ranges otherwise) |
netbox_find_rack_space | Racks in a site, location or list with room for a device of a given height (counts both faces for full-depth devices, and reservations) |
netbox_list_branches | List netbox-branching branches (only with NETBOX_BRANCHING_ENABLED=true) |
| Tool | Description |
|---|---|
netbox_create_object | Create one object |
netbox_update_object | Partially update one object (PATCH) |
netbox_bulk_create_objects | Create up to 500 objects in one transaction |
netbox_bulk_update_objects | Update up to 500 objects in one transaction |
netbox_allocate_available | Allocate the next free IP, prefix, VLAN or ASN |
netbox_connect_cable | Cable ports together, given by ID or by device and port name; refuses ports that are already cabled |
netbox_run_script | Run a custom script and wait for its log and output; commit defaults to false (destructiveHint) |
netbox_create_branch | Create a netbox-branching branch (only with NETBOX_BRANCHING_ENABLED=true) |
netbox_delete_object | Delete one object (destructiveHint) |
netbox_bulk_delete_objects | Delete up to 500 objects in one transaction (destructiveHint) |
Every tool is tagged netbox plus a group tag, which `DI
Solo se muestra el principio; lee el resto en el repo