tplink-easy-smart-switch-mcp
TP-Link Easy Smart Switch MCP
TP-Link 및 Mercury Easy Smart 스위치용 TypeScript + Bun MCP 서버입니다. 스위치 웹 UI를 통해 작동하며 SNMP에 의존하지 않습니다.
기본 대상: http://192.168.3.10
Codex 플러그인으로 설치
먼저 Bun을 설치한 다음, 독립적인 network-tools 마켓플레이스와 이 플러그인을 추가하세요:
codex plugin marketplace add qwe7002-ai/net-tool-plugins --ref main
codex plugin add tplink-easy-smart-switch-mcp@net-tool-plugins설치 후 새 Codex 작업을 시작하면 MCP 도구와 스위치 관리 스킬이 로드됩니다.
Related MCP server: mcp-omada
테스트된 모델
현재 구현체는 다음 Web UI 스냅샷과 읽기 전용 상태 호출로 테스트되었습니다:
192.168.3.10의 TP-Link TL-SE2106, 펌웨어1.8.1 Build 20251128 Rel.57341192.168.3.11의 Mercury SE106 Pro, 펌웨어1.0.0 Build 20240812 Rel.65021
다른 TP-Link 또는 Mercury Easy Smart 스위치도 동일한 Web UI 페이지와 CGI 엔드포인트를 사용한다면 작동할 수 있지만 아직 검증되지는 않았습니다.
확인된 장치 특성
관리 UI는 HTTP
80에서 사용할 수 있습니다.로그인 양식은
POST /logon.cgi로 전송됩니다.로그인 필드는
username과 암호화된password입니다.로그인 페이지는
/cryp_new.js를 로드합니다.알려진 Web UI 변수로는
g_product,g_year,encryptType이 있습니다.일부 펌웨어는 요청 토큰을 따옴표로 묶인 문자열이 아닌
g_tid=1320064778;과 같은 숫자 할당으로 노출합니다. 다른 페이지는top.g_tid만 참조할 수 있으므로 파서는 할당과 참조를 구분해야 합니다.
도구
읽기 전용 도구:
get_switch_status: 스위치 상태 요약을 반환합니다.get_port_status: 포트 상태를 반환합니다.get_vlan_status: 포트 VLAN, 802.1Q VLAN, PVID 및 MTU VLAN 상태를 반환합니다.get_trunk_status: 포트 트렁킹/LAG 상태를 반환합니다.search_mac_address:mac_address_search.cgi에 하나의 MAC 주소를 조회하고 스위치에 항목이 있을 때 학습된 포트/VLAN을 반환합니다.analyze_topology: 두 대 이상의 캐스케이드 스위치를 분석하고 스위치 간 링크 포트, 업스트림/다운스트림 관계, 그리고 링크를 통한 VLAN 관계를 보고합니다.
토폴로지 분석은 각 스위치에 로그인하고 MAC 검색 CGI에 피어 스위치의 관리 MAC을 조회하는 방식으로 작동합니다. 스위치가 포트에서 피어 MAC을 보고하면 해당 포트를 스위치 간 링크 증거로 사용합니다. MAC 검색으로 링크를 확인할 수 없으면, 감지 기능은 활성 SFP/10G 포트 쌍을 낮은 신뢰도의 추측으로 폴백하고 VLAN 중복을 우선하며 라이브 트래픽을 타이브레이커로 사용합니다. 이 Easy Smart 스위치에는 LLDP가 없으므로 이 대역 내 상관 관계가 사용 가능한 신호입니다.
구성 CGI 도구:
configure_mtu_vlan:VlanMtuRpm.htm에서mtuVlanSet.cgi를 생성하거나 제출합니다.configure_port_vlan:VlanPortBasicRpm.htm에서pvlanSet.cgi를 생성하거나 제출합니다.configure_8021q_vlan:Vlan8021QRpm.htm에서qvlanSet.cgi를 생성하거나 제출합니다.configure_vlan_pvid:Vlan8021QPvidRpm.htm에서vlanPvidSet.cgi를 생성하거나 제출합니다.configure_trunk_group:PortTrunkRpm.htm에서port_trunk_set.cgi/port_trunk_display.cgi를 생성하거나 제출합니다.save_configuration:SavingConfigRpm.htm에서POST savingconfig.cgi를 생성하거나 제출합니다.
구성 도구는 기본적으로 apply: false로 설정되어 있어 드라이런 요청 미리보기를 반환하고 아무것도 제출하지 않습니다. 실제 쓰기에는 다음이 모두 필요합니다:
apply: trueconfirm: "APPLY"로그인 성공
Web UI 규칙 검증 통과
읽을 수 있는
token/top.g_tid
설치
bun install개발 중 실행
bun run src/index.ts바이너리 빌드
Windows:
bun run build:win현재 플랫폼:
bun run build빌드 출력은 dist/에 기록됩니다.
MCP 클라이언트가 initialize 중에 여전히 이전 서버 버전을 보고한다면, 해당 command가 이전 실행 파일을 가리키고 있을 가능성이 높습니다. dist/tplink-easy-smart-switch-mcp.exe로 업데이트하고 클라이언트를 다시 시작하세요.
MCP 디버깅
MCP 도구 나열:
bun run debug스위치 상태 도구 호출:
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.11포트 상태 도구 호출:
bun run debug -- --tool get_port_status --host 192.168.3.10 --username admin --password your-password제출하지 않고 구성 요청 미리보기:
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 '{}'페이지 샘플
읽기 전용 개발 스냅샷은 다음 위치에 저장됩니다:
examples/tplink-192.168.3.10:192.168.3.10의 TP-Link Easy Smart 스위치examples/mercury-192.168.3.11:192.168.3.11의 Mercury SE106 Pro
여기에는 VLAN, 트렁킹, 구성 백업/복원, 구성 저장 페이지와 함께 pvlan.js, qvlan.js, menuList.js가 포함됩니다. 이 샘플에는 SessionID 값이나 비밀번호가 포함되어 있지 않습니다.
원시 JSON-RPC를 보낼 수도 있습니다:
bun run debug -- --raw '{ "jsonrpc": "2.0", "id": 99, "method": "tools/list", "params": {} }'MCP 클라이언트 예시
{
"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"
}
}
}
}참고 사항
페이지 콘텐츠는 DOM 파서
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for network documentation, generated by doc2mcp.
MCP server for Hostinger API
Free, read-only security scanner for remote MCP servers, before you connect them.
Related MCP Servers
- AlicenseBqualityFmaintenanceSecurity-focused MCP server for TP-Link Omada Open API workflows, enabling network management via natural language.8725MIT
- AlicenseAqualityBmaintenanceRead-only MCP server for TP-Link Omada SDN controllers, enabling querying controller, site, device, and WiFi state.8Apache 2.0
- FlicenseNot gradedqualityCmaintenanceMCP server for Topaz switches: searches documentation, performs network diagnostics (ping, traceroute, port scanning, etc.), calculates subnets, and generates VLAN/base configurations. Also includes a web UI for use without an MCP client.1-
- AlicenseCqualityBmaintenanceMCP server that lets AI assistants monitor and manage TP-Link Omada controllers. It provides analytics and read-only queries plus write operations such as rebooting devices, blocking clients, and changing network or firewall settings.84MIT