Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NETBOX_URLYesBase URL of your NetBox, e.g. https://netbox.corp.com. Omit /api.
NETBOX_TOKENYesNetBox API token.
NETBOX_INSECURENoSet to '1', 'true', or 'yes' to skip TLS certificate verification.false
NETBOX_READONLYNoSet to '1', 'true', or 'yes' to register only read-only tools.false
NETBOX_TOOL_GROUPSNoComma-separated allowlist of tool groups (e.g., search,dcim,ipam).all

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
netbox_global_searchA

Fuzzy search across sites, racks, devices, interfaces, prefixes, IPs, VLANs, and VRFs in one call.

Use when the user gives a name, hostname, partial identifier, VLAN name, description keyword, etc. and you don't know which object type they mean. Dispatches the query to every supported resource in parallel and aggregates the top hits.

Args:

  • query (string, required) The text to search for.

  • limit_per_resource (number) Max hits per resource (default 5).

  • resources (string[]) Restrict to a subset of resource labels.

  • response_format ('markdown' | 'json')

Returns: Aggregated results keyed by resource with per-resource totals. Follow up with netbox_get_ to retrieve a specific hit.

netbox_list_sitesA

List physical sites (datacenters, offices, POPs) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first sites.

  • Lookup by id: use netbox_get_site instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name: Exact site name.

  • slug: Exact site slug.

  • status: Site status.

  • region_id: Filter by numeric region id.

  • group_id: Filter by numeric site group id.

  • tenant_id: Filter by numeric tenant id.

  • asn: Filter by legacy ASN number.

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_siteA

Get a single site from NetBox by numeric id.

Use after netbox_list_sites has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_siteA

Create a new site in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_siteA

Update an existing site in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_locationsA

List locations within a site (rooms, floors, cages) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first locations.

  • Lookup by id: use netbox_get_location instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name: Exact name.

  • slug: Exact slug.

  • site_id: Numeric site id.

  • parent_id: Parent location id (for nested locations).

  • status: Location status.

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_locationA

Get a single location from NetBox by numeric id.

Use after netbox_list_locations has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_locationA

Create a new location in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_locationB

Update an existing location in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_racksA

List equipment racks from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first racks.

  • Lookup by id: use netbox_get_rack instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name: Exact rack name.

  • site_id: Site id.

  • location_id: Location id.

  • status: Rack status.

  • role_id: Rack role id.

  • tenant_id: Tenant id.

  • serial: Exact serial number.

  • asset_tag: Exact asset tag.

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_rackA

Get a single rack from NetBox by numeric id.

Use after netbox_list_racks has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_rackA

Create a new rack in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_rackA

Update an existing rack in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_manufacturersA

List hardware manufacturers from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first manufacturers.

  • Lookup by id: use netbox_get_manufacturer instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name: Exact name.

  • slug: Exact slug.

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_manufacturerA

Get a single manufacturer from NetBox by numeric id.

Use after netbox_list_manufacturers has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_manufacturerA

Create a new manufacturer in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_manufacturerA

Update an existing manufacturer in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_device_typesA

List device models (combinations of manufacturer + model) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first device_types.

  • Lookup by id: use netbox_get_device_type instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • model: Exact model name.

  • slug: Exact slug.

  • manufacturer_id: Manufacturer id.

  • part_number: Manufacturer part number.

  • u_height: Exact height in rack units.

  • is_full_depth: Only full-depth (true) or half-depth (false).

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_device_typeA

Get a single device_type from NetBox by numeric id.

Use after netbox_list_device_types has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_device_typeA

Create a new device_type in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_device_typeA

Update an existing device_type in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_device_rolesA

List device roles (core-switch, leaf, hypervisor, etc.) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first device_roles.

  • Lookup by id: use netbox_get_device_role instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name: Exact name.

  • slug: Exact slug.

  • vm_role: Whether this role applies to VMs.

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_device_roleA

Get a single device_role from NetBox by numeric id.

Use after netbox_list_device_roles has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_device_roleA

Create a new device_role in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_device_roleA

Update an existing device_role in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_platformsA

