Simon-Ensp-Mcp-Pro
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ensp_scan_devicesC | 扫描 eNSP 设备的 Telnet 端口(默认 2000-2100)。 返回 |
| ensp_connect_deviceA | 建立到指定 eNSP 设备的 Telnet 会话。
|
| ensp_list_sessionsB | 列出当前所有活跃会话的快照。 |
| ensp_disconnect_deviceC | 关闭一个会话并释放其 Telnet 连接。 |
| ensp_close_all_sessionsB | 关闭所有会话。 |
| ensp_cleanup_idle_sessionsC | 清理闲置超过 |
| ensp_enter_system_viewC | 把指定会话切换到 |
| ensp_send_commandB | 下发单条命令,返回命令输出、耗时与命令层报错标记。
|
| ensp_send_commandsA | 批量下发命令,每条命令返回独立的 :class:
|
| ensp_save_configC | 触发 |
| ensp_get_recent_outputC | 获取指定会话输出缓冲中最近 |
| ensp_clear_output_bufferC | 清空指定会话的输出缓冲。 |
| ensp_get_device_infoA | 获取设备元信息(hostname、型号、版本、uptime)。
|
| ensp_get_running_configA | 获取设备当前运行配置( 这是配置前必须做的探查步骤。eNSP 不同镜像 / VRP 版本支持的命令集并不一致,
直接套用记忆中的命令很可能报错(
|
| ensp_verify_interfacesC | 在指定会话上执行 |
| ensp_verify_routesC | 执行 |
| ensp_verify_ospfB | 执行 |
| ensp_verify_vlanC | 执行 |
| ensp_enable_lldpA | 在指定设备上开启 LLDP(用于让设备广播 / 接收邻居信息)。 LLDP(Link Layer Discovery Protocol)是华为 eNSP 设备默认支持的链路层发现协议,
设备互相通告自己的接口和系统名。开启后即可用 工作流程:
参数:
返回每步的执行结果(命令 / elapsed / output / errored),失败时停止并标记。 |
| ensp_verify_lldp_neighborsA | 采集指定设备的 LLDP 邻居信息(真实物理连接)。 与
自动使能 LLDP(默认开启):
把 输出格式:
典型用法:
核心实现见 :func: |
| ensp_cross_validate_topologyA | 把 这是「拓扑纠错」的核心入口—— 工作流程:
参数:
典型使用场景:
|
| ensp_pingB | 在指定会话上执行 |
| ensp_diagnose_errorA | 对一条命令错误进行智能诊断,返回根因分析与修复建议。 参数:
返回:
使用场景:
当 |
| ensp_diagnose_batchB | 对批量命令结果( 返回每个失败命令的诊断结果,并汇总修复建议。 |
| ensp_gather_diagnostic_contextA | 当命令执行失败时,自动收集设备全貌供 LLM 深度推理。 与
本工具会自动执行以下探查命令(无需手动调用):
返回的 典型使用场景:
|
| ensp_health_checkB | 对设备进行全面健康检查,自动诊断异常。 检查项:
返回结构化诊断报告,包含每个检查项的 |
| ensp_smart_configA | 智能配置下发:逐条下发命令,遇到错误时自动诊断并提供修复建议。 与
参数:
|
| ensp_apply_experimentA | 一站式下发实验配置:按设备规划的命令序列逐台下发 + 校验 + 报告。 参数:
工作流:
|
| ensp_parse_topologyC | 解析本地 |
| ensp_parse_topology_b64A | 解析 base64 编码的 输入是标准 base64 字符串。返回与 |
| ensp_load_topologyA | 加载 典型工作流:
返回 JSON + Markdown 报告( |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| configure_vlan | VLAN 配置提示:在交换机上创建 VLAN 并配置接入端口。 参数: - ``vlan_id``:VLAN 号 - ``name``:VLAN 名称(可选) - ``ports``:要加入该 VLAN 的接入端口,逗号分隔,例如 ``"GE0/0/1,GE0/0/2"`` |
| configure_ospf | OSPF 配置提示:在指定路由器上启用 OSPF 进程并宣告网段。 参数: - ``process_id``:OSPF 进程号 - ``router_id``:Router-ID,例如 ``1.1.1.1`` - ``networks``:要宣告的网段列表(CIDR),例如 ``"10.0.12.0/30,192.168.1.0/24"`` - ``area``:区域号,默认 0 |
| configure_static_route | 静态路由配置提示:在指定设备上配置一条 IPv4 静态路由。 也可用于默认路由:``destination="0.0.0.0"``、``mask="0.0.0.0"``。 |
| configure_acl | ACL 配置提示:基本 / 高级 ACL,绑定到接口或全局。 参数: - ``acl_number``:2000=基本 3000=高级 4000=二层 - ``rule_lines``:rule 子句,多条用 ``\n`` 分隔,例如 ``"rule 5 permit source 192.168.1.0 0.0.0.255"`` - ``interface_apply``:要绑定的接口名(如 ``GE0/0/0``),留空表示不绑定 - ``traffic_filter``:``inbound`` 或 ``outbound`` |
| configure_nat | NAT 配置提示:Easy IP / 动态 NAT / 静态 NAT Server。 参数: - ``nat_mode``:``"easy-ip"`` / ``"dynamic"`` / ``"static"`` - ``inside_interfaces``:内网接口列表,逗号分隔(动态 / Easy IP 适用) - ``outside_interface``:公网出口接口 - ``static_mappings``:静态映射,格式 ``"公网IP|私网IP,公网IP|私网IP"`` - ``acl_number``:用于匹配内网流量的 ACL |
| configure_stp | STP / RSTP / MSTP 配置提示。 参数: - ``mode``:``"stp"`` / ``"rstp"`` / ``"mstp"`` - ``root_primary``:主根桥设备名(设 priority 0) - ``root_secondary``:备根桥设备名(设 priority 4096) - ``bridge_priority``:其余设备的 priority,如 ``"32768"`` 留空保持默认 |
| configure_dhcp | DHCP Server / Relay 配置提示。 参数: - ``role``:``"server"`` 或 ``"relay"`` - ``pool_name``:地址池名(仅 server) - ``network`` / ``mask``:网段(CIDR 中的网络号 + 掩码位) - ``gateway``:默认网关 IP - ``dns``:DNS 服务器 IP - ``lease_day``:租期天数 - ``relay_server``:relay 模式下指定 DHCP Server 的 IP - ``relay_vlanif``:relay 模式下的中继接口(如 Vlanif10) |
| configure_vrrp | VRRP 主备配置提示。 参数: - ``vrid``:VRID - ``vrrp_ip``:虚拟 IP 地址 - ``interface``:参与 VRRP 的接口(一般 VlanifX) - ``priority``:本设备优先级(默认 100,备机建议 50) - ``preempt``:是否开启抢占 |
| configure_eth_trunk | Eth-Trunk 链路聚合配置提示。 参数: - ``trunk_id``:Eth-Trunk 编号 - ``members``:成员接口,逗号分隔(最少 2 个) - ``mode``:``"lacp"`` / ``"manual"`` - ``lacp_priority``:LACP 系统优先级(lacp 模式) |
| troubleshoot_connectivity | 端到端连通性故障排查提示:从源设备 ping 目标 IP。 用 ``ensp_ping`` 下发 ping 命令,再用 ``ensp_verify_routes`` 查路由。 |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| ensp_config_resource | 返回当前 eNSP 配置的 JSON 字符串。 |
| ensp_sessions_resource | 返回当前所有活跃会话的快照(JSON 字符串)。 |
| ensp_devices_resource | 重新扫描并返回当前可达的 eNSP 设备端口列表(JSON 字符串)。 |
TDQS
Scored across 31 tools
The send-command family (ensp_send_command vs ensp_send_commands vs ensp_smart_config vs ensp_apply_experiment) overlaps substantially, and the four diagnosis tools (diagnose_error, diagnose_batch, gather_diagnostic_context, health_check) require careful reading to distinguish. Descriptions do provide enough guidance (single vs batch vs auto-diagnose vs experiment-plan), but boundaries remain fuzzy.
Every tool uses a consistent ensp_ prefix followed by a clear snake_case verb_noun pattern (ensp_scan_devices, ensp_get_running_config, ensp_verify_routes). Variations like verify_* and diagnose_* are used predictably across the set.
At 31 tools the surface is heavy and exceeds the comfortable range, and several command-sending tools could plausibly be consolidated. The domain (session mgmt, command exec, verification, diagnosis, topology) is genuinely broad, so not all of it is bloat.
Coverage spans discovery, connection lifecycle, command execution, config save, multiple verification dimensions (interfaces/routes/OSPF/VLAN/LLDP/ping), diagnosis, and topology cross-validation. The main gap is that lifecycle management is send-command-driven with no explicit rollback/undo or interface-config-removal tool.