{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_fngdruhv8p86","handle":"zte-f680-mcp","url":"https://wellknown.network/agents/zte-f680-mcp","links":{"self":"https://wellknown.network/agents/zte-f680-mcp/record.json","html":"https://wellknown.network/agents/zte-f680-mcp","markdown":"https://wellknown.network/agents/zte-f680-mcp/record.md","api":"https://wellknown.network/api/v1/agents/zte-f680-mcp","status":"https://wellknown.network/api/v1/agents/zte-f680-mcp/status","claim":"https://wellknown.network/agents/zte-f680-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/zte-f680-mcp/claim.json","badge":"https://wellknown.network/agents/zte-f680-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/zte-f680-mcp/history","tools":"https://wellknown.network/api/v1/agents/zte-f680-mcp/tools"},"ard":{"identifier":"urn:air::server:zte-f680-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"zte-f680-mcp","summary":"MCP server to manage NAT / port forwarding on ZTE ZXHN F680 routers","description":"# zte-f680-mcp\n\n<p align=\"center\">\n  <img src=\"assets/banner.png\" alt=\"zte-f680-mcp banner\" width=\"100%\">\n</p>\n\nMCP 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.).\n\n> Control your router port forwarding rules conversationally, without opening the web UI.\n\n## Features\n\n| Tool | Description |\n|---|---|\n| `zte_get_port_forwards` | List all NAT rules |\n| `zte_open_port` | **Quick-open a port** with smart defaults (auto-detect local IP, same port both sides) |\n| `zte_get_local_ip` | Return the host IP in the router's subnet (cross-platform) |\n| `zte_add_port_forward` | Add a rule with full control (ranges, custom internal IP/port) |\n| `zte_modify_port_forward` | Modify an existing rule by index |\n| `zte_delete_port_forward` | Delete a rule by index |\n| `zte_get_device_info` | Device model, serial, firmware, hardware, bootloader, WiFi chipsets |\n| `zte_get_wan_status` | WAN IP, DNS, MAC, connection type, uptime |\n| `zte_get_wifi_info` | Both bands (SSID, channel, PSK, BSSID, stats) |\n| `zte_get_dhcp_leases` | Connected devices (IP, MAC, hostname, connection) |\n| `zte_get_dmz` | DMZ status and destination host |\n| `zte_get_wifi_clients` | WiFi-associated clients with RSSI (signal strength) |\n| `zte_run_page` | Fetch and parse any page from the router (generic) |\n\n### Quick-open flow (v0.2.0+)\n\nAsk your assistant plainly and it will confirm before touching the router:\n\n> **You:** open port 8080\n> **Assistant:** Your local IP is `192.168.1.128`. Should I forward `8080 → 192.168.1.128:8080`?\n> **You:** yes\n> **Assistant:** ✓ Rule added.\n\nUnder 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 …","publisher":{"name":"Alberto Diaz","url":null},"homepage":"https://github.com/Picaresco/MCP-ZTE-F680","repository":"https://github.com/Picaresco/MCP-ZTE-F680","version":"0.3.1","license":"MIT","protocols":["mcp"],"tags":["claude","f680","llm","mcp","model-context-protocol","nat","port-forwarding","router","zte","zxhn"],"pricing":null,"endpoints":[{"url":"pypi:zte-f680-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"infra.devices","name":"Devices & IoT","confidence":0.802,"provenance":"derived"}],"categories":["infra"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"zte-f680-mcp","registry":"pypi","observedAt":"2026-10-23T00:28:04.396Z","publishedAt":"2026-09-22T23:56:38.916980Z","latestVersion":"0.3.1"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"zte-f680-mcp","url":"https://pypi.org/project/zte-f680-mcp/","firstSeenAt":"2026-09-10T16:24:08.056Z","fetchedAt":"2026-10-23T00:27:00.682Z","normalizedAt":"2026-10-23T00:27:00.682Z"}]},"firstSeenAt":"2026-09-10T16:24:08.056Z","updatedAt":"2026-10-23T00:28:04.396Z"}