NetBox MCP server
NetBox in any MCP client, through Memtro: NetBox does not publish this server. Memtro's NetBox connector reads NetBox through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
NetBox network source of truth, self-hosted or NetBox Cloud: devices, virtual machines, sites, IP addresses, prefixes, VLANs and journal entries. Can add, edit and delete journal entries, create devices, virtual machines, sites, IP addresses, prefixes, VLANs, interfaces, IP ranges, tenants, racks, VRFs and contacts, allocate the next free IP or prefix, assign an IP to an interface, change a device or an object's status, description, comments, DNS name or tenant, and delete devices, sites, virtual machines, IP addresses, prefixes and VLANs.
Reads
netbox_list_devicesNetBox devices: name, status, role, type, platform, site, location, rack and position, primary IP, serial, asset tag, tenant, tags…netbox_list_virtual_machinesNetBox virtual machines: name, status, role, cluster, site, platform, vCPUs, memory and disk (both in MB on current NetBox), primary IP…netbox_list_sitesNetBox sites: name, slug, status, region, group, tenant, facility, time zone and counts of devices, racks and prefixes.netbox_list_ip_addressesNetBox IP addresses: address with mask, status, role, DNS name, VRF, tenant, and the device or VM interface it is assigned to.netbox_list_prefixesNetBox IP prefixes: prefix, status, role, scope (site), VLAN, VRF, tenant and whether a pool.netbox_list_vlansNetBox VLANs: VLAN id, name, status, role, site, group and tenant.netbox_list_journal_entriesNetBox journal entries (notes people wrote on objects), newest first: the object, kind (info, success, warning, danger), when, who and the text.netbox_list_device_typesNetBox device types (the id netbox_create_device takes): model, manufacturer, slug, height in U and how many devices use it.netbox_list_device_rolesNetBox device roles (the role id netbox_create_device and netbox_create_virtual_machine take): name, slug and counts.netbox_list_clustersNetBox virtualization clusters (the cluster id a virtual machine takes): name, type, group, status, scope, tenant and counts.netbox_list_tenantsNetBox tenants (the tenant id the create and update actions take): name, slug, group and description.netbox_list_interfacesNetBox device interfaces (the interface id netbox_assign_ip_to_interface takes): name, device, type, enabled, management-only, mode and description.netbox_list_racksNetBox racks (the rack id a device takes): name, site, location, status, role, height in U and tenant.netbox_list_vrfsNetBox VRFs (the vrf id IP addresses, prefixes and ranges take): name, route distinguisher, tenant and whether it enforces unique space.
Acts, when you ask
These change something in NetBox. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
netbox_add_journal_entryAdds a journal entry (a note, Markdown allowed) to a NetBox object, as the token's user.netbox_update_journal_entryEdits a NetBox journal entry, REPLACING its text (the old text is overwritten) and/or changing its kind.netbox_delete_journal_entryDESTRUCTIVE, deletes a NetBox journal entry.netbox_create_ip_addressRecords a new IP address in NetBox (an inventory record only: nothing is configured on any device).netbox_create_prefixRecords a new IP prefix in NetBox (an inventory record only).netbox_update_objectChanges fields of a NetBox device, site, virtual machine, IP address, prefix or VLAN, REPLACING the current values of the fields given: status…netbox_create_deviceRecords a new device in NetBox (an inventory record only: nothing is provisioned or configured).netbox_update_deviceChanges a NetBox device's name, serial, asset tag, role, site, location, rack, position, face, platform, tenant, primary IPv4 or IPv6 address…netbox_create_virtual_machineRecords a new virtual machine in NetBox (an inventory record only: nothing is started or provisioned).netbox_create_siteRecords a new site in NetBox: a name and URL slug, and optionally a status, region, site group, tenant, facility, time zone…netbox_allocate_next_ipReserves the next free IP address inside a NetBox prefix (by prefix id) and records it, with a status, DNS name, description and tenant if given…netbox_allocate_next_prefixCarves the next free child prefix of a given length out of a NetBox parent prefix (by its id) and records it, with a status, site scope, VLAN…netbox_assign_ip_to_interfaceAttaches an existing NetBox IP address (by id) to a device interface or a virtual machine interface (by interface id, from netbox_list_interfaces)…netbox_create_vlanRecords a new VLAN in NetBox: a VLAN id (1 to 4094) and name, and optionally a site, VLAN group, tenant, status, role, description and comments.netbox_create_interfaceRecords a new interface on a NetBox device: the device id, a name and an interface type slug (e.g. 1000base-t, 10gbase-x-sfpp, virtual, lag)…netbox_create_ip_rangeRecords a new IP range in NetBox from a start and end address (each with its mask, e.g. 10.0.0.100/24 to 10.0.0.199/24), and optionally a VRF…netbox_create_tenantRecords a new tenant in NetBox: a name and URL slug, and optionally a tenant group, description and comments.netbox_create_rackRecords a new rack at a NetBox site: a name and site id, and optionally a location, tenant, status, role id, height in U, rail width in inches…netbox_create_vrfRecords a new VRF in NetBox: a name, and optionally a route distinguisher, tenant, whether it enforces unique IP space, description and comments.netbox_create_contactRecords a new contact in NetBox (a person or team to call about sites, devices or circuits): a name, and optionally a title, phone, email, address…netbox_delete_objectDESTRUCTIVE, deletes a NetBox device, site, virtual machine, IP address, prefix or VLAN.
Connect it
First connect NetBox on Dashboard → Connections, then add Memtro to your client once. The NetBox tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared NetBox connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › Which IP addresses are free in the 10.20.0.0/24 prefix?
- › Which devices are in the London site, and which rack is each in?
- › What notes have people written on core-sw-01 this month?
- › Add a journal note to core-sw-01 saying the fan tray was replaced today
- › Reserve the next free address in the office prefix for the new printer
Questions
- Is this an official NetBox MCP server?
- No. It is Memtro's MCP server with Memtro's NetBox connector behind it: the connector reads NetBox through its API with the credentials you connect on Dashboard → Connections, and NetBox publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in NetBox?
- Only when you ask, and only what it has been granted: add a journal entry (a note) to a device, site, virtual machine, IP address, prefix or VLAN; edit a journal entry's text or kind; delete a journal entry; create an IP address; create a prefix; change an object's status, description, comments, DNS name or tenant; delete a device, site, virtual machine, IP address, prefix or VLAN; create a device record; change a device's name, serial, asset tag, role, site, rack, platform, tenant or primary IP; create a virtual machine record; create a site; reserve the next free IP address in a prefix; carve the next free child prefix out of a prefix; assign an IP address to a device or VM interface, or unassign it; create a VLAN; create an interface on a device; create an IP range; create a tenant; create a rack; create a VRF; create a contact. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.