feat(netbox): add module-based tool filtering for token optimization
Reduces NetBox MCP context token consumption from ~19,810 tokens (182 tools) to ~4,500 tokens (~43 tools) by enabling environment-variable-driven module filtering. Key changes: - Add NETBOX_ENABLED_MODULES env var to config.py - Filter tool registration based on enabled modules in server.py - Conditional tool class instantiation for memory efficiency - Routing guard with clear error messages for disabled modules - Startup logging shows enabled modules and tool count Also fixes documentation referencing incorrect tool names: - virtualization_* → virt_* in cmdb-assistant docs - wireless_* → wlan_* in README - circuits_list_circuit_terminations → circ_list_terminations Recommended config for cmdb-assistant users: NETBOX_ENABLED_MODULES=dcim,ipam,virtualization,extras Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -32,9 +32,9 @@ The following NetBox MCP tools are available for infrastructure management:
|
||||
- `ipam_list_available_ips`, `ipam_create_available_ip` - IP allocation
|
||||
|
||||
**Virtualization:**
|
||||
- `virtualization_list_virtual_machines`, `virtualization_create_virtual_machine` - VM management
|
||||
- `virtualization_list_clusters`, `virtualization_create_cluster` - Cluster management
|
||||
- `virtualization_list_vm_interfaces` - VM interface management
|
||||
- `virt_list_vms`, `virt_create_vm`, `virt_update_vm`, `virt_delete_vm` - VM management
|
||||
- `virt_list_clusters`, `virt_create_cluster`, `virt_update_cluster`, `virt_delete_cluster` - Cluster management
|
||||
- `virt_list_vm_ifaces`, `virt_create_vm_iface` - VM interface management
|
||||
|
||||
**Circuits:**
|
||||
- `circuits_list_circuits`, `circuits_create_circuit` - Circuit management
|
||||
|
||||
@@ -31,7 +31,7 @@ When the user provides a search query, determine the best approach:
|
||||
3. **Site search**: Use `dcim_list_sites` with name filter
|
||||
4. **Prefix search**: Use `ipam_list_prefixes` with prefix or within filter
|
||||
5. **VLAN search**: Use `ipam_list_vlans` with vid or name filter
|
||||
6. **VM search**: Use `virtualization_list_virtual_machines` with name filter
|
||||
6. **VM search**: Use `virt_list_vms` with name filter
|
||||
|
||||
For broad searches, query multiple endpoints and consolidate results.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user