List OS platforms (e.g. EOS, NX-OS, Junos) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first platforms.

  • Lookup by id: use netbox_get_platform instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name: Exact name.

  • slug: Exact slug.

  • manufacturer_id: Restrict to one manufacturer.

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_platformA

Get a single platform from NetBox by numeric id.

Use after netbox_list_platforms has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_platformA

Create a new platform in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_platformA

Update an existing platform in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_devicesA

List physical devices (switches, routers, servers, firewalls, etc.) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first devices.

  • Lookup by id: use netbox_get_device instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name: Exact device name (case-insensitive).

  • name__ic: Device name contains (case-insensitive).

  • serial: Exact serial number.

  • asset_tag: Exact asset tag.

  • site_id:

  • location_id:

  • rack_id:

  • role_id:

  • manufacturer_id:

  • device_type_id:

  • platform_id:

  • tenant_id:

  • status:

  • mac_address: Filter by any interface MAC (lowercase colon form).

  • has_primary_ip:

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_deviceA

Get a single device from NetBox by numeric id.

Use after netbox_list_devices has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_deviceA

Create a new device in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_deviceA

Update an existing device in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_interfacesA

List device interfaces (physical, virtual, LAG) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first interfaces.

  • Lookup by id: use netbox_get_interface instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • device_id: Numeric device id.

  • device: Device name.

  • name: Exact interface name.

  • name__ic: Interface name contains (case-insensitive).

  • type: Interface type slug, e.g. '1000base-t', '10gbase-x-sfpp', 'virtual', 'lag'.

  • enabled:

  • mgmt_only:

  • mac_address: Exact MAC (lowercase colon form).

  • mode: 802.1Q mode.

  • vlan_id: Tagged/untagged VLAN id match.

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_interfaceA

Get a single interface from NetBox by numeric id.

Use after netbox_list_interfaces has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_interfaceB

Create a new interface in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_interfaceB

Update an existing interface in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_cablesA

List cables connecting two endpoints from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first cables.

  • Lookup by id: use netbox_get_cable instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • status:

  • type: Cable type slug (e.g. 'cat6', 'smf', 'mmf-om4').

  • label:

  • color: Hex color without the #.

  • length:

  • length_unit:

  • tenant_id:

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_cableA

Get a single cable from NetBox by numeric id.

Use after netbox_list_cables has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_cableA

Create a new cable in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_cableA

Update an existing cable in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_prefixesA

List IP prefixes (subnets) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first prefixes.

  • Lookup by id: use netbox_get_prefix instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • prefix: Exact CIDR match, e.g. '10.0.0.0/24'.

  • within: Return prefixes strictly contained within this CIDR (e.g. '10.0.0.0/8').

  • within_include: Like 'within' but also includes the parent prefix.

  • contains: Return prefixes that contain this CIDR or IP.

  • family: 4 or 6.

  • status:

  • role_id:

  • site_id:

  • vrf_id: Numeric VRF id; 'null' also matches global.

  • tenant_id:

  • mask_length: Exact prefix length.

  • is_pool:

  • mark_utilized:

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_prefixA

Get a single prefix from NetBox by numeric id.

Use after netbox_list_prefixes has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_prefixB

Create a new prefix in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_prefixA

Update an existing prefix in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_ip_addressesA

List individual IP addresses from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first ip_addresses.

  • Lookup by id: use netbox_get_ip_address instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • address: Exact address with mask, e.g. '10.0.0.5/32'.

  • parent: Return addresses within this CIDR, e.g. '10.0.0.0/24'.

  • family:

  • status:

  • role:

  • dns_name:

  • vrf_id:

  • tenant_id:

  • assigned_to_interface:

  • interface_id: Restrict to one device interface.

  • vminterface_id: Restrict to one VM interface.

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_ip_addressA

Get a single ip_address from NetBox by numeric id.

Use after netbox_list_ip_addresses has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_ip_addressB

Create a new ip_address in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_ip_addressA

Update an existing ip_address in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_vlansA

List layer-2 VLANs from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first vlans.

  • Lookup by id: use netbox_get_vlan instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • vid: Exact VLAN id (1-4094).

  • name:

  • name__ic: Name contains (case-insensitive).

  • status:

  • site_id:

  • group_id: VLAN group id.

  • role_id:

  • tenant_id:

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_vlanA

