Meraki Magic MCP - MCP Server sécurisé par ALMC Security 2025

Meraki Magic MCP

Voir sur GitHub

Meraki Magic MCP

Meraki Magic est un serveur MCP (Model Context Protocol) basé sur Python pour le Meraki Dashboard de Cisco. Meraki Magic fournit des outils pour interroger l'API de Meraki Dashboard afin de découvrir, surveiller et gérer votre environnement Meraki.

Caractéristiques

  • Gestion complète du réseau: Découverte, surveillance et gestion complètes du réseau
  • Gestion avancée des appareils: Approvisionnement des appareils, surveillance et outils en direct
  • Gestion des réseaux sans fil: Gestion complète des SSID sans fil et des profils RF
  • Gestion des commutateurs: Gestion des ports, configuration des réseaux locaux virtuels et règles de qualité de service
  • Gestion des appareils: VPN, pare-feu, filtrage de contenu et gestion de la sécurité
  • Gestion des caméras: Analyse, instantanés et configuration de la détection
  • Automatisation du réseau: Lots d'actions et opérations en masse
  • Outils de dispositifs en direct: Ping, test de câble, contrôle des LED et wake-on-LAN
  • Surveillance avancée: Événements, alertes et analyse des performances

Installation de la base de données

  1. Cloner le dépôt :
git clone https://github.com/mkutka/meraki-magic.git cd meraki-magic-mcp
  1. Créer un environnement virtuel et l'activer :
python -m venv .venv source .venv/bin/activate # Sous Windows : .venv\Scripts\activate
  1. Installer les dépendances :
pip install -r requirements.txt

Configuration de l'environnement

  1. Copiez le fichier d'environnement de l'exemple :
cp .env-example .env
  1. Mettre à jour le fichier .env avec la clé API Meraki et l'identifiant de l'organisation :
MERAKI_API_KEY="Clé API Meraki ici" MERAKI_ORG_ID="ID Org Meraki ici"

Utilisation avec le client Claude Desktop

  1. Configurer Claude Desktop pour utiliser ce serveur MCP :
  • Ouvrir Claude Desktop
  • Aller dans Paramètres > Développeur > Modifier la configuration
  • Ajouter le fichier de configuration suivant 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" ] } } }
  • Remplacez les chemins ci-dessus pour refléter votre environnement local.
  1. Redémarrer Claude Desktop

  2. Interagir avec Claude Desktop

Guide des outils réseau

Ce guide fournit une vue d'ensemble de tous les outils réseau disponibles dans le Meraki Magic MCP, organisés par catégorie et par fonctionnalité.

Table des matières

  1. Outils de gestion de l'organisation
  2. Outils de gestion du réseau
  3. Outils de gestion des périphériques
  4. Outils de gestion sans fil
  5. Outils de gestion des commutateurs
  6. Outils de gestion des appareils
  7. Outils de gestion de caméras
  8. Outils d'automatisation du réseau
  9. Outils de surveillance avancée
  10. Outils de gestion des appareils en direct

Outils de gestion de l'organisation

Opérations de base sur les organisations

  • get_organizations() - Permet d'obtenir la liste des organisations auxquelles l'utilisateur a accès
  • get_organization_details(org_id) - Permet d'obtenir les détails d'une organisation spécifique
  • get_organization_status(org_id) - Permet d'obtenir l'état et la santé d'une organisation
  • get_organization_inventory(org_id) - Permet d'obtenir l'inventaire d'une organisation
  • get_organization_license(org_id) - Permet d'obtenir l'état de la licence d'une organisation
  • get_organization_conf_change(org_id) - Permet d'obtenir l'état de changement d'une organisation

Gestion avancée des organisations

  • get_organization_admins(org_id) - Permet d'obtenir la liste des administrateurs d'une organisation
  • create_organization_admin(org_id, email, name, org_access, tags, networks) - Crée un nouvel administrateur d'organisation
  • get_organization_api_requests(org_id, timespan) - Obtient l'historique des requêtes API de l'organisation
  • get_organization_webhook_logs(org_id, timespan) - Récupère les journaux des webhooks de l'organisation

Gestion des réseaux

  • get_networks(org_id) - Obtient une liste de réseaux de Meraki
  • create_network(name, tags, productTypes, org_id, copyFromNetworkId) - Créer un nouveau réseau
  • delete_network(network_id) - Supprimer un réseau dans Meraki
  • get_network_details(network_id) - Obtenir les détails d'un réseau spécifique
  • update_network(network_id, update_data) - Mettre à jour les propriétés d'un réseau

