S2 Netbox MCP server
io.github.J-MaFf/s2-netbox-mcp·v0.3.0MCP server for LenelS2 S2 NetBox access control via the NBAPI. Read-only by default.
0 stars78 downloads/wk
Reviews
Write oneNobody has reviewed S2 Netbox yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
S2 Netbox tools (1)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
check_connectionConfirms the server can authenticate to the configured S2 NetBox controller and returns the NBAPI version string (wraps GetAPIVersion). No parameters required.
Public scan report
scanner v0.1.10 · 2026-10-03 · same rubric, same numbers if you re-run it
- Code scan33 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 9 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How S2 Netbox compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 83/100
- higher than 65% of 48,255 servers
- Tools
- 1
- the typical server has 7
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 78
- more than 57% of 12,191 servers with a package
What its tools let an agent do: 1 read
Install S2 Netbox in Claude Code, Cursor or VS Code
Runs npx -y s2-netbox-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add s2-netbox-mcp -- npx -y s2-netbox-mcp
What the publisher says
From the S2 Netbox repository's README, as published. We do not edit it. Read it on GitHub
s2-netbox-mcp
A local MCP server that exposes LenelS2 S2 NetBox NBAPI operations — persons/credentials, access levels, portals/readers/outputs, time specs, holidays, portal/reader groups, threat levels, events/activity, and partitions/UDF lists — as MCP tools usable from any MCP-compatible client (Claude, Gemini/Antigravity, etc.).
Not the open-source netboxlabs.com "NetBox" DCIM/IPAM tool. This targets
LenelS2's S2 NetBox physical access-control appliance and its NBAPI
(Web-Based API for S2 NetBox and S2 Global, LenelS2 doc #API-UG-14).
Newer NBAPI v1 (doc #API-UG-22, April 2024) and v2 (doc #API2-UG-8,
April 2025) guides also exist — see docs/reference/
for reference copies. Both have now been diffed against this server's tool
surface command by command and parameter by parameter:
docs/reference/nbapi-command-diff.md
records the result, including which documented commands are deliberately
not implemented and why.
[!WARNING]
This connects to a real physical security system. With the wrong
configuration, an AI agent using this server could unlock doors or modify
access-control data on a live building. It is read-only by default —
writes and destructive operations (lock/unlock, add/modify/delete) each
require their own explicit opt-in environment variable (see **Write
access** below) — but you are responsible for what you enable and which
MCP client/model you point at it. See SECURITY.md before deploying
anything beyond read-only against a production controller.
Read-only by default. With no write-related environment variables set, this server registers only query/read NBAPI commands:
- Login
- Logout
- GetAPIVersion
- GetPerson
- SearchPersonData
- GetCardAccessDetails
- GetCardFormats
- GetAccessLevel(s)
- GetAccessLevelGroup(s)
- GetPortals
- GetReader(s)
- GetOutputs
By default, this server registers only the query/read commands listed above. It does not register any write, delete, or control operations against the controller until you explicitly opt in via the environment variables in Write access below. Among the read-only tools, four are composites, findportals, getunlockwindow, getdailyunlockwindow, and getreaderaccess_history, which issue only read commands. Note there is no GetPortal (singular) command; only GetPortals (plural, paginated, no single-portal filter) exists on the real NBAPI.
Requirements
NBAPI enabled and configured for session-login authentication (not MAC authentication — see the spec for why that's out of scope for v1)
- Node.js >= 18.17 (tested on Node 24)
- An S2 NetBox controller reachable from wherever this server runs, with the
resources you want to query
- A NetBox operator account with API access and read permission on the
Setup
Two ways to get the server:
Option A — npm (no clone needed):
npm install -g s2-netbox-mcpThis installs the s2-netbox-mcp binary; point your MCP client's command at s2-netbox-mcp directly (no node dist/index.js needed).
Option B — clone and build:
npm install
npm run buildEither way, copy .env.example to .env and fill in real values (or provide the same variables directly in your shell / in the Claude Code MCP server config's env block — see below). Never commit .env — it's already gitignored.
cp .env.example .env
# edit .envStart the server directly to sanity-check it boots (it just waits on stdio for an MCP client — Ctrl+C to stop; this also sends Logout if a session was opened):
npm startShortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
S2 Netbox: common questions
- Is S2 Netbox MCP server safe?
- Mostly: it is graded B (83/100). Read the S2 Netbox safety report
- How do I install S2 Netbox?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does S2 Netbox need an API key?
- Yes. The registry entry asks for
NETBOX_PASSWORD. - Is S2 Netbox maintained?
- The last commit was 42 days ago (2026-09-23). The latest release is v0.3.0.
- How does S2 Netbox compare with other MCP servers?
- safety score 83/100 (higher than 65% of 48,255 servers); tools 1 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.