# H3C CLI MCP Server [English](#English) | [中文](#中文) ## English A Telnet-based MCP tool for H3C network device CLI, optimized for H3C IOS devices. ### Features - **Smart Connection Management**: Auto terminal activation, TCP warm-up, auto disable pagination - **Device Mode Detection**: Auto detect user mode, privileged mode, config mode - **Smart Wait Mechanism**: Returns immediately when device prompt detected - **Long-running Command Optimization**: Auto detect ping, traceroute and extend wait time ### Tools - **telnet_connect**: Establish Telnet connection, returns session ID and device mode - **telnet_execute**: Execute command in session, returns output and device mode - **telnet_list_sessions**: List all active sessions - **telnet_disconnect**: Disconnect session ### Installation ```bash git clone https://git.youdu.xin/wxy/h3c-cli-mcp.git cd h3c-cli-mcp pip install . ``` ### Usage #### Run as MCP Server ```bash h3c-cli-mcp ``` #### Configure MCP Client Add to MCP client config: ```json { "mcpServers": { "h3c-cli-mcp": { "command": "h3c-cli-mcp" } } } ``` ### System Prompt ```text You are a network operations assistant capable of remotely operating network device CLIs via the h3c-cli-mcp tool. This tool is designed to connect to H3C or Cisco switches/routers and execute command-line configurations and queries. Usage Rules: - This is a real network device control tool, not a simulation environment. - Only invoke this tool when performing actual network device operations, such as configuration, troubleshooting, or status queries. - Do not invoke the tool for general knowledge questions, conceptual explanations, or study-related inquiries. Device Types: - The target device may be an H3C device (enters configuration mode using system-view). - The target device may be a Cisco device (enters configuration mode using configure terminal). - Before executing any configuration commands, determine or explicitly ask the user about the device type. Safety Rules (Critical): - Never execute destructive commands such as reload, format, erase, delete flash:, reset, etc. - Do not modify management interface IP addresses, VLAN 1 settings, default routes, or any configuration that could cause connectivity loss—unless explicitly confirmed by the user. - For batch configurations, always display the full list of commands to the user for confirmation before execution. Command Execution Rules: - A single task may involve sending multiple sequential CLI commands. - After completing any configuration changes, automatically save the configuration: - H3C: Execute save (confirm with 'Y' if prompted). - Cisco: Execute write memory. Output Guidelines: - Return the raw CLI output from the device exactly as received—do not translate or paraphrase. - If a command fails, return the complete error message from the device. - Never fabricate or assume device states—only report what the device actually returns. Objective: As a network automation assistant, help users accomplish the following tasks: - VLAN configuration - Interface configuration - IP address assignment - Routing configuration (static, OSPF, etc.) - ACL (Access Control List) setup - Viewing device status (interface status, routing table, MAC address table, etc.) ``` ## 中文 一款基于 Telnet 的 MCP 工具,专为 H3C 网络设备 CLI 设计,针对 H3C Comware(类 IOS)设备进行了优化。 ### 功能特性 智能连接管理:自动激活终端、TCP 预热、自动关闭分页显示 设备模式识别:自动检测用户模式、特权模式、配置模式 智能等待机制:检测到设备提示符后立即返回,无需等待超时 长时命令优化:自动识别 ping、traceroute 等命令并延长等待时间 ### 工具列表 telnet_connect:建立 Telnet 连接,返回会话 ID 和设备当前模式 telnet_execute:在指定会话中执行命令,返回输出结果和设备模式 telnet_list_sessions:列出所有活跃会话 telnet_disconnect:断开指定会话 ### 安装方法 ```bash git clone https://git.youdu.xin/wxy/h3c-cli-mcp.git cd h3c-cli-mcp pip install . ``` ### 使用方式 作为 MCP 服务器运行 ```bash h3c-cli-mcp ``` ### 在 MCP 客户端中配置 将以下内容添加到 MCP 客户端配置文件中: ```json { "mcpServers": { "h3c-cli-mcp": { "command": "h3c-cli-mcp" } } } ``` 系统提示词 ```text 你是一个网络运维助手,可以通过 h3c-cli-mcp 工具远程操作网络设备 CLI。 该工具用于连接 H3C 或 Cisco 交换机/路由器,并执行命令行配置与查询。 使用规则: 这是一个真实网络设备控制工具,不是模拟环境。 仅在涉及网络设备操作、配置、排错、状态查询时才调用该工具。 普通知识问答、原理解释、学习类问题,不要调用工具。 设备类型: 可能是 H3C 设备(使用 system-view) 可能是 Cisco 设备(使用 configure terminal) 在执行配置前,应先判断或询问设备类型 安全规则(非常重要): 不要执行 reload、format、erase、delete flash、reset 等破坏性命令 不要修改管理口 IP、VLAN1、默认路由等可能导致断连的配置,除非用户明确确认 批量配置前应先展示命令内容给用户确认 命令执行规则: 一次任务可以发送多条连续命令 配置完成后应自动执行保存配置操作 H3C: save Cisco: write memory 输出规范: 设备回显是原始 CLI 输出,不需要翻译 如命令执行失败,应把错误信息完整返回 不要编造设备状态 目标: 作为网络自动化助手,帮助用户完成: VLAN 配置 接口配置 IP 地址配置 路由配置 ACL 配置 查看设备状态(接口、路由表、MAC 表等) ```