프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

NetBox MCP

제작자: mhajder버전 0.2.1i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.mhajder/netbox-mcp

설치

개요

제작자가 쓴 설명(영어 원문)

MCP server for NetBox DCIM/IPAM with read-only and dry-run modes

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio, Streamable HTTP
  • 카테고리: 기타
  • 입력해야 할 값: NETBOX_URL, NETBOX_TOKEN

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 직접 입력할 값: 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_RESULTS

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

  • PyPIPython의 uv 설치(uvx 명령어용)

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 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"
      }
    }
  }
}

터미널에서 이 명령어를 실행하세요

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-mcp

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.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"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

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

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • NETBOX_URL 필수 env
    NetBox base URL (e.g., https://netbox.example.com)
  • NETBOX_TOKEN 비밀 필수 env
    NetBox API token: v2 (nbt_ . , NetBox 4.5+) or legacy v1
  • NETBOX_VERIFY_SSL env
    Verify SSL certificates (true/false)
  • NETBOX_TIMEOUT env
    Total time allowed for one NetBox request, retries included (seconds)
  • NETBOX_BRANCHING_ENABLED env
    Enable netbox-branching support: branch tools and the 'branch' argument (requires the netbox-branching plugin) (true/false)
  • NETBOX_BRANCH env
    Default netbox-branching branch (name or schema ID) for every call; requires NETBOX_BRANCHING_ENABLED=true
  • NETBOX_PLUGIN_DISCOVERY env
    Discover plugin object types from /api/core/object-types/ (true/false)
  • READ_ONLY_MODE env
    Hide all write tools (create, update, delete) (true/false)
  • DRY_RUN_MODE env
    Write tools only simulate changes and never modify NetBox (true/false)
  • DISABLED_TAGS env
    Comma-separated tool tags to disable (e.g. delete,graphql,branching)
  • LOG_LEVEL env
    Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
  • RESPONSE_MAX_SIZE env
    Maximum tool response size in bytes (unset = unlimited)
  • RATE_LIMIT_ENABLED env
    Enable rate limiting
  • RATE_LIMIT_MAX_REQUESTS env
    Maximum requests per rate limit window
  • RATE_LIMIT_WINDOW_MINUTES env
    Rate limit window in minutes
  • TOOL_SEARCH_ENABLED env
    Enable FastMCP tool search transform
  • TOOL_SEARCH_STRATEGY env
    Tool search strategy (bm25 or regex)
  • TOOL_SEARCH_MAX_RESULTS env
    Maximum tool search results returned by search_tools

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 mhajder 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

기타 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 32688개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 32688개 중 72%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 32688개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

NetBox MCP, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: NETBOX_URL, NETBOX_TOKEN

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.2.1)은 14일 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv), Docker도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, 御府和田玉 在售作品查询

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Spec Driven Development

제작자: formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

내 컴퓨터에서 실행★ 440MIT14개월 전 업데이트
설치

Remote Desktop Commander

제작자: desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

클라우드에서 실행★ 211그저께 업데이트
설치

Live in-stock Hetian jade from Yufu, Shanghai: prices, monthly price guide, book a viewing.

클라우드에서 실행오늘 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

NetBox MCP Server

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).

✨ Features

Core Features
  • Query any NetBox object type with filtering, ordering and pagination through one tool
  • Keep responses small with fields, omit and brief - the tools steer the model to use them
  • Search many object types at once, with explicit reporting of failed and truncated types
  • Read the change log (who changed what, when) and NetBox status/version/plugins
  • Run read-only GraphQL queries for nested data in one round trip
  • List free IPs, prefixes, VLANs and ASNs; trace cable paths; render device configs
  • Compute prefix utilization (as the NetBox UI shows it) and find racks with room for a device
Management Operations
  • Create, update and delete any object type, singly or in bulk (NetBox runs a bulk write as one transaction)
  • Allocate the next free IP, prefix, VLAN or ASN atomically
  • Connect ports with a cable, naming them by device and port name
  • Run NetBox custom scripts (changes rolled back unless commit is set)
  • Optionally stage changes in a netbox-branching branch instead of main
  • Describe an object type's writable fields and choices before writing