Outils de gestion du réseau

Surveillance du réseau

  • get_network_events(network_id, timespan, per_page) - Obtenir l'historique des événements du réseau
  • get_network_event_types(network_id) - Obtient les types d'événements réseau disponibles
  • get_network_alerts_history(network_id, timespan) - Obtient l'historique des alertes réseau
  • get_network_alerts_settings(network_id) - Obtient les paramètres des alertes réseau
  • update_network_alerts_settings(network_id, defaultDestinations, alerts) - Met à jour les paramètres des alertes réseau

Gestion des clients

  • get_clients(network_id, timespan) - Obtenir la liste des clients d'un réseau
  • get_client_details(network_id, client_id) - Obtenir les détails d'un client spécifique
  • get_client_usage(network_id, client_id) - Permet d'obtenir l'historique d'utilisation d'un client
  • get_client_policy(network_id, client_id) - Permet d'obtenir la politique d'un client donné
  • update_client_policy(network_id, client_id, device_policy, group_policy_id) - Met à jour la politique d'un client

Trafic et analyse du réseau

  • get_network_traffic(network_id, timespan) - Obtenir des données d'analyse du trafic pour un réseau

Outils de gestion des appareils

Informations sur les périphériques

  • get_devices(org_id) - Obtenir une liste de périphériques de Meraki
  • get_network_devices(network_id) - Permet d'obtenir la liste des appareils d'un réseau spécifique
  • get_device_details(serial) - Obtenir les détails d'un périphérique spécifique par numéro de série
  • get_device_status(serial) - Permet d'obtenir l'état actuel d'un appareil
  • get_device_uplink(serial) - Obtenir l'état de la liaison montante d'un appareil

Opérations sur les appareils

  • update_device(serial, device_settings) - Met à jour un périphérique dans l'organisation Meraki
  • claim_devices(network_id, serials) - Réclamer un ou plusieurs dispositifs dans un réseau Meraki
  • remove_device(serial) - Supprimer un dispositif de son réseau
  • reboot_device(serial) - Redémarrer un dispositif

Surveillance des appareils

  • get_device_clients(serial, timespan) - Permet d'obtenir les clients connectés à un périphérique spécifique

Outils Live Device

Diagnostic réseau

  • ping_device(serial, target_ip, count) - Effectue un sondage ping d'un périphérique à partir d'un autre périphérique
  • get_device_ping_results(serial, ping_id) - Permet d'obtenir les résultats d'un test ping sur un périphérique
  • cable_test_device(serial, ports) - Exécute un test de câble sur les ports du périphérique
  • get_device_cable_test_results(serial, cable_test_id) - Obtenir les résultats d'un test de câble sur un périphérique

Contrôle des appareils

  • blink_device_leds(serial, duration) - Fait clignoter les LED du périphérique pour identification
  • wake_on_lan_device(serial, mac) - Envoi d'un paquet wake-on-LAN à un périphérique

Outils de gestion sans fil

Opérations sans fil de base

  • get_wireless_ssids(network_id) - Obtenir les SSID sans fil d'un réseau
  • update_wireless_ssid(network_id, ssid_number, ssid_settings) - Met à jour un SSID sans fil
  • get_wireless_settings(network_id) - Obtenir les paramètres sans fil d'un réseau

Gestion sans fil avancée

  • get_wireless_rf_profiles(network_id) - Obtenir les profils RF sans fil d'un réseau
  • create_wireless_rf_profile(network_id, name, band_selection_type, **kwargs) - Créer un profil RF sans fil
  • get_wireless_channel_utilization(network_id, timespan) - Obtenir l'historique de l'utilisation des canaux sans fil
  • get_wireless_signal_quality(network_id, timespan) - Obtient l'historique de la qualité du signal sans fil
  • get_wireless_connection_stats(network_id, timespan) - Obtenir les statistiques de connexion sans fil
  • get_wireless_client_connectivity_events(network_id, client_id, timespan) - Obtenir les événements de connectivité client sans fil

Outils de gestion des commutateurs

Opérations de base sur les commutateurs

  • get_switch_ports(serial) - Obtenir les ports d'un commutateur
  • update_switch_port(serial, port_id, name, tags, enabled, vlan) - Met à jour un port de commutateur
  • get_switch_vlans(network_id) - Obtenir les VLAN d'un réseau
  • create_switch_vlan(network_id, vlan_id, name, subnet, appliance_ip) - Créer un VLAN de commutateur

