Nautobot MCP
Esta aplicación de Nautobot integra el servidor MCP (Protocolo de contexto de modelo) con Nautobot, proporcionando herramientas e interfaces listas para IA para la automatización y gestión de la red.
Descripción general
Nautobot MCP permite que los asistentes o aplicaciones de IA interactúen con los datos de su red mediante un protocolo estandarizado. La aplicación ejecuta un servidor MCP junto con Nautobot, que expone herramientas que pueden ser utilizadas por los sistemas de IA.
https://modelcontextprotocol.io/introduction
Related MCP server: MCP Calculator
Demostración usando Librechat: conectado a Nautobot MCP
https://github.com/user-attachments/assets/283d68c2-d35f-4506-b909-45c1850e7281
Instalación
1. Instalar el paquete
pip install nautobot-mcp2. Agregue INSTALLED_APPS en su configuración de Nautobot
# In your nautobot_config.py
PLUGINS = [
"nautobot_mcp",
# ... other plugins
]3. Configuración
Configura la aplicación a través del sistema de configuración de Nautobot:
# In your nautobot_config.py
PLUGINS_CONFIG = {
"nautobot_mcp": {
"MCP_PORT": 8005, # MCP server port
"MCP_HOST": "0.0.0.0", # Default is 0.0.0.0
"MCP_CUSTOM_TOOLS_DIR": "/path/to/your/custom/tools", # Directory for custom tools
"MCP_LOAD_CORE_TOOLS": False, # Load built-in tools
},
}4. Ejecute nautobot después de la actualización
nautobot-server post_upgradeHerramientas personalizadas
Puede crear sus propias herramientas personalizadas definiendo funciones de Python en el directorio especificado en MCP_CUSTOM_TOOLS_DIR .
Ejemplo de herramienta personalizada:
# In /path/to/your/custom/tools/my_tools.py
def some_tool(param1: str, param2: str) -> dict:
"""Some tool description"""
# Your implementation here
return {"result": f"Tool result for {param1} and {param2}"}El servidor MCP descubrirá y registrará automáticamente todas las herramientas basadas en funciones en el directorio especificado.
Opciones de implementación
Método 1: Inicio manual
Puede iniciar el servidor MCP manualmente:
nautobot-server start_mcp_serverMétodo 2: Servicio Systemd (recomendado para producción)
Cree un archivo de servicio systemd en /etc/systemd/system/nautobot-mcp.service :
[Unit]
Description=Nautobot MCP Server
After=network-online.target
Wants=network-online.target
[Service]
User=nautobot
Group=nautobot
WorkingDirectory=/opt/nautobot
ExecStart=/opt/nautobot/venv/bin/nautobot-server start_mcp_server
Restart=on-failure
RestartSec=30
PrivateTmp=true
[Install]
WantedBy=multi-user.targetLuego habilite e inicie el servicio:
sudo systemctl daemon-reload
sudo systemctl enable --now nautobot-mcp.serviceVisualización de herramientas disponibles
Puede ver todas las herramientas registradas en la interfaz web de Nautobot en:
https://your-nautobot-server/plugins/nautobot-mcp/tools/Esta página muestra todas las herramientas disponibles, sus descripciones, rutas de módulos y especificaciones de parámetros.
HACER
[ ] Agregue una forma de enrutar la ejecución de la herramienta a un trabajador Nautobot específico.
[ ] Mejora la vista de herramientas en la interfaz web de Nautobot para mostrar estadísticas de uso de herramientas.
[ ] Cree un contenedor Docker para ejecutar el servidor MCP.
[ ] Agregar pruebas.
Licencia
Este proyecto está licenciado bajo la Licencia Apache 2.0: consulte el archivo de LICENCIA para obtener más detalles.