Get a single vlan from NetBox by numeric id.

Use after netbox_list_vlans has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_vlanA

Create a new vlan in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_vlanA

Update an existing vlan in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_vlan_groupsA

List groupings of VLANs (enforce vid uniqueness within a scope) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first vlan_groups.

  • Lookup by id: use netbox_get_vlan_group instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name:

  • slug:

  • scope_type: e.g. 'dcim.site', 'dcim.location', 'virtualization.cluster'.

  • scope_id:

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_vlan_groupA

Get a single vlan_group from NetBox by numeric id.

Use after netbox_list_vlan_groups has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_vlan_groupA

Create a new vlan_group in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_vlan_groupA

Update an existing vlan_group in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_vrfsA

List VRFs (routing tables) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first vrfs.

  • Lookup by id: use netbox_get_vrf instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name:

  • rd: Route distinguisher.

  • enforce_unique:

  • tenant_id:

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_vrfA

Get a single vrf from NetBox by numeric id.

Use after netbox_list_vrfs has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_vrfB

Create a new vrf in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_vrfA

Update an existing vrf in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_aggregatesA

List aggregate prefixes from RIRs from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first aggregates.

  • Lookup by id: use netbox_get_aggregate instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • prefix:

  • family:

  • rir_id: RIR id (e.g. ARIN, RIPE).

  • tenant_id:

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_aggregateA

Get a single aggregate from NetBox by numeric id.

Use after netbox_list_aggregates has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_aggregateB

Create a new aggregate in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_aggregateA

Update an existing aggregate in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_ip_rangesA

List IP ranges (start/end address pairs) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first ip_ranges.

  • Lookup by id: use netbox_get_ip_range instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • start_address:

  • end_address:

  • family:

  • vrf_id:

  • tenant_id:

  • status:

  • role_id:

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_ip_rangeA

Get a single ip_range from NetBox by numeric id.

Use after netbox_list_ip_ranges has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_ip_rangeA

Create a new ip_range in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_ip_rangeA

Update an existing ip_range in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_rolesA

List IPAM role taxonomy (applied to prefixes/VLANs/IP ranges) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first roles.

  • Lookup by id: use netbox_get_role instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name:

  • slug:

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_roleA

Get a single role from NetBox by numeric id.

Use after netbox_list_roles has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_roleA

Create a new role in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_roleA

Update an existing role in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_assetsA

List hardware inventory assets (netbox-inventory plugin) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first assets.

  • Lookup by id: use netbox_get_asset instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name: Exact asset name.

  • name__ic: Asset name contains (case-insensitive).

  • serial: Exact serial number.

  • asset_tag: Exact asset tag.

  • status: Asset lifecycle status. Defaults in netbox-inventory are 'stored', 'used', 'retired' (your instance may define custom statuses).

  • kind: Hardware kind: 'device', 'module', 'inventoryitem', or 'rack'.

  • manufacturer_id: Filter by manufacturer id.

  • tenant_id: Filter by using-tenant id.

  • owning_tenant_id: Filter by owning-tenant (owner) id.

  • role_id: Filter by asset role id.

  • supplier_id: Filter by supplier id.

  • purchase_id: Filter by purchase id.

  • delivery_id: Filter by delivery id.

  • storage_location_id: Filter by storage location (dcim location) id.

  • inventoryitem_group_id: Filter by inventory item group id.

  • inventoryitem_type_id: Filter by inventory item type id.

  • device_id: Asset assigned to this device id.

  • module_id: Asset assigned to this module id.

  • rack_id: Asset assigned to this rack id.

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_assetA

Get a single asset from NetBox by numeric id.

Use after netbox_list_assets has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_assetA

Create a new asset in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Every asset needs exactly ONE hardware type set: device_type, module_type, inventoryitem_type, or rack_type.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_assetA

Update an existing asset in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_suppliersA

List asset suppliers / vendors (netbox-inventory plugin) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first suppliers.

  • Lookup by id: use netbox_get_supplier instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name: Exact supplier name.

  • slug: Exact supplier slug.

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_supplierA

