Meraki MCP
Meraki MCP是思科Meraki仪表板上基于Python的MCP(模型上下文协议)服务器。Meraki MCP提供用于查询Meraki Dashboard API的工具,以使用自然语言发现、监控和管理您的Meraki环境。这可以与各种思科解决方案结合使用,包括ThousandEyes和Splunk。
前任。 “获取我最近20次Splunk活动”→ “分析数据”→ “从我的 Meraki网络和告诉我可能的修复“
此工作流利用Splunk MCP,假设您已将Splunk与Meraki组织集成,它将遍历您的Splunk事件并搜索异常情况,如身份验证失败、VLAN错误、WiFi掉线等,然后查询您的Meraki网络以找到错误的根本原因并提出更改建议。您可以允许代理对您的网络本身进行补救,也可以要求指示手动配置它建议的更改。
这只是一个用例,如果你想测试其他用例,尽管问吧!
特性
- 综合网管:完整的网络发现、监控和管理
- 高级设备管理:设备配置、监控和实时工具
- 无线管理:完成无线SSID和RF配置文件管理
- 交换机管理:端口管理、VLAN配置和QoS规则
- 设备管理:VPN、防火墙、内容过滤和安全管理
- 摄像头管理:分析、快照和感知配置
- 网络自动化:批量操作和批量操作
- 实时设备工具:Ping、电缆测试、LED控制和局域网唤醒
- 高级监控:事件、警报和性能分析
安装
- 克隆存储库:
git clone https://github.com/JackRiebel/mcp-meraki.git
cd mcp-meraki- 创建虚拟环境并激活它:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt配置
- 复制示例环境文件:
cp .env-example .env- 更新
.env使用您的Meraki API密钥和组织ID提交文件:
MERAKI_API_KEY="Meraki API Key here"
MERAKI_ORG_ID="Meraki Org ID here"使用Claude桌面客户端
- 配置Claude Desktop以使用此MCP服务器:
- 打开克劳德桌面
- 前往“设置”>“开发人员”>“编辑配置”
- 添加以下配置文件
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"
]
}
}
}- 替换上面的路径以反映您的本地环境。
- 重新启动克劳德桌面
- 与克劳德桌面交互
网络工具指南
本指南按类别和功能对Meraki Magic MCP中可用的所有网络工具进行了全面概述。
目录
______________________________________________________________________
组织管理工具
基本组织操作
get_organizations()-获取用户有权访问的组织列表get_organization_details(org_id)-获取特定组织的详细信息get_organization_status(org_id)-获取组织的状态和健康状况get_organization_inventory(org_id)-获取组织的库存get_organization_license(org_id)-获取组织的许可证状态get_organization_conf_change(org_id)-获取组织的组织变更状态
高级组织管理
get_organization_admins(org_id)-获取组织管理员列表create_organization_admin(org_id, email, name, org_access, tags, networks)-创建新的组织管理员get_organization_api_requests(org_id, timespan)-获取组织API请求历史记录get_organization_webhook_logs(org_id, timespan)-获取组织webhook日志
网络管理
get_networks(org_id)-从Meraki获取网络列表create_network(name, tags, productTypes, org_id, copyFromNetworkId)-创建新网络delete_network(network_id)-在Meraki中删除网络get_network_details(network_id)-获取特定网络的详细信息update_network(network_id, update_data)-更新网络属性
______________________________________________________________________
网络管理工具
网络监控
get_network_events(network_id, timespan, per_page)-获取网络事件历史记录get_network_event_types(network_id)-获取可用的网络事件类型get_network_alerts_history(network_id, timespan)-获取网络警报历史记录get_network_alerts_settings(network_id)-获取网络警报设置update_network_alerts_settings(network_id, defaultDestinations, alerts)-更新网络警报设置
客户管理
get_clients(network_id, timespan)-从网络获取客户端列表get_client_details(network_id, client_id)-获取特定客户的详细信息get_client_usage(network_id, client_id)-获取客户端的使用历史记录get_client_policy(network_id, client_id)-获取特定客户的策略update_client_policy(network_id, client_id, device_policy, group_policy_id)-更新客户端策略
网络流量与分析
get_network_traffic(network_id, timespan)-获取网络的流量分析数据
______________________________________________________________________
设备管理工具
设备信息
get_devices(org_id)-从Meraki获取设备列表get_network_devices(network_id)-获取特定网络中的设备列表get_device_details(serial)-按序列号获取特定设备的详细信息get_device_status(serial)-获取设备的当前状态get_device_uplink(serial)-获取设备的上行链路状态
设备操作
update_device(serial, device_settings)-更新Meraki组织中的设备claim_devices(network_id, serials)-将一个或多个设备加入Meraki网络remove_device(serial)-从网络中删除设备reboot_device(serial)-重新启动设备
设备监控
get_device_clients(serial, timespan)-使客户端连接到特定设备
______________________________________________________________________
实时设备工具
网络诊断
ping_device(serial, target_ip, count)-从其他设备Ping设备get_device_ping_results(serial, ping_id)-获取设备ping测试的结果cable_test_device(serial, ports)-在设备端口上运行电缆测试get_device_cable_test_results(serial, cable_test_id)-获取设备电缆测试结果
设备控制
blink_device_leds(serial, duration)-闪烁设备LED以进行识别wake_on_lan_device(serial, mac)-向设备发送LAN唤醒数据包
______________________________________________________________________
无线管理工具
基本无线操作
get_wireless_ssids(network_id)-获取网络的无线SSIDupdate_wireless_ssid(network_id, ssid_number, ssid_settings)-更新无线SSIDget_wireless_settings(network_id)-获取网络的无线设置
高级无线管理
get_wireless_rf_profiles(network_id)-获取网络的无线射频配置文件- `create_wireless_rf_profile(network_id, name, band_selection_type, kwargs)`** -创建无线射频配置文件
get_wireless_channel_utilization(network_id, timespan)-获取无线信道使用历史记录get_wireless_signal_quality(network_id, timespan)-获取无线信号质量历史记录get_wireless_connection_stats(network_id, timespan)-获取无线连接统计信息get_wireless_client_connectivity_events(network_id, client_id, timespan)-获取无线客户端连接事件
______________________________________________________________________
交换机管理工具
基本开关操作
get_switch_ports(serial)-获取交换机的端口update_switch_port(serial, port_id, name, tags, enabled, vlan)-更新交换机端口get_switch_vlans(network_id)-获取网络的VLANcreate_switch_vlan(network_id, vlan_id, name, subnet, appliance_ip)-创建交换机VLAN
高级交换机管理
get_switch_port_statuses(serial)-获取交换机端口状态cycle_switch_ports(serial, ports)-循环(重新启动)交换机端口get_switch_access_control_lists(network_id)-获取交换机访问控制列表update_switch_access_control_lists(network_id, rules)-更新交换机访问控制列表get_switch_qos_rules(network_id)-获取交换机QoS规则- `create_switch_qos_rule(network_id, vlan, protocol, src_port, kwargs)`** -创建交换机QoS规则
______________________________________________________________________
设备管理工具
基本设备操作
get_security_center(network_id)-获取网络的安全信息get_vpn_status(network_id)-获取网络的VPN状态get_firewall_rules(network_id)-获取网络的防火墙规则update_firewall_rules(network_id, rules)-更新网络的防火墙规则
高级设备管理
get_appliance_vpn_site_to_site(network_id)-获取设备VPN站点到站点配置update_appliance_vpn_site_to_site(network_id, mode, hubs, subnets)-更新设备VPN站点到站点配置get_appliance_content_filtering(network_id)-获取设备内容过滤设置- `update_appliance_content_filtering(network_id, kwargs)`** -更新设备内容过滤设置
get_appliance_security_events(network_id, timespan)-获取设备安全事件get_appliance_traffic_shaping(network_id)-获取设备流量整形设置update_appliance_traffic_shaping(network_id, global_bandwidth_limits)-更新设备流量整形设置
______________________________________________________________________
相机管理工具
基本相机操作
get_camera_video_settings(network_id, serial)-获取相机的视频设置get_camera_quality_settings(network_id)-获取相机的质量和保留设置
高级相机管理
get_camera_analytics_live(serial)-获取实时摄像头分析get_camera_analytics_overview(serial, timespan)-获取相机分析概述get_camera_analytics_zones(serial)-获取摄像头分析区域generate_camera_snapshot(serial, timestamp)-生成相机快照get_camera_sense(serial)-获取摄像头感应配置update_camera_sense(serial, sense_enabled, mqtt_broker_id, audio_detection)-更新摄像头感应配置
______________________________________________________________________
网络自动化工具
动作批次
create_action_batch(org_id, actions, confirmed, synchronous)-为批量操作创建操作批get_action_batch_status(org_id, batch_id)-获取操作批处理状态get_action_batches(org_id)-获取组织的所有操作批次
______________________________________________________________________
高级监控工具
网络事件和警报
get_network_events(network_id, timespan, per_page)-获取网络事件历史记录get_network_event_types(network_id)-获取可用的网络事件类型get_network_alerts_history(network_id, timespan)-获取网络警报历史记录get_network_alerts_settings(network_id)-获取网络警报设置update_network_alerts_settings(network_id, defaultDestinations, alerts)-更新网络警报设置
组织监控
get_organization_api_requests(org_id, timespan)-获取组织API请求历史记录get_organization_webhook_logs(org_id, timespan)-获取组织webhook日志
______________________________________________________________________
模式定义
MCP包括用于数据验证的全面Pydantic模式:
SsidUpdateSchema-无线SSID配置FirewallRule-防火墙规则配置DeviceUpdateSchema-设备更新参数NetworkUpdateSchema-网络更新参数AdminCreationSchema-管理员创建参数ActionBatchSchema-动作批配置VpnSiteToSiteSchema-VPN站点到站点配置ContentFilteringSchema-内容过滤设置TrafficShapingSchema-流量整形配置CameraSenseSchema-摄像头感应设置SwitchQosRuleSchema-切换QoS规则配置
______________________________________________________________________
最佳实践
- 错误处理:始终检查API响应中的错误
- 速率限制:梅拉基API有费率限制;使用适当的延迟
- 批量操作:使用动作批进行批量操作
- 验证:使用提供的模式进行数据验证
- 监控:定期检查网络事件和警报
- 安全:确保API密钥安全并定期轮换
______________________________________________________________________
故障排除
常见问题
- 身份验证错误:验证您的API密钥是否正确并具有适当的权限
- 速率限制:如果遇到速率限制,请在请求之间实施延迟
- 未找到网络:确保网络ID正确且可访问
- 未找到设备:验证设备序列号是否正确,设备是否在线
调试信息
通过在您的环境中设置适当的日志级别来启用调试日志记录。
______________________________________________________________________
其他资源
有关其他工具和未来增强功能的更多详细信息,请参阅 附加工具路线图.
______________________________________________________________________
⚠️ 免责声明
重要:生产使用免责声明
本软件按“原样”提供,不提供任何形式的明示或暗示担保。作者和贡献者对本软件的适用性、可靠性、可用性、准确性或完整性不作任何陈述或保证。
使用风险自负:此MCP服务器专为开发、测试和教育目的而设计。在生产环境中运行此软件完全由您自行承担风险。作者和贡献者不对在生产环境中使用此软件可能导致的任何损坏、数据丢失、服务中断或其他问题负责。
安全考虑:此软件需要访问您的Meraki API凭据。确保:
- API密钥存储安全,不受版本控制
- API密钥具有适当的权限,并定期轮换
- 网络访问得到适当保护
- 定期进行安全审计
无担保:作者否认所有保证,包括但不限于适销性、特定用途适用性和不侵权的保证。在任何情况下,作者均不对因使用本软件而引起的任何索赔、损害或其他责任负责。
支持:这是一个开源项目。对于生产使用,考虑实施适合您环境的其他测试、监控和支持机制。
