omada-mcp (realtydev/omada-mcp) is an MCP server listed on the M8ven Trust Index. It scores 54 out of 100, grade D. It declares 60 tools. No publisher has claimed this listing.

D
Caution
54/100

omada-mcp

TP-Link Omada MCP Server with full CRUD (fork of MiguelTVMS/tplink-omada-mcp)

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

realtydev

Source: github_code

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Known vulnerabilities in dependencies: 1 critical, 14 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
// tools this server exposes60 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

adoptDevice

Adopt a pending device by its MAC address into the site.

batchSetSwitchPortName

Batch set names on multiple switch ports. Each entry specifies a port number and name (1-128 chars).

batchSetSwitchPortPoe

Batch enable or disable PoE on multiple switch ports. 1=on (802.3at/af), 0=off.

batchSetSwitchPortProfile

Batch enable or disable profile override on multiple switch ports.

batchSetSwitchPortStatus

Batch enable or disable multiple switch ports. 0=off, 1=on.

blockClient

Block a client device by its MAC address, preventing it from accessing the network.

createFirewallAcl
createLanNetwork

Create a new LAN network with VLAN, gateway/subnet, and DHCP settings.

createLanProfile

Create a new LAN profile with native/tagged network assignments and port settings.

deleteFirewallAcl

Delete a firewall ACL rule by its ID.

deleteLanNetwork

Delete a LAN network by its network ID.

genericApiCall
getCableTestResults

Get cable test results for a switch. Run startCableTest first.

getClient

Fetch details for a specific Omada client.

getDevice

Fetch detailed information for a specific Omada device.

listDevicesStats

Query statistics for global adopted devices with pagination and filtering. Supports fuzzy search by MAC address, name, model, or serial number, and filtering by tag or device series type (0: basic, 1: pro).

getFirewallSetting

Get firewall configuration and rules for a site, including ACL rules, IP groups, and security policies.

getFirmwareDetails

Get firmware information for a device including current version and available updates.

getInternetInfo

Get internet configuration information for a site, including WAN settings and connectivity details.

getLanNetworkList

Get the list of LAN networks configured in a site, including VLAN settings, IP ranges, and DHCP configuration.

getLanProfileList

Get the list of LAN profiles configured in a site. LAN profiles define network settings that can be applied to switch ports.

getPortForwardingStatus

Get port forwarding status and rules for a site. Retrieves either User-configured or UPnP-discovered port forwarding rules. Both page and pageSize parameters are required by the API. Call this tool twice (once with type="User" and once with type="UPnP") to get complete port forwarding information.

getSsidDetail

Get detailed information for a specific SSID (wireless network), including security settings, rate limits, scheduling, and advanced configurations. Requires wlanId (from getWlanGroupList) and ssidId (from getSsidList).

getSsidList

Get the list of SSIDs (wireless networks) configured in a WLAN group. Requires wlanId which can be obtained from getWlanGroupList. Use the ssidId from this list to call getSsidDetail.

getSwitch

Get full switch info including portList array by MAC address.

getSwitchNetworks

Get switch networks / VLAN trunking configuration for a switch.

getSwitchPorts

Get all ports for a switch by its MAC address, including status, profile, PoE, link speed, and STP state.

getSwitchStackDetail

Fetch detailed information for a specific switch stack.

getThreatList

Get the global view threat management list. Returns paginated threat information including severity, source/destination IPs, countries, classification, and more.

getWlanGroupList

Get the list of WLAN groups configured in a site. WLAN groups contain SSIDs and define wireless network settings. Use the wlanId from this list to call getSsidList.

listClients

List network clients connected to a site.

listClientsActivity

Get client activity statistics over time from the dashboard. Returns time-series data showing new, active, and disconnected clients (both wireless/EAP and wired/switch) for each time snapshot. Useful for monitoring client connection trends and activity patterns.

listClientsPastConnections

Get client past connection list with historical connection data. Returns information about clients that have previously connected to the network, including connection timestamps, traffic data, duration, and device details. Supports pagination, filtering by time range and guest status, sorting by las

listDevices

List provisioned network devices for a specific site.

