Security-first MCP server for TP-Link Omada, with a stdio-first runtime, capability-gated tools, and OpenAPI-based network automation.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add safe-tp-link-omada -- docker 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~/.codex/config.toml
[mcp_servers.safe-tp-link-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"]
# codex mcp add safe-tp-link-omada -- docker 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~/.cursor/mcp.json
{
"mcpServers": {
"safe-tp-link-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"
]
}
}
}.vscode/mcp.json
{
"servers": {
"safe-tp-link-omada": {
"type": "stdio",
"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"
]
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"safe-tp-link-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"
]
}
}
}claude_desktop_config.json
{
"mcpServers": {
"safe-tp-link-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"
]
}
}
}.trae/mcp.json
{
"mcpServers": {
"safe-tp-link-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"
]
}
}
}