プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、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の3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: 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がつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • 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

  • このカテゴリのほかの32706件のうち0%よりスターが多い
  • このカテゴリのほかの32706件のうち72%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの32706件のうち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, Kanal Varna — drains, leaks & plumbing (Varna, BG)

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

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

クラウドで動く★ 211一昨日更新
インストール

作者の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に聞く