NetBox MCP Server
Connects to PostgreSQL databases for state confidence queries and data reliability scoring using a muse certainty schema
Integrates with HashiCorp Vault for secure token management using AppRole authentication and just-in-time token minting
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NetBox MCP Serverlist all devices in the datacenter"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π NetBox MCP Server v1.0
A robust and well-engineered Python MCP (Model Context Protocol) server for NetBox infrastructure access, designed for teaching newer programmers and production use.
π― Features
Core Functionality
NetBox API Integration - Full access to devices, VMs, IP addresses, and VLANs
HashiCorp Vault Integration - JIT token minting with AppRole authentication
PostgreSQL State Confidence - Query module referencing muse certainty schema
MCP Tools - Comprehensive toolset for infrastructure management
Advanced Capabilities
Tiny LLM Testing - Simulated LLM for CI/CD environments
Structured JSON Protocol - Clear communication between components
Performance Optimizations - Connection pooling, caching, retry strategies
LLM Optimization - Token estimation, response formatting, streaming
π§ͺ Test Suite
100% Test Success Rate - 129 passed, 1 skipped, 0 failed
Test Coverage
β Core MCP Server functionality
β Tiny LLM implementation
β Structured JSON protocol
β End-to-end workflows
β Performance optimizations
β Tool functionality (hosts, VMs, IPs, VLANs)
β Error handling and edge cases
π Quick Start
Prerequisites
Python 3.12+
NetBox instance
HashiCorp Vault
PostgreSQL database
Installation
# Clone the repository
git clone https://github.com/fringemonkey/mcp-dc.git
cd mcp-dc
# Install dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt
# Run tests
python -m pytest tests/ -vConfiguration
Set up environment variables:
export NETBOX_URL="http://your-netbox-instance"
export VAULT_ADDR="http://your-vault-instance"
export VAULT_TOKEN="your-vault-token"
export POSTGRES_HOST="localhost"
export POSTGRES_DB="mcp_state"
export POSTGRES_USER="mcp_user"
export POSTGRES_PASSWORD="mcp_password"π οΈ Development
Running Tests
# Run all tests
python -m pytest tests/ -v
# Run specific test categories
python -m pytest tests/ -m unit
python -m pytest tests/ -m integration
python -m pytest tests/ -m performance
# Run with coverage
python -m pytest tests/ --cov=src --cov-report=htmlCode Quality
# Format code
black src/ tests/
isort src/ tests/
# Lint code
flake8 src/ tests/
mypy src/
# Security check
bandit -r src/
safety checkπ Project Structure
mcp-dc/
βββ src/ # Source code
β βββ server.py # Main MCP server
β βββ netbox_client.py # NetBox API client
β βββ vault_client.py # Vault authentication
β βββ state_confidence.py # PostgreSQL client
β βββ tiny_llm.py # Tiny LLM for testing
β βββ structured_protocol.py # JSON protocol
β βββ llm_optimizer.py # LLM optimizations
β βββ tools/ # MCP tools
β βββ hosts.py
β βββ virtual_machines.py
β βββ ip_addresses.py
β βββ vlans.py
βββ tests/ # Test suite
β βββ test_core_functionality.py
β βββ test_simple_tools.py
β βββ test_tiny_llm.py
β βββ test_structured_protocol.py
β βββ test_llm_optimization.py
β βββ test_simple_performance.py
βββ examples/ # Example scripts
βββ scripts/ # Utility scripts
βββ .github/workflows/ # CI/CD pipelines
βββ .devcontainer/ # Development containerπ§ MCP Tools
Host Management
list_hosts- List all devicesget_host- Get specific device detailssearch_hosts- Search devices by criteria
Virtual Machine Management
list_vms- List all VMsget_vm- Get specific VM detailslist_vm_interfaces- List VM interfaces
IP Address Management
list_ips- List all IP addressesget_ip- Get specific IP detailssearch_ips- Search IP addresses
VLAN Management
list_vlans- List all VLANsget_vlan- Get specific VLAN detailslist_vlan_ips- List IPs in VLAN
π Educational Value
This project is designed to teach:
MCP Protocol - Model Context Protocol implementation
API Integration - NetBox, Vault, PostgreSQL integration
Testing Strategies - Unit, integration, performance testing
Code Quality - Linting, formatting, security practices
CI/CD - GitHub Actions, automated testing
Documentation - Comprehensive README and code comments
π Performance
Connection Pooling - Efficient HTTP connections
Caching - TTL-based response caching
Retry Strategies - Exponential backoff for failures
Memory Efficiency - Optimized data structures
Concurrent Operations - Async/await patterns
π Security
Vault Integration - Secure token management
Input Validation - Parameter sanitization
Error Handling - Secure error responses
Security Scanning - Bandit and Safety checks
π Monitoring
Metrics Collection - Performance and usage metrics
Logging - Structured logging with levels
Health Checks - Service availability monitoring
State Confidence - Data reliability scoring
π€ Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests for new functionality
Ensure all tests pass
Submit a pull request
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Acknowledgments
NetBox team for the excellent infrastructure management platform
HashiCorp for Vault security solutions
PostgreSQL community for the robust database
MCP protocol contributors
Ready for production deployment! π
Version 1.0 - Zero test failures, comprehensive functionality, production-ready
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/fringemonkey/mcp-dc'
If you have feedback or need assistance with the MCP directory API, please join our Discord server