Gestion avancée des commutateurs

  • get_switch_port_statuses(serial) - Obtenir l'état des ports de commutation
  • cycle_switch_ports(serial, ports) - Cycle (redémarrage) des ports de commutation
  • get_switch_access_control_lists(network_id) - Obtenir les listes de contrôle d'accès de l'interrupteur
  • update_switch_access_control_lists(network_id, rules) - Met à jour les listes de contrôle d'accès du commutateur
  • get_switch_qos_rules(network_id) - Obtenir les règles de QoS du commutateur
  • create_switch_qos_rule(network_id, vlan, protocol, src_port, **kwargs) - Créer une règle de QoS de commutateur

Outils de gestion des équipements

Opérations de base sur les équipements

  • get_security_center(network_id) - Pour obtenir des informations sur la sécurité d'un réseau
  • get_vpn_status(network_id) - Obtenir le statut VPN d'un réseau
  • get_firewall_rules(network_id) - Obtenir les règles de pare-feu d'un réseau
  • update_firewall_rules(network_id, rules) - Met à jour les règles de pare-feu d'un réseau

Gestion avancée des appareils

  • get_appliance_vpn_site_to_site(network_id) - Obtenir la configuration VPN site à site de l'appliance
  • update_appliance_vpn_site_to_site(network_id, mode, hubs, subnets) - Met à jour la configuration de l'appliance VPN de site à site
  • get_appliance_content_filtering(network_id) - Obtenir les paramètres de filtrage de contenu de l'appliance
  • update_appliance_content_filtering(network_id, **kwargs) - Mise à jour des paramètres de filtrage de contenu de l'appliance
  • get_appliance_security_events(network_id, timespan) - Obtenir les événements de sécurité de l'appliance
  • get_appliance_traffic_shaping(network_id) - Obtenir les paramètres de mise en forme du trafic de l'appliance
  • update_appliance_traffic_shaping(network_id, global_bandwidth_limits) - Met à jour les paramètres de mise en forme du trafic de l'appliance

Outils de gestion des caméras

Opérations de base sur les caméras

  • get_camera_video_settings(network_id, serial) - Permet d'obtenir les paramètres vidéo d'une caméra
  • get_camera_quality_settings(network_id) - Permet d'obtenir les paramètres de qualité et de conservation des caméras

Gestion avancée des caméras

  • get_camera_analytics_live(serial) - Permet d'obtenir des données d'analyse en direct sur la caméra
  • get_camera_analytics_overview(serial, timespan) - Permet d'obtenir une vue d'ensemble des analyses de la caméra
  • get_camera_analytics_zones(serial) - Permet d'obtenir les zones d'analyse de la caméra
  • generate_camera_snapshot(serial, timestamp) - Génère un instantané de la caméra
  • get_camera_sense(serial) - Permet d'obtenir la configuration de la détection de la caméra
  • update_camera_sense(serial, sense_enabled, mqtt_broker_id, audio_detection) - Met à jour la configuration de la caméra

Outils d'automatisation du réseau

Lots d'actions

  • create_action_batch(org_id, actions, confirmed, synchronous) - Crée un lot d'actions pour les opérations de masse
  • get_action_batch_status(org_id, batch_id) - Obtenir l'état d'un lot d'actions
  • get_action_batches(org_id) - Pour obtenir tous les lots d'actions d'une organisation

Outils de surveillance avancés

Événements et alertes du réseau

  • get_network_events(network_id, timespan, per_page) - Obtenir l'historique des événements du réseau
  • get_network_event_types(network_id) - Permet d'obtenir les types d'événements réseau disponibles
  • get_network_alerts_history(network_id, timespan) - Obtient l'historique des alertes réseau
  • get_network_alerts_settings(network_id) - Obtient les paramètres des alertes réseau
  • update_network_alerts_settings(network_id, defaultDestinations, alerts) - Met à jour les paramètres des alertes réseau

Surveillance de l'organisation

  • get_organization_api_requests(org_id, timespan) - Obtenir l'historique des requêtes API de l'organisation
  • get_organization_webhook_logs(org_id, timespan) - Récupère les journaux des webhooks de l'organisation

Définitions des schémas

Le MCP comprend des schémas pydantiques complets pour la validation des données :

  • SsidUpdateSchema - Configuration du SSID sans fil
  • FirewallRule - Configuration des règles de pare-feu
  • DeviceUpdateSchema - Paramètres de mise à jour des appareils
  • NetworkUpdateSchema - Paramètres de mise à jour du réseau
  • AdminCreationSchema - Paramètres de création des administrateurs
  • ActionBatchSchema - Configuration des lots d'actions
  • VpnSiteToSiteSchema - Configuration VPN site à site
  • ContentFilteringSchema - Paramètres de filtrage de contenu
  • TrafficShapingSchema - Configuration de la mise en forme du trafic
  • CameraSenseSchema - Paramètres de détection de la caméra
  • SwitchQosRuleSchema - Configuration des règles de qualité de service des commutateurs

