Meraki Magic MCP - MCP Server Seguro por ALMC Security 2025

Meraki Magic MCP

Ver en GitHub

Meraki Magic MCP

Meraki Magic es un servidor MCP (Model Context Protocol) basado en Python para Meraki Dashboard de Cisco. Meraki Magic proporciona herramientas para consultar la API de Meraki Dashboard para descubrir, supervisar y gestionar su entorno Meraki.

Características

  • Gestión completa de la red: Detección, monitorización y gestión completa de la red
  • Gestión avanzada de dispositivos: Aprovisionamiento de dispositivos, monitorización y herramientas en vivo
  • Gestión inalámbrica: Gestión completa de perfiles RF y SSID inalámbricos
  • Gestión de conmutadores: Gestión de puertos, configuración de VLAN y reglas QoS
  • Gestión dedispositivos: VPN, cortafuegos, filtrado de contenidos y gestión de la seguridad
  • Gestión de cámaras: Análisis, instantáneas y configuración de sensores
  • Automatización de redes: Lotes de acciones y operaciones masivas
  • Herramientas de dispositivos en vivo: Ping, comprobación de cables, control de LED y wake-on-LAN
  • Supervisión avanzada: Eventos, alertas y análisis de rendimiento

Instalación

  1. Clona el repositorio:
git clone https://github.com/mkutka/meraki-magic.git cd meraki-magic-mcp
  1. Crea un entorno virtual y actívalo:
python -m venv .venv source .venv/bin/activate # En Windows: .venv\Scripts\activate
  1. Instalar dependencias:
pip install -r requisitos.txt

Configuración

  1. Copie el archivo de entorno de ejemplo:
cp .env-ejemplo .env
  1. Actualiza el archivo .env con tu Meraki API Key y Organization ID:
MERAKI_API_KEY="Clave API de Meraki aquí" MERAKI_ORG_ID="ID de organización de Meraki aquí"

