Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
NETBOX_URL | Yes | The URL of your NetBox instance | |
NETBOX_TOKEN | Yes | Your NetBox API token |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
No prompts |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
No resources |
Tools
Functions exposed to the LLM to take actions
Name | Description |
---|---|
netbox_get_objects | Get objects from NetBox based on their type and filters Args: object_type: String representing the NetBox object type (e.g. "devices", "ip-addresses") filters: dict of filters to apply to the API call based on the NetBox API filtering options Valid object_type values: DCIM (Device and Infrastructure):
IPAM (IP Address Management):
Circuits:
Virtualization:
Tenancy:
VPN:
Wireless:
See NetBox API documentation for filtering options for each object type. |
netbox_get_object_by_id | Get detailed information about a specific NetBox object by its ID. Args: object_type: String representing the NetBox object type (e.g. "devices", "ip-addresses") object_id: The numeric ID of the object Returns: Complete object details |
netbox_get_changelogs | Get object change records (changelogs) from NetBox based on filters. Args: filters: dict of filters to apply to the API call based on the NetBox API filtering options Returns: List of changelog objects matching the specified filters Filtering options include:
Example: To find all changes made to a specific device with ID 123: {"changed_object_type_id": "dcim.device", "changed_object_id": 123} To find all deletions in the last 24 hours: {"action": "delete", "time_after": "2023-01-01T00:00:00Z"} Each changelog entry contains:
|
netbox_create_object | Create a new object in NetBox. Args: object_type: String representing the NetBox object type (e.g. "devices", "ip-addresses") data: Dict containing the object data to create Returns: The created object as a dict Example: To create a new site: netbox_create_object("sites", { "name": "New Site", "slug": "new-site", "status": "active" }) To create a new device: netbox_create_object("devices", { "name": "new-device", "device_type": 1, # ID of device type "site": 1, # ID of site "role": 1, # ID of device role "status": "active" }) |
netbox_update_object | Update an existing object in NetBox. Args: object_type: String representing the NetBox object type (e.g. "devices", "ip-addresses") object_id: The numeric ID of the object to update data: Dict containing the object data to update (only changed fields needed) Returns: The updated object as a dict Example: To update a site's description: netbox_update_object("sites", 1, {"description": "Updated description"}) To change a device's status: netbox_update_object("devices", 5, {"status": "offline"}) |
netbox_delete_object | Delete an object from NetBox. Args: object_type: String representing the NetBox object type (e.g. "devices", "ip-addresses") object_id: The numeric ID of the object to delete Returns: True if deletion was successful WARNING: This permanently deletes the object and cannot be undone! Example: To delete a device: netbox_delete_object("devices", 5) To delete an IP address: netbox_delete_object("ip-addresses", 123) |
netbox_bulk_create_objects | Create multiple objects in NetBox in a single request. Args: object_type: String representing the NetBox object type (e.g. "devices", "ip-addresses") data: List of dicts containing the object data to create Returns: List of created objects Example: To create multiple sites: netbox_bulk_create_objects("sites", [ {"name": "Site A", "slug": "site-a", "status": "active"}, {"name": "Site B", "slug": "site-b", "status": "active"} ]) |
netbox_bulk_update_objects | Update multiple objects in NetBox in a single request. Args: object_type: String representing the NetBox object type (e.g. "devices", "ip-addresses") data: List of dicts containing the object data to update (must include "id" field) Returns: List of updated objects Example: To update multiple devices: netbox_bulk_update_objects("devices", [ {"id": 1, "status": "offline"}, {"id": 2, "status": "maintenance"} ]) |
netbox_bulk_delete_objects | Delete multiple objects from NetBox in a single request. Args:
object_type: String representing the NetBox object type (e.g. "devices", "ip-addresses") Returns: Success status WARNING: This permanently deletes the objects and cannot be undone! Example: To delete multiple devices: netbox_bulk_delete_objects("devices", [5, 6, 7]) |