Advanced Capabilities
  • Read-only mode hides every write tool; dry-run mode turns every write into a preview
  • NetBox v2 (Bearer nbt_...) and legacy v1 (Token ...) API tokens
  • Plugin object type discovery (e.g. netbox_dns.zone)
  • Filter validation that rejects filters NetBox would silently ignore (__in, multi-hop lookups)
  • Retries on 429/5xx without ever replaying a create after a server error
  • Tag-based tool filtering, optional tool-search transform, rate limiting and response size limit
  • Bearer token authentication for HTTP transport
  • Multiple transport options (STDIO, SSE, HTTP)
  • Optional Sentry integration for error tracking

🚀 Installation

Prerequisites
  • Python 3.11 to 3.15
  • A NetBox instance, version 4.2 or newer. Features added later (omit, v2 tokens, /api/authentication-check/) are used when the server detects them
  • A NetBox API token with the permissions you want the assistant to have. The token is the real security boundary: a read-only token cannot write, whatever this server's settings are
Quick Install from PyPI

The easiest way to get started is to install from PyPI:

# Using UV (recommended)

uvx netbox-mcp

Or using pip

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

Install from Source
  1. Clone the repository:
git clone https://github.com/mhajder/netbox-mcp.git

cd netbox-mcp

  1. Install dependencies:
# Using UV (recommended)

uv sync

Or using pip

pip install -e .

  1. Configure environment variables:
cp .env.example .env

Edit .env with your NetBox URL and API token

  1. Run the server:
# Using UV (recommended)

uv run netbox-mcp

Or using the installed command directly

netbox-mcp

Using Docker

A Docker image is available on GitHub Packages for easy deployment.

docker pull ghcr.io/mhajder/netbox-mcp:latest
Development Setup

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

Run tests

uv run pytest

Run with coverage

uv run pytest --cov=src/

Run linting and formatting

uv run ruff check . uv run ruff format .

Run type checking

uv run ty check .

Setup prek hooks

uv run prek install

🔧 Configuration

Environment Variables
# NetBox MCP Server Environment Configuration

NetBox Connection Details

NETBOX_URL=https://netbox.example.com

API Token - v2 tokens (nbt_ . , NetBox 4.5+) are sent as "Bearer",

legacy v1 tokens as "Token"

NETBOX_TOKEN=nbt_your-key.your-token

SSL Configuration

NETBOX_VERIFY_SSL=true

Total time allowed for one NetBox request, retries included (seconds)

NETBOX_TIMEOUT=30

Branching (requires the netbox-branching plugin)

Set NETBOX_BRANCHING_ENABLED true to add the branch tools and the 'branch'

argument to every tool. Off by default - leave it off on a NetBox without the plugin

NETBOX_BRANCHING_ENABLED=false

Default branch (name or schema ID) used by every call; empty = main.

Requires NETBOX_BRANCHING_ENABLED=true

NETBOX_BRANCH=

Plugin Discovery

Set NETBOX_PLUGIN_DISCOVERY true to expose plugin models (e.g. netbox_dns.zone)

NETBOX_PLUGIN_DISCOVERY=false

Read-Only Mode

Set READ_ONLY_MODE true to hide all write tools (create, update, delete)

READ_ONLY_MODE=false

Dry-Run Mode

Set DRY_RUN_MODE true to make every write tool only simulate the change:

it returns the request it would send and never modifies NetBox

DRY_RUN_MODE=false

Disabled Tags

Comma-separated list of tags to disable tools for (empty by default)

Example: DISABLED_TAGS=delete,graphql,branching

DISABLED_TAGS=

Logging Configuration

LOG_LEVEL=INFO

Response Size Limit

Maximum tool response size in bytes; larger responses are truncated (empty = unlimited)

RESPONSE_MAX_SIZE=

Rate Limiting

Set RATE_LIMIT_ENABLED true to enable rate limiting

RATE_LIMIT_ENABLED=false RATE_LIMIT_MAX_REQUESTS=60 RATE_LIMIT_WINDOW_MINUTES=1

Tool Search Transform (Optional)

