Sponsored by Deepsite.site

Safe Tp Link Omada Mcp

Created By
gaspareduarda month ago
Security-first MCP server for TP-Link Omada, with a stdio-first runtime, capability-gated tools, and OpenAPI-based network automation.
Overview

Safe Omada MCP

CI npm version License: MIT Node.js 24+

Security-focused MCP server for TP-Link Omada Open API workflows.

At a Glance

  • Production-safe baseline uses stdio
  • Omada credentials are environment-only
  • Capability profiles and category gating control what tools are exposed
  • HTTP remains in the codebase only as an explicitly unsafe, lab-only path
  • Validated against live Omada Controller 6.x environments and designed around the documented 5.x/6.x Open API surface

Quick Start

Option 1: Use with Claude Desktop via Docker

  1. Pull or build an image:

    docker pull ghcr.io/gaspareduard/omada-mcp:latest
    

    If you do not publish an image yet, build locally instead:

    npm run docker:build
    
  2. Edit your Claude Desktop MCP config:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  3. Add the server entry:

    {
      "mcpServers": {
        "safe-omada": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "-e", "OMADA_BASE_URL=https://your-omada-controller.local",
            "-e", "OMADA_CLIENT_ID=your-client-id",
            "-e", "OMADA_CLIENT_SECRET=your-client-secret",
            "-e", "OMADA_OMADAC_ID=your-omadac-id",
            "-e", "OMADA_SITE_ID=your-site-id",
            "-e", "OMADA_STRICT_SSL=true",
            "ghcr.io/gaspareduard/omada-mcp:latest"
          ]
        }
      }
    }
    
  4. Restart Claude Desktop and verify the server by listing sites or devices.

Option 2: Run the container directly

docker run --rm -it \
  --env-file .env \
  ghcr.io/gaspareduard/omada-mcp:latest

Option 3: Run locally for development

npm install
npm run build
npm start

Configuration

The server reads configuration from environment variables. See .env.example for the complete reference.

Required Omada Variables

VariableRequiredDefaultDescription
OMADA_BASE_URLYes-Base URL of the Omada controller
OMADA_CLIENT_IDYes-OAuth client ID from Omada Platform Integration
OMADA_CLIENT_SECRETYes-OAuth client secret
OMADA_OMADAC_IDYes-Omada controller ID (omadacId)
OMADA_SITE_IDNo-Optional default site ID
OMADA_STRICT_SSLNotrueEnforce TLS certificate validation
OMADA_TIMEOUTNo30000HTTP timeout in milliseconds

Capability and Logging

VariableRequiredDefaultDescription
OMADA_CAPABILITY_PROFILENosafe-readBuilt-in profile: safe-read, ops-write, admin, compatibility
OMADA_TOOL_CATEGORIESNoprofile defaultExplicit category override
MCP_SERVER_LOG_LEVELNoinfodebug, info, warn, error, silent
MCP_SERVER_LOG_FORMATNoplainplain, json, or gcp-json

Capability Profiles

ProfileIntended use
safe-readDefault read-only operational visibility
ops-writeLimited operational write actions
adminFull documented tool surface, including admin mutations
compatibilityReserved for future controller-specific fallback modules

Destructive Tool Confirmation Gate

The four restore tools (restoreController, restoreControllerFromFileServer, restoreSites, restoreSitesFromFileServer) enforce a two-step confirmation: without confirmDangerous: true the tool returns a warning explaining the action is irreversible and that a force recovery or factory reset may be required if something goes wrong.

Scope of this protection: this gate is effective in conversational AI sessions where the warning is surfaced to a human who then decides whether to confirm. It does not prevent a fully autonomous agent from passing confirmDangerous: true programmatically without human review.

True human-in-the-loop enforcement requires one or both of:

  • MCP client approval mode — Claude Desktop and compatible MCP hosts can be configured to require explicit human approval before any tool call executes. This is the only reliable technical gate against autonomous execution.
  • Capability profile restriction — the restore tools require maintenance:rw, which is only granted under ops-write or admin. Keeping the deployment on the default safe-read profile blocks all restore tools entirely.

Optional HTTP Lab Mode

HTTP is not part of the supported production baseline.

It only starts when both of these are set:

  • MCP_SERVER_USE_HTTP=true
  • MCP_UNSAFE_ENABLE_HTTP=true

Use it only for local lab/debug scenarios.

VariableRequiredDefaultDescription
MCP_SERVER_USE_HTTPNofalseLegacy lab-only switch
MCP_UNSAFE_ENABLE_HTTPNofalseExplicit acknowledgement required
MCP_HTTP_PORTNo3000HTTP port
MCP_HTTP_BIND_ADDRNo127.0.0.1Loopback bind address only (127.0.0.1 or ::1)
MCP_HTTP_PATHNo/mcpMCP endpoint path
MCP_HTTP_ENABLE_HEALTHCHECKNotrueEnable health check
MCP_HTTP_HEALTHCHECK_PATHNo/healthzHealth check path
MCP_HTTP_ALLOW_CORSNotrueEnable CORS
MCP_HTTP_ALLOWED_ORIGINSNo127.0.0.1, localhostAllowed origins
MCP_HTTP_NGROK_ENABLEDNofalseLegacy placeholder; disabled in safe baseline
MCP_HTTP_NGROK_AUTH_TOKENNo-Legacy placeholder

Development and Validation

Common Commands

TaskCommand
Run dev servernpm run dev
Buildnpm run build
Lint + type-checknpm run check
Unit testsnpm test
Coverage gatesnpm run test:coverage
Symlink integritynpm run symlinks:check
README/tool syncnode scripts/check-readme-sync.mjs
Tool/test mappingnode scripts/check-tool-tests.mjs

Inspector

Use the MCP Inspector when you want to test the built server interactively:

npm run inspector
npm run inspector:build

Project Notes

  • The safe baseline is stdio first.
  • HTTP remains a legacy, explicitly unsafe lab path.
  • The repo includes docs/openapi/ as the implementation reference for Omada endpoints.
  • README tool tables below are kept in sync with the registered MCP tools.

Tools

Site & Client

ToolDescription
listSitesLists all sites configured on the controller.
getSiteCapacityGet site capacity settings including maximum device and client counts.
getSiteDetailGet detailed information about a site, including name, region, timezone, and configuration.
getSiteDeviceAccountGet device account settings for a site.
getSiteNtpStatusGet NTP server status and configuration for a site.
getSiteRememberSettingGet the remember device setting for a site.
getSiteSpecificationGet site specification including device limits and feature capabilities.
getSiteUrlGet the URL associated with a site for OpenAPI access.
getSiteTemplateConfigGet configuration settings for a site template. Requires siteTemplateId.
getSiteTemplateDetailGet detailed information about a site template. Requires siteTemplateId.
getSiteTemplateListList all site templates configured on the controller.
listClientsLists active client devices for a site.
getClient[DEPRECATED] Use listClients instead. When you have a client MAC, getClientDetail is also available. This tool filters the site client list in-process.
listMostActiveClientsGets the most active clients sorted by traffic usage.
listClientsActivityGets client activity statistics over time.
listClientsPastConnectionsGets past connection history for clients.
setClientRateLimitSets custom bandwidth limits (download/upload) for a specific client.
setClientRateLimitProfileApplies a predefined rate limit profile to a specific client.
disableClientRateLimitDisables bandwidth rate limiting for a specific client.
blockClientBlocks a client from network access with an auditable mutation summary.
unblockClientRestores a blocked client to network access with an auditable mutation summary.
reconnectClientForces a client to reconnect with an auditable mutation summary.
rebootDeviceReboots a managed device with an auditable mutation summary.
setDeviceLedChanges a device LED state with an auditable mutation summary.

Device