Meilleures pratiques

  1. Gestion des erreurs: Vérifiez toujours que les réponses de l'API ne contiennent pas d'erreurs
  2. Limitation du débit: L'API Meraki a des limites de débit ; utiliser les délais appropriés
  3. Opérations par lots: Utiliser des lots d'actions pour les opérations de masse
  4. Validation: Utiliser les schémas fournis pour la validation des données
  5. Surveillance: Vérifier régulièrement les événements et les alertes du réseau
  6. Sécurité: Assurer la sécurité des clés d'API et les remplacer régulièrement

Résolution des problèmes

Problèmes courants

  1. Erreurs d'authentification: Vérifiez que votre clé API est correcte et qu'elle dispose des autorisations appropriées
  2. Limitation du débit: Si vous rencontrez une limitation de débit, mettez en place des délais entre les requêtes
  3. Réseau non trouvé: Vérifiez que l'identifiant du réseau est correct et accessible
  4. Dispositif introuvable: Vérifiez que le numéro de série de l'appareil est correct et que l'appareil est en ligne

Informations de débogage

Activez la journalisation de débogage en définissant le niveau de journalisation approprié à votre environnement.


Ressources supplémentaires

Pour des informations plus détaillées sur les outils supplémentaires et les améliorations futures, voir la feuille de route des outils supplémentaires.


⚠️ Avis de non-responsabilité

IMPORTANT : CLAUSE DE NON-RESPONSABILITÉ POUR L'UTILISATION EN PRODUCTION

Ce logiciel est fourni "EN L'ÉTAT" sans garantie d'aucune sorte, qu'elle soit explicite ou implicite. Les auteurs et les contributeurs ne donnent aucune garantie quant à l'adéquation, la fiabilité, la disponibilité, l'exactitude ou l'exhaustivité de ce logiciel à quelque fin que ce soit.

UTILISATION À VOS PROPRES RISQUES: Ce serveur MCP est conçu à des fins de développement, de test et d'éducation. L'exécution de ce logiciel dans un environnement de production se fait entièrement à vos risques et périls. Les auteurs et les contributeurs ne sont pas responsables des dommages, pertes de données, interruptions de service ou autres problèmes pouvant résulter de l'utilisation de ce logiciel dans des environnements de production.

CONSIDÉRATIONS DE SÉCURITÉ: Ce logiciel nécessite l'accès à vos identifiants API Meraki. Veiller à ce que :

  • Les clés API sont stockées en toute sécurité et ne sont pas soumises à un contrôle de version
  • Les clés API disposent d'autorisations appropriées et font l'objet d'une rotation régulière
  • L'accès au réseau est correctement sécurisé
  • Des audits de sécurité sont effectués régulièrement

PAS DE GARANTIE: Les auteurs déclinent toute garantie, y compris, mais sans s'y limiter, les garanties de qualité marchande, d'adéquation à un usage particulier et d'absence de contrefaçon. Les auteurs ne peuvent en aucun cas être tenus responsables de toute réclamation, de tout dommage ou de toute autre responsabilité découlant de l'utilisation de ce logiciel.

SUPPORT: Il s'agit d'un projet à code source ouvert. Pour une utilisation en production, envisagez de mettre en œuvre des mécanismes supplémentaires de test, de surveillance et d'assistance adaptés à votre environnement.

Liés dans Service en nuage - MCP Servers sécurisés

ServeurRésuméActions
Serveur Microsoft Entra ID MCPCe projet fournit un serveur FastMCP modulaire et orienté ressources pour interagir avec l'API Micro...Voir
Mon PCMCet exemple vous permet de déployer un serveur MCP distant qui ne nécessite pas d'authentification s...Voir
Auth0 Serveur MCPVoir
KiotViet SDKAucune documentation n'est disponible.Voir
Reproduire le concepteurUn serveur MCP pour générer des images en utilisant le modèle Flux 1.1 Pro de Replicate.Voir
Observabilité du nuage Alibaba阿里云可观测 覆盖产品包含阿里云日志服务SLS、阿里云应用实时监控服务ARMS、阿里云云监控等D↩务,提供了一...Voir