Uso con el cliente Claude Desktop

  1. Configure Claude Desktop para utilizar este servidor MCP:
  • Abra Claude Desktop
  • Vaya a Configuración > Desarrollador > Editar configuración
  • Agregue el siguiente archivo de configuración claude_desktop_config.json
{ "mcpServers": { "Meraki_Magic_MCP": { "command": "/Users/mkutka/meraki-magic-mcp/.venv/bin/fastmcp", "args": [ "run", "/Users/mkutka/meraki-magic-mcp/meraki-mcp.py" ] } }
  • Reemplace las rutas anteriores para reflejar su entorno local.
  1. Reiniciar Claude Desktop

  2. Interactuar con Claude Desktop

Guía de herramientas de red

Esta guía proporciona una visión general de todas las herramientas de red disponibles en Meraki Magic MCP, organizadas por categoría y funcionalidad.

Tabla de Contenidos

  1. Herramientas de gestión de la organización
  2. Herramientas de gestión de red
  3. Herramientas de gestión de dispositivos
  4. Herramientas de gestión inalámbrica
  5. Herramientas de gestión de conmutadores
  6. Herramientas de gestión de dispositivos
  7. Herramientas de gestión de cámaras
  8. Herramientas de automatización de red
  9. Herramientas de supervisión avanzada
  10. Herramientas Live Device

Herramientas de gestión de la organización

Operaciones básicas de organización

  • get_organizations() - Obtener una lista de organizaciones a las que el usuario tiene acceso
  • get_organization_details(org_id) - Obtener detalles de una organización específica
  • get_organization_status(org_id) - Obtener el estado y la salud de una organización
  • get_organization_inventory(org_id) - Obtener el inventario de una organización
  • get_organization_license(org_id) - Obtener el estado de la licencia de una organización
  • get_organization_conf_change(org_id) - Obtener el estado de cambio de una organización

Gestión avanzada de organizaciones

  • get_organization_admins(org_id) - Obtener una lista de administradores de la organización
  • create_organization_admin(org_id, email, name, org_access, tags, networks) - Crear un nuevo administrador de organización
  • get_organization_api_requests(org_id, timespan) - Obtener el historial de peticiones a la API de la organización
  • get_organization_webhook_logs(org_id, timespan) - Obtener los registros de webhooks de la organización

Gestión de redes

  • get_networks(org_id) - Obtener una lista de redes de Meraki
  • create_network(name, tags, productTypes, org_id, copyFromNetworkId) - Crear una nueva red
  • delete_network(network_id) - Eliminar una red en Meraki
  • get_network_details(network_id) - Obtener detalles de una red específica
  • update_network(network_id, update_data) - Actualizar las propiedades de una red

Herramientas de gestión de red

Supervisión de redes

  • get_network_events(network_id, timespan, per_page) - Obtener el historial de eventos de red
  • get_network_event_types(network_id) - Obtener los tipos de eventos de red disponibles
  • get_network_alerts_history(network_id, timespan) - Obtener el historial de alertas de red
  • get_network_alerts_settings(network_id) - Obtener la configuración de alertas de red
  • update_network_alerts_settings(network_id, defaultDestinations, alerts) - Actualizar la configuración de alertas de red

Gestión de clientes

  • get_clients(network_id, timespan) - Obtener una lista de clientes de una red
  • get_client_details(network_id, client_id) - Obtener detalles de un cliente específico
  • get_client_usage(network_id, client_id) - Obtener el historial de uso de un cliente
  • get_client_policy(network_id, client_id) - Obtener la política de un cliente específico
  • update_client_policy(network_id, client_id, device_policy, group_policy_id) - Actualizar la política de un cliente

Análisis y tráfico de red

  • get_network_traffic(network_id, timespan) - Obtener datos de análisis de tráfico para una red

Herramientas de gestión de dispositivos

Información sobre dispositivos

  • get_devices(org_id) - Obtener una lista de dispositivos de Meraki
  • get_network_devices(network_id) - Obtener una lista de dispositivos en una red específica
  • get_device_details(serial) - Obtener detalles de un dispositivo específico por número de serie
  • get_device_status(serial) - Obtener el estado actual de un dispositivo
  • get_device_uplink(serial) - Obtener el estado de enlace ascendente de un dispositivo

Operaciones con dispositivos

  • update_device(serial, device_settings) - Actualizar un dispositivo en la organización Meraki
  • claim_devices(network_id, serials) - Reclamar uno o más dispositivos en una red Meraki
  • remove_device(serial) - Eliminar un dispositivo de su red
  • reboot_device(serial) - Reiniciar un dispositivo

Monitorización de dispositivos

  • get_device_clients(serial, timespan) - Obtener clientes conectados a un dispositivo específico

Herramientas de dispositivos en vivo

Diagnóstico de red

  • ping_device(serial, target_ip, count) - Hacer ping a un dispositivo desde otro dispositivo
  • get_device_ping_results(serial, ping_id) - Obtener los resultados de una prueba de ping a un dispositivo
  • cable_test_device(serial, ports) - Ejecutar una prueba de cable en los puertos del dispositivo
  • get_device_cable_test_results(serial, cable_test_id) - Obtener resultados de una prueba de cable del dispositivo

Control de dispositivos

  • blink_device_leds(serial, duration) - Parpadea los LEDs del dispositivo para su identificación
  • wake_on_lan_device(serial, mac) - Enviar un paquete wake-on-LAN a un dispositivo

Herramientas de gestión inalámbrica

Operaciones inalámbricas básicas

  • get_wireless_ssids(network_id) - Obtener los SSID inalámbricos de una red
  • update_wireless_ssid(network_id, ssid_number, ssid_settings) - Actualizar un SSID inalámbrico
  • get_wireless_settings(network_id) - Obtener la configuración inalámbrica de una red

Gestión inalámbrica avanzada

  • get_wireless_rf_profiles(network_id) - Obtener perfiles RF inalámbricos para una red
  • create_wireless_rf_profile(network_id, name, band_selection_type, **kwargs) - Crear un perfil RF inalámbrico
  • get_wireless_channel_utilization(network_id, timespan) - Obtener el historial de utilización de canales inalámbricos
  • get_wireless_signal_quality(network_id, timespan) - Obtener el historial de calidad de la señal inalámbrica
  • get_wireless_connection_stats(network_id, timespan) - Obtener estadísticas de conexión inalámbrica
  • get_wireless_client_connectivity_events(network_id, client_id, timespan) - Obtener eventos de conectividad de clientes inalámbricos

Herramientas de Gestión de Conmutadores

Operaciones básicas con conmutadores

  • get_switch_ports(serial) - Obtener puertos para un conmutador
  • update_switch_port(serial, port_id, name, tags, enabled, vlan) - Actualizar un puerto de conmutador
  • get_switch_vlans(network_id) - Obtener VLANs para una red
  • create_switch_vlan(network_id, vlan_id, name, subnet, appliance_ip) - Crear una VLAN de conmutador

Gestión avanzada de conmutadores

  • get_switch_port_statuses(serial) - Obtener el estado de los puertos del conmutador
  • cycle_switch_ports(serial, ports) - Ciclar (reiniciar) los puertos del conmutador
  • get_switch_access_control_lists(network_id) - Obtener las listas de control de acceso del conmutador
  • update_switch_access_control_lists(network_id, rules) - Actualizar las listas de control de acceso del conmutador
  • get_switch_qos_rules(network_id) - Obtener reglas QoS del conmutador
  • create_switch_qos_rule(network_id, vlan, protocol, src_port, **kwargs) - Crear una regla QoS de conmutación

Herramientas de gestión de dispositivos

Operaciones básicas con dispositivos

  • get_security_center(network_id) - Obtener información de seguridad de una red
  • get_vpn_status(network_id) - Obtener el estado VPN de una red
  • get_firewall_rules(network_id) - Obtener las reglas del cortafuegos de una red
  • update_firewall_rules(network_id, rules) - Actualizar las reglas del cortafuegos de una red

Gestión avanzada de dispositivos

  • get_appliance_vpn_site_to_site(network_id) - Obtener la configuración VPN sitio a sitio del dispositivo
  • update_appliance_vpn_site_to_site(network_id, mode, hubs, subnets) - Actualizar la configuración VPN de sitio a sitio del dispositivo
  • get_appliance_content_filtering(network_id) - Obtener la configuración de filtrado de contenidos del dispositivo
  • update_appliance_content_filtering(network_id, **kwargs) - Actualizar la configuración de filtrado de contenidos del dispositivo
  • get_appliance_security_events(network_id, timespan) - Obtener eventos de seguridad del dispositivo
  • get_appliance_traffic_shaping(network_id) - Obtener la configuración de modelado de tráfico del dispositivo
  • update_appliance_traffic_shaping(network_id, global_bandwidth_limits) - Actualizar la configuración de tráfico del dispositivo

Herramientas de gestión de cámaras

Operaciones básicas con cámaras

  • get_camera_video_settings(network_id, serial) - Obtener la configuración de vídeo de una cámara
  • get_camera_quality_settings(network_id) - Obtener los ajustes de calidad y retención de las cámaras

Gestión avanzada de cámaras

  • get_camera_analytics_live(serial) - Obtener análisis de cámara en directo
  • get_camera_analytics_overview(serial, timespan) - Obtener una visión general de los análisis de la cámara
  • get_camera_analytics_zones(serial) - Obtener zonas de análisis de cámara
  • generate_camera_snapshot(serial, timestamp) - Generar una instantánea de cámara
  • get_camera_sense(serial) - Obtener la configuración del sensor de la cámara
  • update_camera_sense(serial, sense_enabled, mqtt_broker_id, audio_detection) - Actualizar la configuración de la detección de cámara

Herramientas de automatización de red

Lotes de acciones

  • create_action_batch(org_id, actions, confirmed, synchronous) - Crear un lote de acciones para operaciones masivas
  • get_action_batch_status(org_id, batch_id) - Obtener el estado del lote de acciones
  • get_action_batches(org_id) - Obtener todos los lotes de acciones de una organización

Herramientas avanzadas de supervisión

Eventos y alertas de red

  • get_network_events(network_id, timespan, per_page) - Obtener el historial de eventos de red
  • get_network_event_types(network_id) - Obtener los tipos de eventos de red disponibles
  • get_network_alerts_history(network_id, timespan) - Obtener el historial de alertas de red
  • get_network_alerts_settings(network_id) - Obtener la configuración de alertas de red
  • update_network_alerts_settings(network_id, defaultDestinations, alerts) - Actualizar la configuración de alertas de red

Supervisión de organizaciones

  • get_organization_api_requests(org_id, timespan) - Obtener el historial de solicitudes de la API de la organización
  • get_organization_webhook_logs(org_id, timespan) - Obtener registros de webhooks de la organización

Definiciones de esquemas

El MCP incluye esquemas Pydantic completos para la validación de datos:

  • SsidUpdateSchema - Configuración inalámbrica SSID
  • FirewallRule - Configuración de reglas de cortafuegos
  • DeviceUpdateSchema - Parámetros de actualización de dispositivos
  • NetworkUpdateSchema - Parámetros de actualización de red
  • AdminCreationSchema - Parámetros de creación del administrador
  • ActionBatchSchema - Configuración de lotes de acciones
  • VpnSiteToSiteSchema - Configuración VPN de sitio a sitio
  • ContentFilteringSchema - Parámetros de filtrado de contenidos
  • TrafficShapingSchema - Configuración de Traffic shaping
  • CameraSenseSchema - Configuración de Camera sense
  • SwitchQosRuleSchema - Configuración de la regla QoS del conmutador

Prácticas recomendadas

  1. Gestión de errores: Compruebe siempre si hay errores en las respuestas de la API
  2. Limitación de velocidad: La API de Meraki tiene límites de velocidad; utilice retardos apropiados
  3. Operaciones por lotes: Utilice lotes de acciones para operaciones masivas
  4. Validación: Utilice los esquemas proporcionados para la validación de datos
  5. Supervisión: Compruebe periódicamente los eventos y alertas de la red
  6. Seguridad: Mantenga seguras las claves de la API y rótelas con regularidad

Solución de problemas

Problemas comunes

  1. Errores de autenticación: Compruebe que su clave API es correcta y tiene los permisos adecuados
  2. Limitación de velocidad: Si se encuentra con una limitación de velocidad, aplique retardos entre las solicitudes
  3. Red no encontrada: Asegúrese de que el ID de red es correcto y accesible
  4. Dispositivo no encontrado: Compruebe que el número de serie del dispositivo es correcto y que el dispositivo está en línea

Información de depuración

Active el registro de depuración estableciendo el nivel de registro adecuado en su entorno.


Recursos adicionales

Para obtener información más detallada sobre herramientas adicionales y futuras mejoras, consulte la hoja de ruta de herramientas adicionales.


⚠️ Descargo de responsabilidad

IMPORTANTE: DESCARGO DE RESPONSABILIDAD SOBRE EL USO EN PRODUCCIÓN

Este software se proporciona "TAL CUAL", sin garantía de ningún tipo, ni expresa ni implícita. Los autores y colaboradores no representan ni garantizan la idoneidad, fiabilidad, disponibilidad, exactitud o integridad de este software para ningún fin.

USO BAJO SU PROPIO RIESGO: Este servidor MCP está diseñado para desarrollo, pruebas y fines educativos. La ejecución de este software en entornos de producción se realiza bajo su propia responsabilidad. Los autores y colaboradores no se hacen responsables de ningún daño, pérdida de datos, interrupción del servicio u otros problemas que puedan surgir del uso de este software en entornos de producción.

CONSIDERACIONES DE SEGURIDAD: Este software requiere acceso a sus credenciales API de Meraki. Asegúrese de que:

  • Las claves de API se almacenan de forma segura y no están comprometidas con el control de versiones
  • Las claves API tienen los permisos adecuados y se rotan con regularidad
  • El acceso a la red está debidamente protegido
  • Se realicen auditorías de seguridad periódicas

SIN GARANTÍA: Los autores renuncian a todas las garantías, incluidas, entre otras, las garantías de comerciabilidad, idoneidad para un fin determinado y no infracción. En ningún caso los autores serán responsables de cualquier reclamación, daño u otra responsabilidad derivada del uso de este software.

SOPORTE: Este es un proyecto de código abierto. Para uso en producción, considere implementar mecanismos adicionales de prueba, monitorización y soporte adecuados para su entorno.

Relacionados en Servicio en la nube - MCP Servers Seguros

ServidorResumenAcciones
Servidor MCP de CloudflareNo hay documentación disponible.Ver
Servidor MCP de Microsoft Entra IDEste proyecto proporciona un servidor FastMCP modular y orientado a recursos para interactuar con Mi...Ver
Servidor MCP Wuying AgentBayEspañol | 中文Ver
Facturación del pádelPaddle Billing es el primer comerciante de registro para desarrolladores. Nos encargamos de los pago...Ver
Servidor MCP ForgeEste es un servidor de Protocolo de Contexto de Modelo (MCP) para la integración de Laravel Forge. P...Ver
Demostración de geolocalizaciónEste proyecto demuestra cómo utilizar las funciones de EdgeOne Pages para recuperar información de g...Ver