ToolDescription
listDevicesLists provisioned devices for a given site.
getDevice[DEPRECATED] Use listDevices instead and filter results client-side. This tool filters the site device list in-process; there is no dedicated device-detail endpoint.
searchDevicesSearches for devices globally across all sites the user has access to.
listDevicesStatsQueries statistics for global adopted devices with pagination and filtering.
getSwitchStackDetailRetrieves detailed configuration and status for a switch stack.
getSwitchDetailFetches detailed configuration and status for a specific switch.
getGatewayDetailFetches detailed configuration and status for a specific gateway.
getGatewayWanStatusGets WAN port status for a specific gateway.
getGatewayLanStatusGets LAN port status for a specific gateway.
getGatewayPortsGets port information for a specific gateway.
getApDetailFetches detailed configuration and status for a specific access point.
getApRadiosGets radio information for a specific access point.
getStackPortsGets port information for a switch stack.
listPendingDevicesLists devices pending adoption in a site.
getAllDeviceBySiteGets all devices in a site including offline and disconnected devices.
getFirmwareInfoGets the latest available firmware info for a device. Use listDevices for MACs.
getGridAutoCheckUpgradeGets the auto-check firmware upgrade plan list (paginated).
listSwitchNetworksLists VLAN network assignments for a switch (paginated). Requires switchMac.
getSwitchGeneralConfigGets general configuration for a switch. Requires switchMac.
getCableTestLogsGets cable test history for a switch. Requires switchMac.
getCableTestFullResultsGets full per-port cable diagnostics for a switch. Requires switchMac.
getOswStackLagListGets Link Aggregation Group (LAG) list for a switch stack. Requires stackId.
getStackNetworkListGets VLAN network list for a switch stack (paginated). Requires stackId.
getApUplinkConfigGets uplink configuration for an AP (wired/mesh mode). Requires apMac.
getRadiosConfigGets per-radio configuration for an AP (channel, power, width). Requires apMac.
getApVlanConfigGet VLAN configuration for an access point, including management VLAN and per-SSID VLAN tagging settings.
getMeshStatisticsGets mesh link statistics for an AP. Requires apMac.
getRFScanResultGets last RF scan results for an AP. Requires apMac.
getSpeedTestResultsGets last speed test results for an AP. Requires apMac.
getApSnmpConfigGets SNMP configuration for an AP. Requires apMac.
getApLldpConfigGets LLDP configuration for an AP. Requires apMac.
getApGeneralConfigGets general configuration for an AP (name, LED, country). Requires apMac.
getUplinkWiredDetailGet wired uplink detail for an access point: uplink switch, port number, link speed, and PoE status.
getDownlinkWiredDevicesGets wired downlink devices on an AP's LAN ports. Requires apMac.
getFirmwareUpgradePlanGet the firmware upgrade plan list for devices managed by the controller.
getUpgradeLogsGet firmware upgrade logs showing the history of upgrade operations performed on devices.
getDeviceTagListGet the list of device tags defined in a site.
getApQosConfigGet QoS configuration for a specific access point. Requires apMac.
getApIpv6ConfigGet IPv6 configuration for a specific access point. Requires apMac.
getSitesApsIpSettingGet IP settings for an AP. Requires apMac.
getSitesApsChannelLimitGet channel limit configuration for an AP. Requires apMac.
getSitesApsAvailableChannelGet list of available channels for an AP. Requires apMac.
getSitesApsLoadBalanceGet load balance configuration for an AP. Requires apMac.
getSitesApsOfdmaGet OFDMA configuration for an AP. Requires apMac.
getSitesApsPowerSavingGet power saving configuration for an AP. Requires apMac.
setApPowerSavingUpdates AP power saving configuration with support checks and dry-run preview. Requires apMac.
setApChannelLimitUpdates AP channel-limit configuration with support checks and dry-run preview. Requires apMac.
setApConfigUpdates documented AP configuration families with dry-run preview. Covers AP general, IP, IPv6, QoS, radio, service, load-balance, OFDMA, trunk, bridge, WLAN group, port, channel, AFC, and antenna settings. Setter-only families return planned payloads and an explicit warning when controller readback is unavailable. Requires apMac.
getSitesApsTrunkSettingGet trunk port setting for an AP. Requires apMac.
getSitesApsBridgeGet bridge configuration for an AP. Requires apMac.
listSitesApsPortsList ports for an AP. Requires apMac.
getSitesSwitchesEsGet ES switch details. Requires switchMac.
getSitesSwitchesEsGeneralConfigGet ES switch general configuration. Requires switchMac.
listSitesCableTestSwitchesPortsList cable test port info for a switch. Requires switchMac.
listSitesCableTestSwitchesIncrementResultsGet incremental cable test results for a switch. Requires switchMac.
getUpgradeOverviewCriticalGet the number of critical models available for upgrade.
getUpgradeOverviewTryBetaGet the current status of the try-beta firmware upgrade switch.
listUpgradeFirmwaresList available firmware packages for upgrade (paginated).
listUpgradeOverviewFirmwaresList firmware overview for upgradeable devices (paginated).
listSitesStacksList switch stacks in a site (paginated).
getSitesDeviceWhiteListGet the device adoption whitelist for a site (paginated).
getSitesGatewaysGeneralConfigGet general configuration for a gateway. Requires gatewayMac.
getSitesGatewaysPinGet PIN information for a gateway. Requires gatewayMac.
getSitesGatewaysSimCardUsedGet SIM card usage info for a gateway. Requires gatewayMac.
getSitesHealthGatewaysWansDetailsGet gateway WAN health details. Requires gatewayMac.
setGatewayConfigUpdates documented gateway configuration families with dry-run preview. Covers general, services, advanced, radios, WLAN, and port settings. Setter-only families return planned payloads and an explicit warning when controller readback is unavailable. Requires gatewayMac.

Network

