An intelligent agent for populating a NetBox server with data from various sources using MCP (Model Context Protocol) servers. This agent automates the discovery and population of network infrastructure data into NetBox from multiple sources including Home Assistant, network devices, and file systems.
- 🌐 NetBox Integration - Automated population of NetBox with infrastructure data
- 🤖 MCP Server Integration - Leverages multiple MCP servers for data collection
- 🏠 Home Assistant Integration - Discovers and imports IoT devices and network entities
- 📡 Network Discovery - Scans and imports network infrastructure components
- 🔄 Automated Synchronization - Scheduled updates and data synchronization
- 📊 Monitoring & Logging - Comprehensive monitoring of agent operations
-
Clone the repository:
git clone https://github.com/festion/netbox-agent.git cd netbox-agent -
Initialize the project:
./scripts/setup.sh
-
Configure the agent by editing
config/netbox-agent.json:{ "netbox": { "url": "https://netbox.example.com", "token": "your-netbox-api-token" }, "sources": { "homeassistant": true, "network_scan": true, "filesystem": true } } -
Run the agent:
python src/netbox_agent.py
- Home Assistant - IoT devices, sensors, switches, and network entities
- Network Scanning - Automated discovery of network devices and infrastructure
- File System - Configuration files and device inventories
- Proxmox - Virtual machines and container information
- TrueNAS - Storage systems and network shares
This agent leverages multiple MCP servers for data collection and automation:
- Filesystem - Configuration file parsing and device inventory access
- GitHub - Repository management and configuration version control
- Home Assistant - IoT device discovery and entity data extraction
- Network FS - Access to network shares and storage systems
- Directory Polling - Real-time monitoring of configuration changes
- Proxmox - VM and container inventory management
- TrueNAS - Storage system and network share management
See docs/MCP_CONFIGURATION.md for detailed configuration.
- Setup Guide - Detailed setup instructions
- Customization Guide - How to customize the template
- MCP Configuration - MCP server setup and usage
- Troubleshooting - Common issues and solutions
Check the /examples directory for:
- Basic project setup
- Advanced customization examples
- Integration patterns
scripts/setup.sh- Initialize new project from templatescripts/validate-config.sh- Validate project configurationscripts/update-template.sh- Update template to latest version
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
MIT License - see LICENSE for details.
- 📖 Check the documentation
- 🐛 Report issues on GitHub Issues
- 💬 Join discussions in GitHub Discussions