AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

Omada Mcp

mcp-realtydev-omada-mcp · by realtydev

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

No reviews yet
0 installs
10 views
0.0% view→install

Install

$ agentstack add mcp-realtydev-omada-mcp

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-realtydev-omada-mcp)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
7mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Omada Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Omada MCP Server

Full CRUD MCP server for TP-Link Omada SDN controllers. Exposes 60+ tools for reading, writing, and managing sites, devices, clients, networks, switch ports, firewalls, and more — all via the Model Context Protocol.

Quick Start

Using with Claude Code / Claude Desktop (stdio)

Add to your MCP client configuration:

{
  "mcpServers": {
    "omada": {
      "command": "node",
      "args": ["/path/to/omada-mcp/dist/index.js"],
      "env": {
        "OMADA_BASE_URL": "https://your-omada-controller.local",
        "OMADA_CLIENT_ID": "your-client-id",
        "OMADA_CLIENT_SECRET": "your-client-secret",
        "OMADA_OMADAC_ID": "your-omadac-id",
        "OMADA_SITE_ID": "your-site-id",
        "OMADA_STRICT_SSL": "false"
      }
    }
  }
}

Using Docker

{
  "mcpServers": {
    "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=false",
        "jmtvms/tplink-omada-mcp:latest"
      ]
    }
  }
}

Docker HTTP Server

docker run -d \
  --env-file .env \
  -e MCP_SERVER_USE_HTTP=true \
  -e MCP_HTTP_BIND_ADDR=0.0.0.0 \
  -p 3000:3000 \
  jmtvms/tplink-omada-mcp:latest

Available at http://localhost:3000/mcp (stream) or http://localhost:3000/sse (SSE).

Environment Variables

Omada Controller

| Variable | Required | Default | Description | |---|---|---|---| | OMADA_BASE_URL | Yes | - | Omada controller URL | | OMADA_CLIENT_ID | Yes | - | OAuth client ID | | OMADA_CLIENT_SECRET | Yes | - | OAuth client secret | | OMADA_OMADAC_ID | Yes | - | Controller ID (omadacId) | | OMADA_SITE_ID | No | - | Default site ID | | OMADA_STRICT_SSL | No | true | SSL verification (false for self-signed) | | OMADA_TIMEOUT | No | 30000 | Request timeout (ms) |

MCP Server

| Variable | Required | Default | Description | |---|---|---|---| | MCP_SERVER_LOG_LEVEL | No | info | debug, info, warn, error, silent | | MCP_SERVER_LOG_FORMAT | No | plain | plain, json, gcp-json | | MCP_SERVER_USE_HTTP | No | false | Enable HTTP transport | | MCP_SERVER_STATEFUL | No | false | Stateful sessions | | MCP_HTTP_PORT | No | 3000 | HTTP port | | MCP_HTTP_TRANSPORT | No | stream | stream or sse | | MCP_HTTP_BIND_ADDR | No | 127.0.0.1 | Bind address |

Tools

Read Tools

| Tool | Description | |---|---| | listSites | List all sites on the controller | | listDevices | List devices for a site | | listClients | List active clients for a site | | getDevice | Get details for a specific device | | getClient | Get details for a specific client | | getSwitchStackDetail | Get switch stack configuration and status | | searchDevices | Search devices globally across all sites | | listDevicesStats | Device statistics with pagination and filtering | | listMostActiveClients | Top clients sorted by traffic | | listClientsActivity | Client activity time-series data | | listClientsPastConnections | Historical client connections | | getThreatList | Security threat list with filtering | | getInternetInfo | Internet / WAN configuration | | getPortForwardingStatus | Port forwarding rules (User/UPnP) | | getLanNetworkList | LAN networks and VLAN settings | | getLanProfileList | LAN profiles for switch ports | | getWlanGroupList | WLAN groups | | getSsidList | SSIDs in a WLAN group | | getSsidDetail | Detailed SSID configuration | | getFirewallSetting | Firewall rules and policies | | getSwitchPorts | All ports for a switch (status, PoE, speed, STP) | | getFirmwareDetails | Firmware info for a device | | listEvents | Paginated site events | | listLogs | Paginated site logs | | listFirewallAcls | Firewall ACL rules | | listRoutes | Static routes | | getSwitch | Full switch info including portList array | | getCableTestResults | Cable test results for a switch | | getSwitchNetworks | Switch VLAN trunking configuration |

Write Tools

| Tool | Description | |---|---| | createLanNetwork | Create a LAN network | | updateLanNetwork | Update a LAN network | | deleteLanNetwork | Delete a LAN network | | createLanProfile | Create a LAN profile | | updateLanProfile | Update a LAN profile | | updateFirewallSetting | Update firewall settings | | createFirewallAcl | Create a firewall ACL rule | | deleteFirewallAcl | Delete a firewall ACL rule | | updateSwitchPort | Update switch port config (profile, PoE, speed, STP) | | updateClient | Update client settings | | setSwitchNetworks | Set switch VLAN trunking configuration |

Switch Port Tools

| Tool | Description | |---|---| | setSwitchPortProfile | Assign a LAN profile to a single port | | setSwitchPortPoe | Enable/disable PoE on a single port | | setSwitchPortName | Set name on a single port | | setSwitchPortStatus | Enable/disable a single port | | setSwitchPortProfileOverride | Enable/disable profile override on a single port | | batchSetSwitchPortProfile | Batch profile override on multiple ports | | batchSetSwitchPortPoe | Batch PoE on multiple ports | | batchSetSwitchPortStatus | Batch enable/disable multiple ports | | batchSetSwitchPortName | Batch set names on multiple ports | | startCableTest | Start cable test on a switch |

Action Tools

| Tool | Description | |---|---| | rebootDevice | Reboot a device | | adoptDevice | Adopt a device | | blockClient | Block a client | | unblockClient | Unblock a client | | reconnectClient | Reconnect a client | | setDeviceLed | Set device LED setting | | startFirmwareUpgrade | Start firmware upgrade | | setGatewayWanConnect | Connect/disconnect gateway WAN port |

Generic

| Tool | Description | |---|---| | genericApiCall | Invoke any Omada OpenAPI endpoint directly |

Development

npm install
npm run dev          # Live reload via tsx
npm run build        # Compile TypeScript
npm run check        # Lint + type check
npm start            # Run compiled server (stdio)

Docker

npm run docker:build   # Build image
npm run docker:run     # Run with .env file

Credits

Forked from jmtvms/tplink-omada-mcp. Extended with full CRUD operations, switch port management, batch operations, and cable testing by realtydev/omada-mcp.

License

[MIT](LICENSE)

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.