ToolDescription
getInternetInfoGets internet configuration information for a site.
getInternet[DEPRECATED] Use getInternetInfo instead. Gets full WAN/Internet configuration for the site gateway.
getInternetBasicPortInfoGets WAN port summary/basic info for the site gateway.
getInternetLoadBalanceGets WAN load balancing configuration (failover/load balance).
getWanPortsConfigGets per-port WAN configuration including connection type and IP settings.
getWanLanStatusGets WAN-LAN connectivity status for a site.
getGridVirtualWanGets virtual WAN list (paginated).
getIspBandScanGets ISP band scan results for a WAN port. Requires portUuid.
getDisableNatListGets the list of wired networks with NAT disabled (paginated).
getLtePortConfigGets LTE/cellular WAN port configuration.
getWanPortDetail[DEPRECATED] Use getWanPortsConfig instead. Gets detailed WAN port configuration for all gateway WAN ports.
getWanIspProfileGets ISP scan profile result for a WAN port. Requires portUuid.
getWanQosConfigGets QoS configuration for gateway WAN ports.
getWanHealthDetail[DEPRECATED] Alias for the WAN health tool; kept for backward compatibility. Requires gatewayMac.
getWanUsageStats[DEPRECATED] Use getDashboardTrafficActivities instead. Gets WAN traffic usage statistics for the site.
getWanNatConfigGets one-to-one NAT rules (paginated).
getPortForwardingStatusGets port forwarding status and rules. Required: type (user or upnp). Optional pagination: page (default 1), pageSize (default 10).
getLanNetworkList[DEPRECATED] Use getLanNetworkListV2 instead. This tool aggregates all pages; getLanNetworkListV2 is explicitly paginated.
getLanNetworkListV2Get the LAN network list using the v2 API, with richer VLAN and DHCP data (paginated).
getInterfaceLanNetworkGets interface-level LAN network bindings. Optional type filter (0=WAN, 1=LAN).
getInterfaceLanNetworkV2Get interface-level LAN network bindings (v2 API). Returns richer per-interface VLAN and network data.
getLanProfileListGets the list of LAN profiles configured in a site.
getApLoadBalance[DEPRECATED] Use getSitesApsLoadBalance instead. Same endpoint, retained for backward compatibility. getSitesApsLoadBalance is the canonical tool name.
getApOfdmaConfig[DEPRECATED] Use getSitesApsOfdma instead. Same endpoint, retained for backward compatibility. getSitesApsOfdma is the canonical tool name.
getMulticastRateLimitGet multicast rate limit settings for a site.
getWlanGroupListGets the list of WLAN groups configured in a site.
getSsidListGets the list of SSIDs in a WLAN group.
getSsidDetailGets detailed information for a specific SSID. Required: wlanId and ssidId.
listAllSsidsLists wireless SSIDs across all WLAN groups.
getFirewallSettingGets the site-global firewall settings returned by the official Omada firewall endpoint.
setFirewallSettingUpdates site firewall settings with dry-run preview using the official Omada Open API firewall endpoint.
setAclConfigTypeSettingUpdates the gateway ACL mode (through profiles or custom) with dry-run preview.
getVpnSettingsGets VPN settings for a site.
listSiteToSiteVpnsLists site-to-site VPN configurations.
listPortForwardingRules[DEPRECATED] Use getPortForwardingList instead. Lists NAT port forwarding rules.
listOsgAclsLists gateway (OSG) ACL rules.
createGatewayAclCreates a gateway ACL rule with dry-run preview using the official Omada Gateway ACL schema.
updateGatewayAclUpdates a gateway ACL rule with dry-run preview after confirming the ACL exists.
listEapAclsLists access point (EAP) ACL rules.
createEapAclCreates an EAP ACL rule with dry-run preview using the official Omada EAP ACL schema.
updateEapAclUpdates an EAP ACL rule with dry-run preview after confirming the ACL exists.
deleteAclDeletes an ACL rule with dry-run preview after confirming the ACL exists.
listStaticRoutes[DEPRECATED] Use getGridStaticRouting instead. This tool aggregates all pages; getGridStaticRouting returns a single paginated page.
getStaticRoutingInterfaceListGets available interfaces for static routing.
listPolicyRoutes[DEPRECATED] Use getGridPolicyRouting instead. This tool aggregates all pages; getGridPolicyRouting is paginated.
getGridPolicyRoutingGets policy routing rules (paginated).
getOspfProcessGets OSPF process configuration for the site gateway.
getOspfInterfaceGets OSPF interface configuration for the site gateway.
getVrrpConfigGets VRRP configuration for OSW devices.
getOspfNeighborsGets OSPF neighbor devices for the site gateway.
getGridOtoNatsGets 1:1 NAT rules (paginated).
getAlgGets ALG (Application Layer Gateway) configuration.
getUpnpSettingGets UPnP setting for the site gateway.
getDdnsGridGets DDNS entries (paginated).
getDhcpReservationGridGets DHCP reservations (paginated).
createDhcpReservationCreates a DHCP reservation after validating the target LAN and optional IP address.
updateDhcpReservationUpdates a DHCP reservation after validating the target LAN and optional IP address.
deleteDhcpReservationDeletes a DHCP reservation by MAC address with a dry-run preview option.
getGridIpMacBindingGets IP-MAC binding entries (paginated).
getIpMacBindingGeneralSettingGets IP-MAC binding global toggle setting.
getBandwidthControlGets global bandwidth control configuration.
getGridBandwidthCtrlRuleGets bandwidth control rules (paginated).
setBandwidthControlRuleCreates or updates a bandwidth control rule with dry-run preview after validating the target rule id plus referenced LAN and WAN identifiers.
deleteBandwidthControlRuleDeletes a bandwidth control rule with dry-run preview after confirming the rule exists.
getSessionLimitGets session limit global setting.
getGridSessionLimitRuleGets per-rule session limit rules (paginated).
getSnmpSettingGets SNMP configuration (version, community string).
getLldpSettingGets LLDP global setting.
getRemoteLoggingSettingGets remote logging (syslog) configuration.
getDnsCacheDataListGets the DNS cache data list (paginated).
getIptvSettingGets IPTV service configuration for the site.
getNtpSettingGets NTP server configuration and synchronisation status.
getSyslogConfigDeprecated; alias of getRemoteLoggingSetting for controller syslog configuration.
getAccessControlGets controller access control configuration.
setAccessControlUpdates portal access control settings with dry-run preview and schema validation for pre-auth and free-auth policy entries.
setAppControlRuleCreates or updates an application control rule with dry-run preview after validating the create/update payload shape, existing rule id, and referenced application ids.
deleteAppControlRuleDeletes an application control rule with dry-run preview after confirming the rule exists.
getDnsCacheSettingGets DNS cache setting.
getDnsProxyGets DNS proxy configuration.
getIgmpGets IGMP snooping and proxy setting.
getSwitchVlanInterfaceGets VLAN interface configuration for a specific switch. Requires switchMac.
getLanDnsRulesGets LAN DNS rules for the site (paginated).
getLanProfileEsUsageGets EAP/switch device usage for a LAN profile. Requires profileId.
getLanClientCountGets client distribution breakdown across LAN segments.
listRadiusProfilesLists RADIUS authentication profiles.
listGroupProfilesLists group profiles (IP, MAC, or port groups).
getApplicationControlStatusGets application control status for a site.
getSshSettingGets SSH settings for a site.
listTimeRangeProfilesLists time range profiles.
getRateLimitProfilesGets the list of available rate limit profiles for bandwidth control.

Firewall & ACL

ToolDescription
getDot1xConfigGet 802.1X switch port authentication setting. Alias for getSwitchDot1xSetting.
getRadiusProxyConfigGet global RADIUS proxy configuration (controller-level, no siteId).
getApplicationAcl[DEPRECATED] Get application control rules. Alias for getAppControlRules.

Firewall Traffic & QoS

ToolDescription
getGatewayQosClassRulesGet gateway QoS class rules (paginated).
getBandwidthCtrlDetailGet bandwidth control details for a site.
getAppControlRulesGet application control rules (paginated).
getAppControlCategoriesGet application control category list.
getUrlFilterRulesGet URL filter gateway rules. Alias for getGridGatewayRule.
getUrlFilterBlacklistGet URL filter MAC deny list. Alias for getGridDenyMacFiltering.
getUrlFilterWhitelistGet URL filter MAC allow list. Alias for getGridAllowMacFiltering.
getMacFilterDetailGet MAC filter general setting. Alias for getMacFilteringGeneralSetting.
getQosPolicyGet QoS policy configuration for a site.
getTrafficPriorityGet traffic priority rules for a site.
getTrafficStats[DEPRECATED] Use getDashboardTrafficActivities instead. Get WAN usage statistics. Alias for getWanUsageStats.
getQosPolicyRule[DEPRECATED] Alias for getQosPolicy.
getQosMarkingRule[DEPRECATED] Alias for getQosPolicy.
getDscpConfig[DEPRECATED] Alias for getQosPolicy.

Firewall IDS / IPS

ToolDescription
getGlobalSecuritySetting[DEPRECATED] Use getThreatList instead. Get global security/threat management list. Alias for getThreatList.

Security & Threat Management

ToolDescription
getThreatListGets global threat management list. Required: archived (bool). Optional: startTime/endTime (seconds since epoch), severity (0=Critical, 1=Major, 2=Moderate/Concerning, 3=Minor, 4=Low), page, pageSize.
getTopThreatsGets top threats from the global threat management view.

Composite Troubleshooting Tools

Single-call tools that internally aggregate multiple Omada API calls in parallel. Use these instead of chaining individual tools when you need a quick overview or are starting a troubleshooting session.

ToolDescription
getNetworkHealthSummaryComposite: combines dashboard overview (device/client counts), internet/WAN status, client distribution, and recent active threats into a single response. First call for any troubleshooting session.
getGatewayHealthComposite: auto-discovers the gateway then fetches its detail (CPU, memory, firmware), WAN port statuses, LAN interface statuses, and port list in one call. Use for internet/WAN diagnostics.
diagnoseClientComposite: given a client MAC, IP, or hostname — fetches current connection status, detailed client info (VLAN, signal, policy), and recent connection history in one call.
getSecurityOverviewComposite: combines active threat list (up to 20, newest first) and firewall settings into one response. Use for security posture checks or investigating alerts.