listEvents

List paginated events for a site (alerts, warnings, system events).

listFirewallAcls

List firewall ACL rules for a site (access control lists for inter-VLAN traffic, etc.).

listIpGroups
listLogs

List paginated logs for a site (system logs, configuration changes).

listMostActiveClients

Get the most active clients in a site, sorted by total traffic. Returns client name, MAC address, type, model, wireless status, and total traffic. This is a dashboard endpoint that provides a quick overview of top clients by traffic usage.

listRoutes

List static routes configured for a site.

listSites

List all sites configured on the Omada controller.

rebootDevice

Reboot a network device by its MAC address.

reconnectClient

Force a client to reconnect to the network by its MAC address.

searchDevices

Search for devices globally across all sites the user has access to. Returns devices matching the search key.

setDeviceLed

Set the LED on/off/site-default for a device by its MAC address.

setGatewayWanConnect

Connect or disconnect a gateway WAN port.

setSwitchNetworks

Set switch networks / VLAN trunking configuration for a switch.

setSwitchPortName

Set the name of a single switch port (1-128 characters).

setSwitchPortPoe

Enable or disable PoE on a single switch port. 1=on (802.3at/af), 0=off.

setSwitchPortProfile

Assign a LAN profile to a single switch port.

setSwitchPortProfileOverride

Enable or disable profile override on a single switch port.

setSwitchPortStatus

Enable or disable a single switch port. 0=off, 1=on.

startCableTest

Start a cable test on a switch. Use getCableTestResults to retrieve results after completion.

startFirmwareUpgrade

Start a firmware upgrade for a device. Use getFirmwareDetails first to check for available updates.

unblockClient

Unblock a previously blocked client device by its MAC address, restoring network access.

updateClient

Update client settings such as display name, static IP, and rate limits.

updateFirewallSetting
updateLanNetwork

Update an existing LAN network configuration including VLAN, gateway/subnet, and DHCP settings.

updateLanProfile

Update an existing LAN profile configuration including network assignments and port settings.

updateSwitchPort

Update a switch port configuration (profile, PoE, speed, STP, isolation, etc.).

// known CVEs in dependencies1 critical14 high6 medium10 low

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

criticalvitest@4.0.10GHSA-5xrq-8626-4rwp

When Vitest UI server is listening, arbitrary file can be read and executed

high@modelcontextprotocol/sdk@1.22.0GHSA-345p-7cg4-v4c7

@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse

high@modelcontextprotocol/sdk@1.22.0GHSA-8r9q-7v3j-jr4g

Anthropic's MCP TypeScript SDK has a ReDoS vulnerability

high@modelcontextprotocol/sdk@1.22.0GHSA-w48q-cv73-mx4w

Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default

highaxios@1.13.2GHSA-35jp-ww65-95wh

axios Vulnerable to Full Man-in-the-Middle via Prototype Pollution Gadget in `config.proxy`

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configMCP_SERVER_LOG_LEVELdebug, info, warn, error, silent
// quality suggestions

Tool annotations

29/60 tools have annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

60/60 tools missing one or more hints — adoptDevice (missing: readOnlyHint, idempotentHint, openWorldHint); batchSetSwitchPortName (missing: readOnlyHint, idempotentHint, openWorldHint); batchSetSwitchPortPoe (missing: readOnlyHint, idempotentHint, openWorldHint), +57 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tool test coverage

46/60 tools referenced in tests (77%)

Write tests that reference each tool by name so every tool has at least one test.

Production dependencies are patched

0 critical, 14 high severity in production deps — @modelcontextprotocol/sdk@1.22.0 (high), @modelcontextprotocol/sdk@1.22.0 (high)

Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.

Dev dependencies

1 critical/high in dev-only deps (does not ship to users)

Upgrade dev dependencies when convenient.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 5 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/realtydev/omada-mcp?variant=verified)](https://m8ven.ai/mcp/realtydev/omada-mcp)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 376e242cfa1c8f95ac4ca09ad655456f703fe345
code hash: c5ed156e447da043e73ff1314cb8cde1ffd3915eb033e23f08875f9e764c2890
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client