tplink-easy-smart-switch-mcp
TP-Link Easy Smart Switch MCP
TypeScript + Bun MCP-Server für TP-Link- und Mercury-Easy-Smart-Switches. Er arbeitet über die Web-UI des Switches und ist nicht von SNMP abhängig.
Standardziel: http://192.168.3.10
Als Codex-Plugin installieren
Installieren Sie zuerst Bun, und fügen Sie dann den unabhängigen network-tools-Marketplace und dieses Plugin hinzu:
codex plugin marketplace add qwe7002-ai/net-tool-plugins --ref main
codex plugin add tplink-easy-smart-switch-mcp@net-tool-pluginsStarten Sie nach der Installation eine neue Codex-Aufgabe, damit die MCP-Tools und der Switch-Management-Skill geladen werden.
Related MCP server: packet-coders-mcp
Getestete Modelle
Die aktuelle Implementierung wurde mit diesen Web-UI-Snapshots und schreibgeschützten Statusabfragen getestet:
TP-Link TL-SE2106 unter
192.168.3.10, Firmware1.8.1 Build 20251128 Rel.57341Mercury SE106 Pro unter
192.168.3.11, Firmware1.0.0 Build 20240812 Rel.65021
Andere TP-Link- oder Mercury-Easy-Smart-Switches funktionieren möglicherweise, wenn sie dieselben Web-UI-Seiten und CGI-Endpunkte verwenden, wurden aber noch nicht verifiziert.
Bestätigte Geräteeigenschaften
Management-UI ist über HTTP
80verfügbarAnmeldeformular sendet an
POST /logon.cgiAnmeldefelder sind
usernameund verschlüsseltespasswordAnmeldeseite lädt
/cryp_new.jsBekannte Web-UI-Variablen umfassen
g_product,g_yearundencryptTypeEinige Firmware-Versionen legen das Anforderungstoken als nackte numerische Zuweisung wie
g_tid=1320064778;statt als Zeichenfolge mit Anführungszeichen offen. Andere Seiten verweisen möglicherweise nur auftop.g_tid, daher müssen Parser Zuweisungen von Referenzen unterscheiden.
Werkzeuge
Schreibgeschützte Werkzeuge:
get_switch_status: Einen Statusüberblick des Switches zurückgebenget_port_status: Portstatus zurückgebenget_vlan_status: Port-VLAN-, 802.1Q-VLAN-, PVID- und MTU-VLAN-Status zurückgebenget_trunk_status: Port-Trunking-/LAG-Status zurückgebensearch_mac_address:mac_address_search.cgifür eine MAC-Adresse abfragen und den gelernten Port/das gelernte VLAN zurückgeben, wenn der Switch einen Eintrag hatanalyze_topology: Zwei oder mehr kaskadierte Switches analysieren und den Inter-Switch-Link-Port, die Upstream-/Downstream-Beziehung und die VLAN-Beziehung über den Link melden
Die Topologieanalyse funktioniert, indem sie sich bei jedem Switch anmeldet und die MAC-Such-CGI nach der Verwaltungs-MAC des anderen Switches abfragt. Wenn ein Switch die Peer-MAC auf einem Port meldet, wird dieser Port als Inter-Switch-Link-Nachweis verwendet. Wenn die MAC-Suche den Link nicht bestätigen kann, greift die Erkennung auf aktive SFP-/10G-Portpaare als Schätzung mit geringer Konfidenz zurück, bevorzugt VLAN-Überlappung und nutzt Live-Datenverkehr als Tiebreaker. Diese Easy Smart Switches haben kein LLDP, daher ist diese In-Band-Korrelation das verfügbare Signal.
Konfigurations-CGI-Werkzeuge:
configure_mtu_vlan:mtuVlanSet.cgiausVlanMtuRpm.htmerzeugen oder absendenconfigure_port_vlan:pvlanSet.cgiausVlanPortBasicRpm.htmerzeugen oder absendenconfigure_8021q_vlan:qvlanSet.cgiausVlan8021QRpm.htmerzeugen oder absendenconfigure_vlan_pvid:vlanPvidSet.cgiausVlan8021QPvidRpm.htmerzeugen oder absendenconfigure_trunk_group:port_trunk_set.cgi/port_trunk_display.cgiausPortTrunkRpm.htmerzeugen oder absendensave_configuration:POST savingconfig.cgiausSavingConfigRpm.htmerzeugen oder absenden
Konfigurationswerkzeuge verwenden standardmäßig apply: false, was eine Dry-Run-Anfragevorschau zurückgibt und nichts übermittelt. Echte Schreibvorgänge erfordern alle folgenden Bedingungen:
apply: trueconfirm: "APPLY"Erfolgreiche Anmeldung
Die Web-UI-Regelvalidierung wurde bestanden
Ein lesbares
token/top.g_tid
Installation
bun installWährend der Entwicklung ausführen
bun run src/index.tsEine Binärdatei erstellen
Windows:
bun run build:winAktuelle Plattform:
bun run buildDie Build-Ausgabe wird nach dist/ geschrieben.
Wenn ein MCP-Client während initialize weiterhin eine ältere Serverversion meldet, zeigt sein command wahrscheinlich auf eine alte ausführbare Datei. Aktualisieren Sie ihn auf dist/tplink-easy-smart-switch-mcp.exe und starten Sie den Client neu.
MCP debuggen
MCP-Werkzeuge auflisten:
bun run debugDas Werkzeug für den Switch-Status aufrufen:
bun run debug -- --tool get_switch_status --host 192.168.3.10 --username admin --password your-password
bun run debug -- --tool get_switch_status --host 192.168.3.11Das Werkzeug für den Portstatus aufrufen:
bun run debug -- --tool get_port_status --host 192.168.3.10 --username admin --password your-passwordKonfigurationsanfragen in der Vorschau anzeigen, ohne sie zu übermitteln:
bun run debug -- --tool configure_mtu_vlan --params '{ "enabled": true }'
bun run debug -- --tool configure_port_vlan --params '{ "mode": "set", "vid": 1, "ports": "1,2" }'
bun run debug -- --tool configure_8021q_vlan --params '{ "mode": "set", "vid": 20, "name": "main", "untaggedPorts": "3", "taggedPorts": "5,6" }'
bun run debug -- --tool configure_vlan_pvid --params '{ "pvid": 20, "ports": "3" }'
bun run debug -- --tool configure_trunk_group --params '{ "mode": "set", "group": 1, "ports": "1,2" }'
bun run debug -- --tool save_configuration --params '{}'Seitenbeispiele
Schreibgeschützte Entwicklungs-Snapshots sind gespeichert in:
examples/tplink-192.168.3.10: TP-Link Easy Smart Switch unter192.168.3.10examples/mercury-192.168.3.11: Mercury SE106 Pro unter192.168.3.11
Sie enthalten VLAN-, Trunking-, Konfigurations-Backup-/Wiederherstellungs- und Konfigurationsspeicher-Seiten sowie pvlan.js, qvlan.js und menuList.js. Diese Beispiele enthalten keine SessionID-Werte oder Passwörter.
Sie können auch rohes JSON-RPC senden:
bun run debug -- --raw '{ "jsonrpc": "2.0", "id": 99, "method": "tools/list", "params": {} }'MCP-Client-Beispiel
{
"mcpServers": {
"tplink-easy-smart-switch": {
"command": "C:\\path\\to\\tplink-easy-smart-switch-mcp.exe",
"env": {
"TPLINK_HOST": "192.168.3.10",
"TPLINK_USERNAME": "admin",
"TPLINK_PASSWORD": "your-password"
}
}
}
}Hinweise
Seiteninhalte werden mit einem DOM-Parser geparst und in Zusammenfassungen für Titel, Formulare, Frames, Links, Tabellen und Text normalisiert. Statusdaten werden hauptsächlich aus JavaScript-Variablen in Seiten wie MainRpm.htm, VlanPortBasicRpm.htm, Vlan8021QRpm.htm, Vlan8021QPvidRpm.htm, VlanMtuRpm.htm und PortTrunkRpm.htm extrahiert.
Bei der getesteten Firmware des TP-Link TL-SE2106 und des Mercury SE106 Pro ist MacSearchRpm.htm ein Suchformular und kein vollständiger Forwarding-Table-Dump. Die unterstützte MAC-Funktion ist daher search_mac_address, die der Seitenlogik folgt und mac_address_search.cgi mit txt_macAddress_search, txt_vid_search und token aufruft.
Die Token-Extraktion unterstützt zitierte g_tid-Werte, nackte numerische g_tid-Werte und versteckte token-Eingaben. Das Erfassungsskript schwärzt sowohl zitierte als auch nackte g_tid-Zuweisungen, bevor es Entwicklungsbeispiele speichert.
Konfigurations-CGI-Aufrufe verwenden einen expliziten Bestätigungsablauf. Entwicklung und Debugging verwenden standardmäßig den Dry-Run-Modus. save_configuration ist ebenfalls eine Schreibaktion; sie folgt der Seitenlogik aus SavingConfigRpm.htm und verwendet POST savingconfig.cgi, übermittelt jedoch nur bei ausdrücklicher Bestätigung.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityFmaintenanceSecurity-focused MCP server for TP-Link Omada Open API workflows, enabling network management via natural language.8720MIT
- FlicenseAqualityBmaintenanceA local MCP server for interacting with a network lab, supporting read-only and configuration tools for devices like Arista EOS switches.6
- AlicenseAqualityCmaintenanceMCP server for monitoring and controlling WiFi routers (OpenWrt) via SSH, enabling device listing, status checks, WiFi configuration, rebooting, and more.712MIT
- AlicenseNot gradedqualityBmaintenanceRead-only MCP server for TP-Link Omada SDN controllers, enabling querying controller, site, device, and WiFi state.Apache 2.0
Related MCP Connectors
MCP server for managing Prisma Postgres.
MCP server for URL shortening and management
MCP server wrapping the Tesla Fleet API and TeslaMate API
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/qwe7002-ai/tplink-easy-smart-switch-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server