Dashboard / Monitor

ToolDescription
getDashboardWifiSummaryGets WiFi summary from the site dashboard.
getDashboardSwitchSummaryGets switch summary from the site dashboard.
getDashboardTrafficActivitiesGets traffic activity data from the site dashboard.
getDashboardPoEUsageGets PoE usage data from the site dashboard.
getDashboardTopCpuUsageGets top CPU usage data from the site dashboard.
getDashboardTopMemoryUsageGets top memory usage data from the site dashboard.
getDashboardMostActiveSwitchesGets most active switches from the site dashboard.
getDashboardMostActiveEapsGets most active access points from the site dashboard.
getDashboardOverviewGet the site overview: device counts, client counts, connectivity graph, and overall health status.
getTrafficDistributionGets traffic distribution by protocol/app type over a time range. Requires start and end timestamps (seconds).
getRetryAndDroppedRateGets wireless retry rate and dropped packet rate over a time range. Requires start and end timestamps (seconds).
getIspLoadGets per-WAN ISP link load over a time range. Requires start and end timestamps (seconds).
getChannelsGets channel distribution and utilization across all APs.
getInterferenceGets top RF interference sources detected by APs.
getGridDashboardTunnelStatsGets VPN tunnel statistics. Required: type (0 = Server, 1 = Client).
getGridDashboardIpsecTunnelStatsGets IPsec tunnel statistics.
getGridDashboardOpenVpnTunnelStatsGets OpenVPN tunnel statistics by type. Requires type parameter.

Insight

ToolDescription
listSiteThreatManagementLists site-level threat management events.
getWidsGets WIDS (Wireless Intrusion Detection) information for a site.
getRogueApsGets rogue access points detected in a site.
getVpnTunnelStatsGets VPN tunnel statistics for a site.

VPN

ToolDescription
getIpsecTunnelListList all site-to-site VPN (IPsec) tunnels. Alias for listSiteToSiteVpns.
getIpsecTunnelDetailGet detailed config for a specific IPsec tunnel by ID. Alias for getSiteToSiteVpnInfo.
getAdvancedVpnSettingGet advanced VPN configuration settings for a site. Alias for getVpnSettings.
getVpnUserListGet VPN users for a site (paginated).
getVpnUserDetailGet users for a specific client-to-site VPN server.
getVpnClientStatusGet status of client-to-site VPN clients. Alias for listClientToSiteVpnClients.
getVpnRouteConfig[DEPRECATED] Use getGridPolicyRouting instead. This tool aggregates all pages; getGridPolicyRouting is paginated.

Profiles

ToolDescription
getGoogleLdapProfileGet Google LDAP profile configuration for a site.
getBuiltinRadiusUsersGet built-in RADIUS server user list (paginated).
getRadiusUserDetail[DEPRECATED] Alias for getBuiltinRadiusUsers.
getPpskNetworkProfileList PPSK network profiles for a site by type.
getPpskUserGroupGet PPSK user group details for a specific profile.
getPpskUserList[DEPRECATED] Alias for getPpskUserGroup.
getServiceProfileGet service type profiles (paginated). Alias for listServiceType.
getQosProfileGet rate limit profiles. Alias for getRateLimitProfiles.
getScheduleProfileGet time range profiles. Alias for listTimeRangeProfiles.
getGroupPolicyDetailGet group policy profiles filtered by group type.
getIpGroupProfile[DEPRECATED] Get IP group profiles. Alias for getGroupPolicyDetail with groupType="0".
getUrlGroupProfile[DEPRECATED] Get URL/port group profiles. Alias for getGroupPolicyDetail with groupType="1".
getAppGroupProfile[DEPRECATED] Get MAC group profiles. Alias for getGroupPolicyDetail with groupType="2".
getVlanProfileGet LAN/VLAN profiles. Alias for getLanProfileList.
getUserRoleProfileGet user role profiles from the controller (global, no siteId).
getPortalProfileGet captive portal profiles for a site.

Logs

ToolDescription
listSiteEventsLists site event logs.
listSiteAlertsLists site alert logs.
listSiteAuditLogsLists site audit logs.
listGlobalEventsLists global event logs across all sites.
listGlobalAlertsLists global alert logs across all sites.

Controller

ToolDescription
getCertificateGet SSL/TLS certificate configuration for the controller.
getClientHistoryDataEnableGet the client history data collection enable setting.
getControllerPortGet the controller port configuration for device adoption.
getDataRetentionGet data retention settings for the controller.
getExperienceImprovementGet the experience improvement program setting (telemetry).
getGlobalDashboardOverviewGet global controller dashboard overview without client data.
getPortalPortGet portal port configuration for the controller web interface.

Maintenance

ToolDescription
getBackupFileListList available controller backup files.
getBackupResultGet the result of the most recent controller backup operation.
getRestoreResultGet the result of the most recent controller restore operation.
getSiteBackupFileListList available backup files for a site.
getSiteBackupResultGet the backup result for a site.
getRogueApExportExport Rogue AP scan results for a site in CSV or Excel format.
backupControllerTrigger a controller configuration backup to the self/cloud server.
backupControllerToFileServerTrigger a controller configuration backup to an external file server (FTP/SFTP).
restoreControllerRestore controller configuration from a backup file on the self/cloud server.
restoreControllerFromFileServerRestore controller configuration from a backup file on an external file server.
backupSitesTrigger a multi-site configuration backup to the self/cloud server (up to 300 sites).
backupSitesToFileServerTrigger a multi-site configuration backup to an external file server (up to 300 sites).
restoreSitesRestore multiple site configurations from backup files on the self/cloud server.
restoreSitesFromFileServerRestore multiple site configurations from backup files on an external file server.

Account Users

ToolDescription
getAllCloudUsersList all cloud users on the controller, excluding the root account.
getAllLocalUsersList all local users on the controller, excluding the root account.
getAllRoles[DEPRECATED] Use getUserRoleProfile instead. List all user roles configured on the controller.
getAllUsersAppList all users (cloud and local) in grid view.
getAvailableRolesList roles available for user assignment.
getRoleDetailGet detailed information about a specific role. Requires roleId.

Account Cloud

ToolDescription
getCloudAccessStatusGet cloud access status for the controller.
getCloudUserInfoGet cloud user account information.
getMfaStatusGet global MFA (multi-factor authentication) status.
getRemoteBindingStatusGet remote binding status between controller and cloud.

Schedules

ToolDescription
getPoeScheduleListList PoE schedules for a site.
getPortScheduleListList port schedules for a site.
getPortSchedulePortsList ports with port schedule assignments for a site.
getRebootScheduleListList device reboot schedules for a site template. Requires siteTemplateId.
getUpgradeScheduleListList firmware upgrade schedules for a site.

Supported Omada API Operations

