薄雾MCP
用于Juniper Mist自动化的模型上下文协议(MCP)服务器。服务器公开了用于搜索设备、回答站点问题以及使用Mist API将特定端口配置文件应用于交换端口的工具。环境变量从 .env 文件,因此凭据不会存储在代码中。
快速开始
- 复制
.env.example到.env并填写您的Mist API值:
- MIST_API_TOKEN –个人访问令牌 - MIST_ORG_ID –要查询的组织ID - MIST_API_BASE_URL –Mist API基础URL(默认为公共云) - MIST_DEFAULT_SITE_ID –可选备用站点
- 安装依赖项:
pip install . - 运行MCP服务器模块(Python的
-m旗帜奔跑src/mist_mcp/server.py):python -m mist_mcp.server
与克劳德一起使用
要将此MCP服务器连接到Claude Desktop,请执行以下操作:
- 完成快速启动步骤并确保
.env包含您的Mist凭据。 - 打开Claude Desktop设置,添加指向此项目的新MCP服务器条目。JSON示例
claude_desktop_config.json:
{
"mcpServers": {
"mist-mcp": {
"command": "python",
"args": ["-m", "mist_mcp.server"],
"cwd": "/path/to/MistMCP",
"envFile": "/path/to/MistMCP/.env"
}
}
}- 保存配置并重新启动Claude Desktop以便加载
mist-mcp使用您的环境文件。
如何使用MCP服务器
连接后(例如通过Claude Desktop),您可以用自然语言提示MCP服务器。以下是网络工程师可能会使用的实用提示:
- 库存查询
- “查找具有IP的设备 10.10.5.12 并告诉我它的主机名和站点。" - “搜索MAC b8:27:eb:12:34:56 并包括序列号。" - “查找主机名 core-switch-3 在组织中显示模型。" - “使用IP查找客户端 10.0.0.150 告诉我它在哪个AP上。” - “谁在使用MAC aa:bb:cc:dd:ee:ff 他们现在在哪个网站?" - “查找名为的无线客户端 lab-laptop-01 并包括VLAN和AP细节。" - “今天有多少AP连接,有多少AP离线,还有多少AP有库存(从未连接)?按型号统计。”
- 网站洞察
- “列出德国和荷兰的所有网站。” - “现场有多少交换机和AP HQ-Berlin?" - “在过去30分钟内,哪些网站出现了警报或错误?”
- 变更管理(编写操作)
- “打开开关 00:11:22:33:44:55,应用端口配置文件 AP-Uplink 到端口 ge-0/0/5." - “对主机运行交换机电缆测试 192.0.2.10 设备上有4次ping 00000000-0000-0000-1000-5c5b350e0060." - “创建一个名为 Remote-Branch-42 国内代码 US 因为时区 America/New_York 和地址 123 Main St, Springfield." - “停止定位设备 ap-1 一旦现场技术人员发现了它。”
- 订阅
- 总结我们的订阅——总计、已使用、可用和下一次续订日期 - “列出每个订阅SKU的计数和使用情况。”
提示:要确定结果范围时,请包含站点ID或名称。除非明确指出(端口配置文件更新和站点创建),否则这些工具是只读的。
工具
- find_device –按IP、MAC或主机名搜索设备清单,并返回匹配的记录(可选范围为站点)。
- find_client –通过IP、MAC或主机名在有线和无线端点(可选范围为站点)上查找连接的或历史的客户端。
- list_网站 –列出带有ID的可用网站,可选择按国家代码过滤以缩小结果范围。
- 网站_按国家/地区 –按国家代码对站点进行分组,并返回后续呼叫的站点ID/名称。
- site_device_counts –总结特定站点的交换机、AP和其他设备类型的计数。
- 网站_有_最近_错误 –检索过去N分钟内一个或多个站点的警报,可用于最近的事件摘要。
- configure_switch_port_profile –将Mist端口使用配置文件应用于特定交换机端口(写入操作)。
- 开关电缆测试 –在交换机上运行电缆测试(TDR ping),并返回命令会话和websocket通道以获取流式结果。
- 创建_站点 –创建新的Mist站点(需要
name,country_code,timezone,以及address). - 订阅_摘要 –报告订阅总数、使用情况、下次续订日期和原始订阅详细信息。
- 库存_数据_摘要 –按型号报告总、连接、断开连接和库存设备计数,可选择按以下方式过滤
site_id和device_types(例如。,ap,switch). - 组织_设备_摘要 –使用Mist的设备摘要端点按类型返回组织范围内的设备计数。
- list_guest_authorities –列出客人授权记录,包括代码、到期时间和元数据。
- 列表_站点_网络 –列出为站点配置的派生网络(子网/VLAN)。
- ping_from_device –从设备运行ping,并为流式输出提供命令websocket通道。
- site_port_usages –从站点设置中获取导出的端口使用定义,以选择正确的交换机配置文件。
- 确认_所有警报 –确认(清除)现场的每个警报。
- 确认警报 –通过报警ID列表确认现场的特定报警。
- 确认警报 –通过报警ID确认现场的单个报警。
- 停止_站点_类别_设备 –关闭LED/端口闪烁指示灯,停止定位接入点或交换机。
提示
prompts/list 将显示您可以直接调用的已注册助手,而不是制作自定义请求:
- 库存_概述_赠品 –通话
inventory_status_summary.输入:可选site_id和device_types(列表如["ap", "switch"]). - device_lookup_prompt –通话
find_device.输入:identifier(IP、MAC或主机名)和可选site_id. - 客户端_lookup_prompt –通话
find_client.输入:identifier(IP、MAC或主机名)和可选site_id. - list_sites_prompt –通话
list_sites.输入:可选country_codes阵列(例如。,["DE", "NL"]). - 站点_按国家_提示 –通话
sites_by_country.输入:可选country_codes阵列(例如。,["US", "CA"]). - bounce_device_port_prompt –通话
bounce_device_port.输入:可选site_id,必填device_id以及端口列表(例如。,["ge-0/0/0"]). - 站点错误提示 –通话
sites_with_recent_errors.输入:minutes窗口加可选site_ids阵列或country_codes. - locate_device_prompt –通话
locate_device.输入:可选site_id并且是必需的device_id.
资源
resources/list 将显示您可以直接读取的已注册静态引用:
- resource://mist-glossary –Juniper Mist MCP规范实体、标识符、字段、端点提示和最佳实践术语表。
设计注意事项
- 请求通过一个处理身份验证和可选站点默认值的小型Mist客户端包装器进行路由。
- 写操作(如应用端口配置文件或创建站点)依赖于Mist REST API PUT/POST端点。
- 其他工具可以叠加到同一个工具上
FastMCP未来的服务器。