Get a single supplier from NetBox by numeric id.

Use after netbox_list_suppliers has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_supplierA

Create a new supplier in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_supplierA

Update an existing supplier in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_purchasesA

List purchases of assets from a supplier (netbox-inventory plugin) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first purchases.

  • Lookup by id: use netbox_get_purchase instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name: Exact purchase name.

  • status: Purchase status: 'open', 'partial', or 'closed'.

  • supplier_id: Filter by supplier id.

  • date: Purchase date (ISO-8601, YYYY-MM-DD).

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_purchaseA

Get a single purchase from NetBox by numeric id.

Use after netbox_list_purchases has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_purchaseA

Create a new purchase in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_purchaseA

Update an existing purchase in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_deliveriesA

List deliveries of purchased assets (netbox-inventory plugin) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first deliveries.

  • Lookup by id: use netbox_get_delivery instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name: Exact delivery name.

  • purchase_id: Filter by purchase id.

  • supplier_id: Filter by supplier id.

  • date: Delivery date (ISO-8601, YYYY-MM-DD).

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_deliveryA

Get a single delivery from NetBox by numeric id.

Use after netbox_list_deliveries has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_deliveryB

Create a new delivery in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_deliveryA

Update an existing delivery in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_asset_rolesA

List asset roles (netbox-inventory plugin) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first asset_roles.

  • Lookup by id: use netbox_get_asset_role instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name: Exact role name.

  • slug: Exact role slug.

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_asset_roleA

Get a single asset_role from NetBox by numeric id.

Use after netbox_list_asset_roles has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_asset_roleA

Create a new asset_role in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_asset_roleA

Update an existing asset_role in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_inventory_item_typesA

List inventory item types / catalog models (netbox-inventory plugin) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first inventory_item_types.

  • Lookup by id: use netbox_get_inventory_item_type instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • model: Exact model name.

  • slug: Exact slug.

  • part_number: Manufacturer part number.

  • manufacturer_id: Filter by manufacturer id.

  • inventoryitem_group_id: Filter by inventory item group id.

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_inventory_item_typeA

Get a single inventory_item_type from NetBox by numeric id.

Use after netbox_list_inventory_item_types has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_inventory_item_typeB

Create a new inventory_item_type in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

netbox_update_inventory_item_typeA

Update an existing inventory_item_type in NetBox (PATCH semantics — only provided fields are changed).

Supply the numeric 'id' and only the fields you want to change. Omitting a field leaves it unchanged.

Returns: Markdown summary of the updated object (default) or JSON with the full NetBox response.

netbox_list_inventory_item_groupsA

List inventory item groups (netbox-inventory plugin) from NetBox.

Supports pagination and filtering. Common patterns:

  • Discovery: call with no filters to browse the first inventory_item_groups.

  • Lookup by id: use netbox_get_inventory_item_group instead when you already have an id.

  • Narrow scan: combine 'q' (fuzzy text) with resource-specific filters below.

Pagination:

  • 'limit' (max 1000, default 50) and 'offset'. Response includes 'has_more' and 'next_offset'.

  • Large list responses auto-truncate to keep under the character limit; keep calling with next_offset to continue.

Resource-specific filters:

  • name: Exact group name.

  • parent_id: Parent group id (for nested groups).

Universal filters:

  • q (string) Fuzzy text search across searchable fields.

  • tag (string[]) AND-filter by tag slugs.

  • created_after (date) ISO-8601 lower bound on 'created'.

  • created_before (date) ISO-8601 upper bound on 'created'.

Returns: Markdown summary (default) or JSON with shape: { total, count, offset, limit, items: [...], has_more, next_offset? }

netbox_get_inventory_item_groupA

Get a single inventory_item_group from NetBox by numeric id.

Use after netbox_list_inventory_item_groups has located the object, or when you already have the id.

Returns: Markdown detail (default) or JSON with the full NetBox object including nested references.

netbox_create_inventory_item_groupB

Create a new inventory_item_group in NetBox.

This adds a new row to NetBox. Ask before calling if the user wanted a dry-run.

Returns: Markdown summary of the newly created object (default) or JSON with the full NetBox response.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ZenixSolutions/netbox-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server