Set TOOL_SEARCH_ENABLED true to replace full tool listings with search_tools + call_tool

TOOL_SEARCH_ENABLED=false

Search strategy: bm25 (natural language) or regex (pattern match)

TOOL_SEARCH_STRATEGY=bm25

Maximum number of tools returned by search_tools

TOOL_SEARCH_MAX_RESULTS=5

Sentry Error Tracking (Optional)

Set SENTRY_DSN to enable error tracking and performance monitoring

SENTRY_DSN=https://your-key@o12345.ingest.us.sentry.io/6789

Optional Sentry configuration

SENTRY_TRACES_SAMPLE_RATE=1.0

SENTRY_SEND_DEFAULT_PII=false

SENTRY_ENVIRONMENT=production

SENTRY_RELEASE=1.2.3

SENTRY_PROFILE_SESSION_SAMPLE_RATE=1.0

SENTRY_PROFILE_LIFECYCLE=trace

SENTRY_ENABLE_LOGS=true

MCP Transport Configuration

Transport type: 'stdio' (default), 'sse' (Server-Sent Events), or 'http' (HTTP Streamable)

'streamable-http' is accepted as an alias for 'http'. Any other value stops

the server at startup.

MCP_TRANSPORT=stdio

HTTP Transport Settings (used when MCP_TRANSPORT=sse or MCP_TRANSPORT=http)

Host to bind the HTTP server (default: 127.0.0.1)

MCP_HTTP_HOST=127.0.0.1

Port to bind the HTTP server (default: 8000)

MCP_HTTP_PORT=8000

Optional bearer token for authentication (leave empty for no auth)

MCP_HTTP_BEARER_TOKEN=

Set NETBOX_TOKEN_PASSTHROUGH true to make every client authenticate with its own

NetBox API token (Authorization: Bearer ); NetBox then applies that user's

permissions. NETBOX_TOKEN is ignored. Cannot be combined with MCP_HTTP_BEARER_TOKEN

NETBOX_TOKEN_PASSTHROUGH=false

🧰 Available Tools

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.

Objects (read)
ToolDescription
netbox_list_object_typesList supported object types and their endpoints (core and discovered plugin types)
netbox_get_objectsList objects of a type with filters, fields, omit, brief, ordering, limit, offset
netbox_get_objectGet one object by ID
netbox_search_objectsFree-text search (q) across several object types at once
netbox_describe_object_typeWritable fields of a type: data type, required, choices
netbox_get_changelogsChange log entries, newest first
Specialised (read)
ToolDescription
netbox_get_statusNetBox version, plugins, workers, authenticated user and this server's modes
netbox_graphql_queryRead-only GraphQL query (mutations are rejected)
netbox_get_availableFree IPs / prefixes in a prefix or IP range, VLANs in a VLAN group, ASNs in an ASN range
netbox_trace_cableFull cable path from an interface, front/rear/console/power port or circuit termination
netbox_render_configRender a device's or VM's configuration from its config template
netbox_get_prefix_utilizationUtilization of up to 25 prefixes, computed as NetBox's UI does (child prefixes for containers, IPs and utilized ranges otherwise)
netbox_find_rack_spaceRacks 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_branchesList netbox-branching branches (only with NETBOX_BRANCHING_ENABLED=true)
Write
ToolDescription
netbox_create_objectCreate one object
netbox_update_objectPartially update one object (PATCH)
netbox_bulk_create_objectsCreate up to 500 objects in one transaction
netbox_bulk_update_objectsUpdate up to 500 objects in one transaction
netbox_allocate_availableAllocate the next free IP, prefix, VLAN or ASN
netbox_connect_cableCable ports together, given by ID or by device and port name; refuses ports that are already cabled
netbox_run_scriptRun a custom script and wait for its log and output; commit defaults to false (destructiveHint)
netbox_create_branchCreate a netbox-branching branch (only with NETBOX_BRANCHING_ENABLED=true)
netbox_delete_objectDelete one object (destructiveHint)
netbox_bulk_delete_objectsDelete up to 500 objects in one transaction (destructiveHint)
Tool Tags

Every tool is tagged netbox plus a group tag, which `DI

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기