MCP server to manage NAT / port forwarding on ZTE ZXHN F680 routers
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"zte-f680-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# zte-f680-mcp <p align="center"> <img src="assets/banner.png" alt="zte-f680-mcp banner" width="100%"> </p> MCP Server ([Model Context Protocol](https://modelcontextprotocol.io)) to manage **NAT / port forwarding** on a **ZTE ZXHN F680** GPON router from any MCP-compatible client (Claude Desktop, Claude Code, Cursor, Windsurf, OpenAI Agents SDK, Cline, Continue, etc.). > Control your router port forwarding rules conversationally, without opening the web UI. ## Features | Tool | Description | |---|---| | `zte_get_port_forwards` | List all NAT rules | | `zte_open_port` | **Quick-open a port** with smart defaults (auto-detect local IP, same port both sides) | | `zte_get_local_ip` | Return the host IP in the router's subnet (cross-platform) | | `zte_add_port_forward` | Add a rule with full control (ranges, custom internal IP/port) | | `zte_modify_port_forward` | Modify an existing rule by index | | `zte_delete_port_forward` | Delete a rule by index | | `zte_get_device_info` | Device model, serial, firmware, hardware, bootloader, WiFi chipsets | | `zte_get_wan_status` | WAN IP, DNS, MAC, connection type, uptime | | `zte_get_wifi_info` | Both bands (SSID, channel, PSK, BSSID, stats) | | `zte_get_dhcp_leases` | Connected devices (IP, MAC, hostname, connection) | | `zte_get_dmz` | DMZ status and destination host | | `zte_get_wifi_clients` | WiFi-associated clients with RSSI (signal strength) | | `zte_run_page` | Fetch and parse any page from the router (generic) | ### Quick-open flow (v0.2.0+) Ask your assistant plainly and it will confirm before touching the router: > **You:** open port 8080 > **Assistant:** Your local IP is `192.168.1.128`. Should I forward `8080 → 192.168.1.128:8080`? > **You:** yes > **Assistant:** ✓ Rule added. Under the hood the assistant calls `zte_get_local_ip` (to pick the correct interface even on multi-homed hosts) and then `zte_open_port(port=8080)`. If you want a different internal port or IP, just say so and the assistant switches …
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.