Operation IDDescriptionTool
getSiteListList controller sites.listSites
getDeviceListList devices assigned to a site.listDevices, getDevice [DEPRECATED]
searchGlobalDeviceSearch for devices across all accessible sites.searchDevices
getGridAdoptedDevicesStatByGlobalQuery statistics for global adopted devices.listDevicesStats
getOswStackDetailRetrieve details for a switch stack.getSwitchStackDetail
getSwitchGet detailed info for a specific switch.getSwitchDetail
getGatewayGet detailed info for a specific gateway.getGatewayDetail
getGatewayWanPortStatusGet WAN port status for a specific gateway.getGatewayWanStatus
getGatewayLanPortStatusGet LAN port status for a specific gateway.getGatewayLanStatus
getGatewayPortsGet port info for a specific gateway.getGatewayPorts
getApGet detailed info for a specific access point.getApDetail
getApRadiosGet radio info for a specific access point.getApRadios
getStackPortsGet port info for a switch stack.getStackPorts
getGridPendingDevicesList devices pending adoption in a site.listPendingDevices
getGridActiveClientsList active clients connected to a site.listClients, getClient [DEPRECATED]
getMostActiveClientsGet most active clients sorted by traffic.listMostActiveClients
getClientActivityGet client activity statistics over time.listClientsActivity
getGridPastConnectionsGet client past connection history.listClientsPastConnections
updateClientRateLimitSettingSet rate limit setting for a client.setClientRateLimit, setClientRateLimitProfile, disableClientRateLimit
getRateLimitProfileListGet rate limit profile list.getRateLimitProfiles
getGlobalThreatListGet global view threat management list.getThreatList
getTopThreatListGet top threats from global threat management.getTopThreats
getInternet[DEPRECATED] Use getInternetInfo instead. Get internet configuration info for a site.getInternetInfo
getPortForwardStatusGet port forwarding status by type.getPortForwardingStatus
getLanProfileListGet LAN profile list.getLanProfileList
getWlanGroupListGet WLAN group list.getWlanGroupList
getSsidListGet SSID list for a WLAN group.getSsidList
getSsidDetailGet detailed SSID configuration.getSsidDetail
getSsidListAllList SSIDs across all WLAN groups.listAllSsids
getFirewallSettingGet the site-global firewall settings returned by the official Omada firewall endpoint.getFirewallSetting
modifyFirewallSettingUpdate site firewall settings with dry-run support.setFirewallSetting
getVpnGet VPN settings for a site.getVpnSettings
getSiteToSiteVpnListList site-to-site VPN configurations.listSiteToSiteVpns
getPortForwardingListList NAT port forwarding rules.getPortForwardingList (prefer); listPortForwardingRules [DEPRECATED]
getOsgAclListList gateway ACL rules.listOsgAcls
getAclConfigTypeSettingGet gateway ACL config mode for the site gateway.getAclConfigTypeSetting
modifyAclConfigTypeSettingUpdate gateway ACL config mode with dry-run support.setAclConfigTypeSetting
createOsgAclCreate a gateway ACL with dry-run support.createGatewayAcl
modifyOsgAclUpdate a gateway ACL with dry-run support.updateGatewayAcl
getEapAclListList access point ACL rules.listEapAcls
createEapAclCreate an EAP ACL with dry-run support.createEapAcl
modifyEapAclUpdate an EAP ACL with dry-run support.updateEapAcl
deleteAclDelete an ACL rule with dry-run support.deleteAcl
getStaticRoutingListList static routing rules.getGridStaticRouting (prefer); listStaticRoutes [DEPRECATED]
getRadiusProfileListList RADIUS authentication profiles.listRadiusProfiles
getGroupProfileListList group profiles (IP, MAC, port groups).listGroupProfiles
getApplicationControlStatusGet application control status for a site.getApplicationControlStatus
addRuleCreate an application control rule with dry-run support.setAppControlRule
editRuleUpdate an application control rule with dry-run support.setAppControlRule
deleteRulesDelete an application control rule with dry-run support.deleteAppControlRule
getSshSettingGet SSH settings for a site.getSshSetting
getTimeRangeProfileListList time range profiles.listTimeRangeProfiles
getWanLanStatusGet WAN-LAN connectivity status for a site.getWanLanStatus
getSiteThreatManagementListList site-level threat management events.listSiteThreatManagement
getWidsGet WIDS information for a site.getWids
getRogueApsGet rogue access points detected in a site.getRogueAps
getVpnTunnelStatsGet VPN tunnel statistics for a site.getVpnTunnelStats
getSiteEventsList site event logs.listSiteEvents
getSiteAlertsList site alert logs.listSiteAlerts
getSiteAuditLogsList site audit logs.listSiteAuditLogs
getEventsList global event logs across all sites.listGlobalEvents
getAlertsList global alert logs across all sites.listGlobalAlerts
disableClientRateLimitDisable rate limiting for a specific client, removing any bandwidth....disableClientRateLimit
getAccessControlGet controller access control configuration.getAccessControl
modifyAccessControlUpdate portal access control configuration with dry-run support.setAccessControl
getAlgGet ALG (Application Layer Gateway) configuration for the site gateway.getAlg
getAllDeviceBySiteGet all devices in a site including offline and disconnected devices.getAllDeviceBySite
getApDetailFetch full configuration and status for a specific access point: mo....getApDetail
getApGeneralConfigGet general configuration for an access point.getApGeneralConfig
getApLldpConfigGet LLDP (Link Layer Discovery Protocol) configuration for an acces....getApLldpConfig
getApRadiosGet radio status for a specific access point: 2.4GHz and 5GHz band ....getApRadios
getApSnmpConfigGet SNMP configuration for an access point.getApSnmpConfig
getApUplinkConfigGet the uplink configuration for an access point.getApUplinkConfig
getBandwidthControlGet the global bandwidth control configuration for the site.getBandwidthControl
getCableTestLogsGet cable test logs for a switch.getCableTestLogs
getChannelsGet channel distribution and utilization across all APs.getChannels
getClient[DEPRECATED] Use listClients instead. When you have a client MAC, getClientDetail is also available. This tool filters the site client list in-process.getClient
getDashboardPoEUsageGet PoE (Power over Ethernet) usage statistics for a site, showing ....getDashboardPoEUsage
getDashboardSwitchSummaryGet switch summary for a site dashboard: total switch count, total ....getDashboardSwitchSummary
getDashboardTopCpuUsageGet the top devices by CPU usage for a site, useful for identifying....getDashboardTopCpuUsage
getDashboardWifiSummaryGet WiFi summary for a site dashboard: total APs, connected AP coun....getDashboardWifiSummary
getDdnsGridGet DDNS (Dynamic DNS) entries for the site gateway.getDdnsGrid
getDevice[DEPRECATED] Use listDevices instead. This alias filters the device list in-process to return a single device; there is no separate device-detail API.getDevice
getDhcpReservationGridGet DHCP reservations for the site.getDhcpReservationGrid
createDhcpReservationCreate a DHCP reservation for the site after LAN/IP validation and duplicate-IP preflight.createDhcpReservation
updateSitesSettingServiceDhcpUpdate an existing DHCP reservation for the site.updateDhcpReservation
deleteSitesSettingServiceDhcpDelete an existing DHCP reservation for the site.deleteDhcpReservation
getDnsCacheSettingGet DNS cache setting for the site gateway.getDnsCacheSetting
getDnsProxyGet DNS proxy configuration for the site gateway.getDnsProxy
getFirewallSettingGet the site-global firewall settings returned by the official Omada firewall endpoint.getFirewallSetting
modifyFirewallSettingUpdate site firewall settings with dry-run support.setFirewallSetting
getFirmwareInfoGet the latest available firmware information for a device.getFirmwareInfo
getGatewayDetailFetch full configuration and status for a specific gateway: model, ....getGatewayDetail
getGatewayLanStatusGet LAN port status for a specific gateway: port link state, speed,....getGatewayLanStatus
getGatewayPortsGet all WAN and LAN port details for a specific gateway: link statu....getGatewayPorts
getGatewayWanStatusGet the WAN port status and connectivity information for a specific....getGatewayWanStatus
getGridBandwidthCtrlRuleGet bandwidth control rules for the site gateway.getGridBandwidthCtrlRule
createBandwidthCtrlRuleCreate a bandwidth control rule with dry-run support.setBandwidthControlRule
modifyBandwidthCtrlRuleUpdate a bandwidth control rule with dry-run support.setBandwidthControlRule
deleteBandwidthCtrlRuleDelete a bandwidth control rule with dry-run support.deleteBandwidthControlRule
getGridIpMacBindingGet IP-MAC binding entries for the site.getGridIpMacBinding
getGridOtoNatsGet 1:1 NAT rules for the site gateway.getGridOtoNats
getGridPolicyRoutingGet policy routing rules for the site gateway.getGridPolicyRouting
getGridSessionLimitRuleGet per-rule session limit rules for the site gateway.getGridSessionLimitRule
getGridVirtualWanGet virtual WAN list for the site gateway.getGridVirtualWan
getIgmpGet IGMP (Internet Group Management Protocol) setting for the site.getIgmp
getInterfaceLanNetworkGet interface-level LAN network bindings.getInterfaceLanNetwork
getInterferenceGet top RF interference sources detected by APs.getInterference
getInternet[DEPRECATED] Use getInternetInfo instead. Get full WAN/Internet configuration for the site gateway.getInternet
getInternetBasicPortInfoGet WAN port summary / basic info for the site gateway.getInternetBasicPortInfo
getInternetInfoGet internet configuration information for a site, including WAN se....getInternetInfo
getInternetLoadBalanceGet WAN load balancing configuration for the site gateway.getInternetLoadBalance
getIspBandScanGet ISP band scan results for a WAN port. Requires portUuid.getIspBandScan
getIspLoadGet per-WAN ISP link load over a time range.getIspLoad
getLanClientCountGet client distribution breakdown across LAN segments (wired, wireless, guest).getLanClientCount
getLanDnsRulesGet LAN DNS rules configured for the site (paginated).getLanDnsRules
getLanNetworkList[DEPRECATED] Use getLanNetworkListV2 instead. This tool aggregates all pages; getLanNetworkListV2 is explicitly paginated.getLanNetworkList
getLanProfileEsUsageGet EAP/switch device usage for a specific LAN profile. Requires profileId.getLanProfileEsUsage
getLanProfileListGet the list of LAN profiles configured in a site.getLanProfileList
getLtePortConfigGet LTE/cellular WAN port configuration for the site gateway.getLtePortConfig
getLldpSettingGet LLDP (Link Layer Discovery Protocol) global setting for the site.getLldpSetting
getMeshStatisticsGet mesh link statistics for an access point.getMeshStatistics
getOswStackLagListGet Link Aggregation Group (LAG) list for a switch stack.getOswStackLagList
getPortForwardingListGet a paginated page of NAT port forwarding rules for the site gateway.getPortForwardingListPage
getPortForwardingStatusGet port forwarding status and rules for a site.getPortForwardingStatus
getRFScanResult[DEPRECATED] Get the last RF scan results for an access point.getRFScanResult
getRadiosConfigGet per-radio configuration for an access point.getRadiosConfig
getRateLimitProfilesGet the list of available rate limit profiles for a site.getRateLimitProfiles
getRemoteLoggingSettingGet remote logging (syslog) configuration for the site.getRemoteLoggingSetting
getDnsCacheDataListGet the DNS cache data list for the site (paginated).getDnsCacheDataList
getDisableNatListGet the list of wired networks with NAT disabled (paginated).getDisableNatList
getIptvSettingGet IPTV service configuration for the site.getIptvSetting
getNtpSettingGet NTP server configuration and synchronisation status for the site.getNtpSetting
getOspfInterfaceGet OSPF interface configuration for the site gateway.getOspfInterface
getOspfNeighborsGet OSPF neighbor devices for the site gateway.getOspfNeighbors
getOspfProcessGet OSPF process configuration for the site gateway.getOspfProcess
getSwitchVlanInterfaceGet VLAN interface configuration for a specific switch. Requires switchMac.getSwitchVlanInterface
getSyslogConfig[DEPRECATED] Alias of getRemoteLogging for controller syslog configuration.getSyslogConfig
getVrrpConfigGet VRRP configuration for OSW devices on the site.getVrrpConfig
getWanHealthDetail[DEPRECATED] Alias for the WAN health tool; kept for backward compatibility. Requires gatewayMac.getWanHealthDetail
getWanIspProfileGet ISP scan profile result for a WAN port. Requires portUuid.getWanIspProfile
getWanNatConfigGet one-to-one NAT configuration (WAN NAT rules) for the site gateway (paginated).getWanNatConfig
getWanPortDetail[DEPRECATED] Use getWanPortsConfig instead. Get detailed WAN port configuration for all gateway WAN ports on the site.getWanPortDetail
getWanQosConfigGet QoS configuration for gateway WAN ports on the site.getWanQosConfig
getWanUsageStats[DEPRECATED] Use getDashboardTrafficActivities instead. Get WAN traffic usage statistics and activity data for the site.getWanUsageStats
getRetryAndDroppedRateGet wireless retry rate and dropped packet rate over a time range.getRetryAndDroppedRate
getRogueApsGet the list of rogue (unauthorized) access points detected by WIDS....getRogueAps
getSessionLimitGet the session limit global setting for the site gateway.getSessionLimit
getSnmpSettingGet SNMP configuration for the site.getSnmpSetting
getSpeedTestResultsGet the last speed test results for an access point.getSpeedTestResults
getSitesApsChannelLimitGet AP channel-limit configuration.getSitesApsChannelLimit
updateSitesApsChannelLimitUpdate AP channel-limit configuration with dry-run support.setApChannelLimit
modifyGeneralConfig_2Update AP general configuration with dry-run support.setApConfig
modifyIpSettingConfigUpdate AP IP settings with dry-run support.setApConfig
modifyIpv6SettingConfigUpdate AP IPv6 settings with dry-run support.setApConfig
modifyApQosConfigUpdate AP QoS settings with dry-run support.setApConfig
modifyRadiosConfigUpdate AP radio settings with dry-run support.setApConfig
modifyApServicesConfigUpdate AP service settings with dry-run support.setApConfig
modifyApLoadBalanceConfigUpdate AP load-balance settings with dry-run support.setApConfig
modifyApOfdmaConfigUpdate AP OFDMA settings with dry-run support.setApConfig
getSitesApsPowerSavingGet AP power saving configuration.getSitesApsPowerSaving
updateSitesApsPowerSavingUpdate AP power saving configuration with dry-run support.setApPowerSaving
modifyApTrunkSettingConfigUpdate AP trunk settings with dry-run support.setApConfig
modifyApBridgeInfoUpdate AP bridge settings with dry-run support.setApConfig
modifyApPortUpdate AP port settings with dry-run support.setApConfig
modifyApChannelConfigUpdate AP channel configuration with dry-run support.setApConfig
modifyAfcConfigUpdate AP AFC configuration with dry-run support.setApConfig
modifyAntennaGainConfigUpdate AP antenna gain settings with dry-run support.setApConfig
updateWlanGroupConfigUpdate AP WLAN group assignment with dry-run support.setApConfig
modifyGeneralConfig_1Update gateway general configuration with dry-run support.setGatewayConfig
modifyConfigGeneralUpdate gateway config/general settings with dry-run support.setGatewayConfig
modifyConfigServicesUpdate gateway services configuration with dry-run support.setGatewayConfig
modifyConfigAdvancedUpdate gateway advanced settings with dry-run support.setGatewayConfig
modifyConfigRadiosUpdate gateway radio configuration with dry-run support.setGatewayConfig
modifyConfigWlansUpdate gateway WLAN configuration with dry-run support.setGatewayConfig
modifyPortConfigUpdate a gateway port configuration with dry-run support.setGatewayConfig
batchModifyPortConfigUpdate multiple gateway ports with dry-run support.setGatewayConfig
getSshSettingGet SSH access settings for a site.getSshSetting
getSsidDetailGet detailed information for a specific SSID (wireless network), in....getSsidDetail
getSsidListGet the list of SSIDs (wireless networks) configured in a WLAN group.getSsidList
getStackNetworkListGet the VLAN network list for a switch stack.getStackNetworkList
getStackPortsGet all port information for a switch stack.getStackPorts
getSwitchDetailFetch full configuration and status for a specific switch: model, f....getSwitchDetail
getSwitchStackDetailFetch detailed information for a specific switch stack.getSwitchStackDetail
getThreatListGet the global view threat management list.getThreatList
getTopThreatsGet the top threats from the global threat management view across a....getTopThreats
getTrafficDistributionGet traffic distribution by protocol and application type over a ti....getTrafficDistribution
getUpnpSettingGet UPnP (Universal Plug and Play) setting for the site.getUpnpSetting
getVpnSettingsGet VPN configuration settings for a site.getVpnSettings
getVpnTunnelStatsGet VPN tunnel statistics for a site (paginated), including active ....getVpnTunnelStats
getWanLanStatusGet the WAN and LAN connectivity status for a site.getWanLanStatus
getWanPortsConfigGet WAN port settings for the site gateway.getWanPortsConfig
getWidsGet Wireless Intrusion Detection System (WIDS) information for a si....getWids
getWlanGroupListGet the list of WLAN groups configured in a site.getWlanGroupList
listAllSsidsList all wireless SSIDs across all WLAN groups in a site: SSID name....listAllSsids
listClientsList all network clients (wired and wireless) connected to a site.listClients
listClientsActivityGet client activity statistics over time from the dashboard.listClientsActivity
listClientsPastConnectionsGet client past connection list with historical connection data.listClientsPastConnections
listDevicesList all provisioned (adopted) network devices in a site: gateways,....listDevices
listEapAclsList EAP (access point) ACL rules for a site: wireless client acces....listEapAcls
listGlobalAlertsList alert logs across all sites on the controller: threshold breac....listGlobalAlerts
listGlobalEventsList system event logs across all sites on the controller.listGlobalEvents
listGroupProfilesList group profiles (IP groups, MAC groups, port groups) configured....listGroupProfiles
listMostActiveClientsGet the most active clients in a site, sorted by total traffic.listMostActiveClients
listOsgAclsList gateway (OSG) ACL rules for a site: firewall rules controlling....listOsgAcls
listPendingDevicesList devices discovered on the network but not yet adopted into thi....listPendingDevices
listPolicyRoutes[DEPRECATED] Use getGridPolicyRouting instead. This tool aggregates all pages; getGridPolicyRouting is paginated.listPolicyRoutes
listPortForwardingRules[DEPRECATED] Use getPortForwardingList instead. List all NAT port forwarding rules for a site: external port, inter....listPortForwardingRules
listRadiusProfilesList RADIUS authentication profiles configured for a site: server I....listRadiusProfiles
listSiteAlertsList alert logs for a site: threshold breaches, device failures, se....listSiteAlerts
listSiteAuditLogsList admin audit logs for a site: who made what configuration chang....listSiteAuditLogs
listSiteEventsList system event logs for a site: device online/offline, client co....listSiteEvents
listSiteThreatManagementList site-level threat management events detected by IPS, with opti....listSiteThreatManagement
listSiteToSiteVpnsList site-to-site VPN configurations: tunnel name, remote IP, statu....listSiteToSiteVpns
listSitesList all sites configured on the Omada controller.listSites
listStaticRoutes[DEPRECATED] Use getGridStaticRouting instead. This tool aggregates all pages; getGridStaticRouting returns a single paginated page.listStaticRoutes
listSwitchNetworksList VLAN network assignments for a switch.listSwitchNetworks
listTimeRangeProfilesList time range profiles configured for a site.listTimeRangeProfiles
searchDevicesSearch for devices globally across all sites the user has access to.searchDevices
setClientRateLimitSet custom rate limit (bandwidth control) for a specific client.setClientRateLimit
getAclConfigTypeSettingGet the ACL configuration type setting for the site gateway (L2 or ....getAclConfigTypeSetting
getAttackDefenseSettingGet the DDoS and attack defense configuration, including flood prot....getAttackDefenseSetting
getAuditLogSettingForGlobalGet global audit log notification settings for the controller.getAuditLogSettingForGlobal
getAuditLogSettingForSiteGet site-level audit log notification settings, including audit eve....getAuditLogSettingForSite
getAuditLogsForGlobalGet global audit logs (paginated).getAuditLogsForGlobal
getBandSteeringSettingGet the band steering configuration.getBandSteeringSetting
getBandwidthCtrl[DEPRECATED] Use getBandwidthControl instead. Get the global bandwidth control configuration for the site.getBandwidthControl
getBeaconControlSettingGet the beacon control setting, which manages 802.11 beacon transmi....getBeaconControlSetting
getChannelLimitSetting[DEPRECATED] Get the channel limit setting that restricts which cha....getChannelLimitSetting
getClientActiveTimeoutGet the client inactivity timeout setting.getClientActiveTimeout
getClientDetailGet full detail for a specific client by MAC address, including con....getClientDetail
getClientToSiteVpnServerInfoGet detailed configuration for a specific client-to-site VPN server....getClientToSiteVpnServerInfo
getClientsDistributionGet client count distribution by connection type and band (wired, 2....getClientsDistribution
getControllerStatusGet the Omada controller health and status, including running state....getControllerStatus
getDeviceAccessManagementGet the device access management settings, controlling which device....getDeviceAccessManagement
getEapDot1xSettingGet the 802.1X EAP setting for access points, controlling port-base....
getGeneralSettingsGet the global general settings for the Omada controller, including....getGeneralSettings
getGridAllowListGet the IPS allow list (paginated).getGridAllowList
getGridAllowMacFilteringGet the MAC address allow-list entries (paginated).getGridAllowMacFiltering
getGridBlockListGet the IPS block list (paginated).getGridBlockList
getGridClientHistoryGet per-client connection history (paginated).getGridClientHistory
getGridDenyMacFilteringGet the MAC address deny-list entries (paginated).getGridDenyMacFiltering
getGridEapRuleGet the URL filter AP rules (paginated).getGridEapRule
getGridGatewayRuleGet the URL filter gateway rules (paginated).getGridGatewayRule
getGridIpsecFailoverGet IPsec failover configuration (paginated).getGridIpsecFailover
getGridKnownClientsGet historical known clients list (paginated).getGridKnownClients
getGridSignatureGet the IPS signature list (paginated).getGridSignature
getGridStaticRoutingGet static routing rules for the site gateway with explicit pagination.getGridStaticRouting
getGroupProfilesByTypeGet group profiles filtered by type (e.g.getGroupProfilesByType
getIpsConfigGet the IPS (Intrusion Prevention System) global configuration, inc....getIpsConfig
getIpsecVpnStatsGet IPsec VPN tunnel statistics for a site (paginated), including a....getIpsecVpnStats
getLdapProfileListList all LDAP authentication profiles configured on the site.getLdapProfileList
getLogSettingForGlobalGet global log notification settings (v1), including global alert r....getLogSettingForGlobal
getLogSettingForGlobalV2Get global log notification settings (v2), with extended notificati....
getLogSettingForSiteGet site-level log notification settings (v1), including alert reci....getLogSettingForSite
getLogSettingForSiteV2Get site-level log notification settings (v2), with extended notifi....
getLoggingGet the controller logging configuration, including log levels and ....getLogging
getMacAuthSettingGet the MAC authentication global setting.getMacAuthSetting
getMacAuthSsidsGet per-SSID MAC authentication settings showing which SSIDs have M....getMacAuthSsids
getMacFilteringGeneralSettingGet the MAC filtering global setting.getMacFilteringGeneralSetting
getMailServerStatusGet the mail server connection status for the controller.getMailServerStatus
getMeshSettingGet the mesh networking configuration including mesh topology mode ....getMeshSetting
getOsgCustomAclListGet the custom gateway ACL rules list (paginated).getOsgCustomAclList
getOswAclListGet the switch ACL list (paginated).getOswAclList
getOuiProfileListGet the OUI-based device profile list (paginated).getOuiProfileList
getPPSKProfilesList Private PSK (PPSK) profiles for the site by type.getPPSKProfiles
getPastClientNumGet historical client count trend over a time range.getPastClientNum
getRadioFrequencyPlanningConfigGet the RF planning configuration for the site, including frequency....getRadioFrequencyPlanningConfig
getRadioFrequencyPlanningResultGet the RF planning result for the site.getRadioFrequencyPlanningResult
getRadiusServerGet the global RADIUS server configuration for the controller.getRadiusServer
getRadiusUserListList local RADIUS server users (paginated).getRadiusUserList
getRemoteLoggingGet the global syslog/remote logging configuration, including syslo....getRemoteLogging
getRetentionGet the data retention configuration for the controller, including ....getRetention
getRoamingSettingGet the client roaming configuration, including 802.11r/k/v setting....getRoamingSetting
getRoutingTableGet the live routing table for a site filtered by type.getRoutingTable
getServiceTypeSummaryGet a summary of service type profiles for the site, including pred....getServiceTypeSummary
getSiteToSiteVpnInfoGet detailed information about a specific site-to-site VPN by ID, i....getSiteToSiteVpnInfo
getSsidsBySiteGet a flat SSID list filtered by device type.getSsidsBySite
getSslVpnServerSettingGet the SSL VPN server configuration, including port, protocol, and....getSslVpnServerSetting
getSwitchDot1xSettingGet the 802.1X switch port authentication setting.
getThreatCountGet the global threat count grouped by severity level (critical, hi....getThreatSeverity
getThreatDetailGet detailed information about a specific IPS threat event by its ID.getThreatDetail
getUiInterfaceGet the UI interface settings for the controller, including timeout....getUiInterface
getUrlFilterGeneralGet the URL filter global setting, including whether URL filtering ....getUrlFilterGeneral
getWebhookForGlobalGet the global webhook notification settings, including webhook URL....getWebhookForGlobal
getWebhookLogsForGlobalGet webhook dispatch logs (paginated).getWebhookLogsForGlobal
getWidsBlacklistGet the WIPS (Wireless Intrusion Prevention System) rogue AP blackl....getWidsBlacklist
getWireguardSummaryGet a summary of WireGuard VPN configurations for the site, includi....getWireguardSummary
listClientToSiteVpnClientsList all client-to-site VPN client configurations on the site.listClientToSiteVpnClients
listClientToSiteVpnServersList all client-to-site VPN server configurations on the site, incl....listClientToSiteVpnServers
listDevicesStatsQuery statistics for global adopted devices with pagination and fil....listDevicesStats
listMdnsProfileList all Bonjour/mDNS service profiles configured on the site for c....listMdnsProfile
listServiceTypeList service type profiles (paginated).listServiceType
listWireguardList WireGuard VPN tunnels (paginated).listWireguard
listWireguardPeersList WireGuard peers (paginated).listWireguardPeers
getDashboardMostActiveEapsGet the most active access points from the site dashboard by traffic.getDashboardMostActiveEaps
getDashboardTopMemoryUsageGet top memory usage data for devices from the site dashboard.getDashboardTopMemoryUsage
getDashboardTrafficActivitiesGet traffic activity data and throughput summary from the site dashboard.getDashboardTrafficActivities
getGridDashboardTunnelStatsGet VPN tunnel statistics for the grid dashboard view.getGridDashboardTunnelStats
setClientRateLimitProfileApply a predefined rate limit profile to a specific client.setClientRateLimitProfile
getGatewayQosClassRulesGet gateway QoS class rules (paginated).getGatewayQosClassRules
getBandwidthCtrlDetailGet bandwidth control details for a site.getBandwidthCtrlDetail
getAppControlRulesGet application control rules (paginated).getAppControlRules
getAppControlCategoriesGet application control category list.getAppControlCategories
getQosPolicyGet QoS policy configuration for a site.getQosPolicy
getTrafficPriorityGet traffic priority rules for a site.getTrafficPriority
getVpnUserListGet VPN users for a site (paginated).getVpnUserList
getVpnUserDetailGet users for a specific client-to-site VPN server by ID.getVpnUserDetail
getGoogleLdapProfileGet Google LDAP profile configuration for a site.getGoogleLdapProfile
getPpskUserGroupGet PPSK user group details for a specific profile ID.getPpskUserGroup
getPortalProfileGet captive portal profiles for a site.getPortalProfile
getUserRoleProfileGet user role profiles from the controller (global).getUserRoleProfile
getRadiusProxyConfigGet global RADIUS proxy configuration (controller-level).getRadiusProxyConfig
getSiteEntityGet site detail.getSiteDetail
getSiteUrlByOpenApiGet site URL.getSiteUrl
getNtpServerStatusGet NTP server status for a site.getSiteNtpStatus
getSiteSpecificationGet site specification.getSiteSpecification
getSiteRememberSettingByOpenApiGet site remember device setting.getSiteRememberSetting
getSiteDeviceAccountSettingGet site device account setting.getSiteDeviceAccount
getSiteSettingCapGet site capacity setting.getSiteCapacity
getSiteTemplateListList site templates.getSiteTemplateList
getSiteTemplateEntityGet site template detail.getSiteTemplateDetail
getSiteTemplateConfigurationGet site template configuration.getSiteTemplateConfig
getDataRetentionGet data retention settings.getDataRetention
getControllerPortGet controller port setting.getControllerPort
getPortalPortGet portal port setting.getPortalPort
getCertificateGet certificate configuration.getCertificate
getExpImproveGet experience improvement setting.getExperienceImprovement
getGernalSettings_1Get global dashboard overview without client data.getGlobalDashboardOverview
getClientHistoryDataEnableGet client history data enable setting.getClientHistoryDataEnable
getSelfServerFileListList controller backup files.getBackupFileList
getBackupResultGet controller backup result.getBackupResult
getRestoreResultGet controller restore result.getRestoreResult
getSiteBackupResultGet site backup result.getSiteBackupResult
getSelfServerSiteFileListList site backup files.getSiteBackupFileList
getAllCloudUsersExcludeRootList all cloud users excluding root.getAllCloudUsers
getAllLocalUsersExcludeRootList all local users excluding root.getAllLocalUsers
getAllRoles[DEPRECATED] Use getUserRoleProfile instead. List all roles.getAllRoles
getRoleGet role detail.getRoleDetail
getAvailableRoleList available roles.getAvailableRoles
getAppGridUsersList all users in app grid view.getAllUsersApp
getCloudAccessStatusGet cloud access status.getCloudAccessStatus
getCloudUserInfoGet cloud user info.getCloudUserInfo
getGlobalMFAStatusGet global MFA status.getMfaStatus
getRemoteBindingStatusGet remote binding status.getRemoteBindingStatus
getUpgradeScheduleListList upgrade schedules for a site.getUpgradeScheduleList
getRebootScheduleList_1List reboot schedules for a site template.getRebootScheduleList
getPoeScheduleListList PoE schedules for a site.getPoeScheduleList
getPortScheduleListList port schedules for a site.getPortScheduleList
getPortSchedulePortsList ports with port schedules.getPortSchedulePorts
getMulticastRateLimitByOpenApiGet multicast rate limit setting.getMulticastRateLimit
getApLoadBalanceConfigGet AP load balance configuration.getApLoadBalance
getApOfdmaConfig[DEPRECATED] Use getSitesApsOfdma instead. Same endpoint, retained for backward compatibility. getSitesApsOfdma is the canonical tool name.getApOfdmaConfig

Devcontainer support

The repository includes a ready-to-use devcontainer configuration with a dedicated Omada controller sidecar for local development and testing. See .devcontainer/README.md for details.

License

This project is licensed under the MIT License.

Server Config

{
  "mcpServers": {
    "safe-omada": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "OMADA_BASE_URL=https://your-omada-controller.local",
        "-e",
        "OMADA_CLIENT_ID=your-client-id",
        "-e",
        "OMADA_CLIENT_SECRET=your-client-secret",
        "-e",
        "OMADA_OMADAC_ID=your-omadac-id",
        "-e",
        "OMADA_SITE_ID=your-site-id",
        "-e",
        "OMADA_STRICT_SSL=true",
        "ghcr.io/ailivesinterminal/omada-mcp:latest"
      ]
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
ChatWiseThe second fastest AI chatbot™
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
WindsurfThe new purpose-built IDE to harness magic
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Serper MCP ServerA Serper MCP Server
Amap Maps高德地图官方 MCP Server
CursorThe AI Code Editor
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright McpPlaywright MCP server
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Tavily Mcp
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
DeepChatYour AI Partner on Desktop