Files
proxmox/mcp-omada/README.md
defiQUG cb47cce074 Complete markdown files cleanup and organization
- Organized 252 files across project
- Root directory: 187 → 2 files (98.9% reduction)
- Moved configuration guides to docs/04-configuration/
- Moved troubleshooting guides to docs/09-troubleshooting/
- Moved quick start guides to docs/01-getting-started/
- Moved reports to reports/ directory
- Archived temporary files
- Generated comprehensive reports and documentation
- Created maintenance scripts and guides

All files organized according to established standards.
2026-01-06 01:46:25 -08:00

180 lines
4.2 KiB
Markdown

# Omada MCP Server
Model Context Protocol (MCP) server for managing TP-Link Omada devices through Claude Desktop and other MCP clients.
## Features
- List and query Omada devices (routers, switches, access points)
- View VLAN configurations
- Get device statistics and status
- Reboot devices
- View firewall rules
- Query router WAN configurations
- Query switch port configurations
## Installation
```bash
pnpm install
pnpm build
```
## Configuration
### Environment Variables
Create or update `~/.env` with the following:
```bash
# Omada Controller Configuration
OMADA_CONTROLLER_URL=https://192.168.11.8:8043
OMADA_API_KEY=your-api-key
OMADA_API_SECRET=your-api-secret
OMADA_SITE_ID=your-site-id # Optional, will use default site if not set
OMADA_VERIFY_SSL=false # Set to true for production (requires valid SSL cert)
```
**Recommended:** Use the `proxmox-controller` API application (Client Credentials mode) for MCP automation:
- Client ID: `94327608913c41bb9c32ce8d1d6e87d3`
- Client Secret: `600b924a541a4139a386cb7c63ac47b5`
See the [Physical Hardware Inventory](../config/physical-hardware-inventory.md) for complete API credential details.
### Getting API Credentials
1. Access your Omada Controller web interface
2. Navigate to **Settings** > **Platform Integration** > **Open API**
3. Click **Add New App**
4. Provide an app name and select **Client Credentials** mode
5. Save to get your **Client ID** (API Key) and **Client Secret**
## Claude Desktop Integration
Add to your Claude Desktop config file:
```json
{
"mcpServers": {
"omada": {
"command": "node",
"args": ["/path/to/proxmox/mcp-omada/dist/index.js"]
}
}
}
```
### Config File Locations
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
- **Linux**: `~/.config/Claude/claude_desktop_config.json`
## Available Tools
### `omada_list_devices`
List all Omada devices (routers, switches, access points).
**Parameters:**
- `deviceType` (optional): Filter by type - 'router', 'switch', 'ap', or 'all'
- `siteId` (optional): Site ID (uses default if not provided)
### `omada_get_device`
Get detailed information about a specific device.
**Parameters:**
- `deviceId` (required): Device ID
- `siteId` (optional): Site ID
### `omada_list_vlans`
List all VLANs configured in the Omada Controller.
**Parameters:**
- `siteId` (optional): Site ID
### `omada_get_vlan`
Get VLAN configuration details.
**Parameters:**
- `vlanId` (required): VLAN ID
- `siteId` (optional): Site ID
### `omada_reboot_device`
Reboot a device.
**Parameters:**
- `deviceId` (required): Device ID to reboot
- `siteId` (optional): Site ID
### `omada_get_device_statistics`
Get device statistics (CPU, memory, traffic).
**Parameters:**
- `deviceId` (required): Device ID
- `siteId` (optional): Site ID
### `omada_list_firewall_rules`
List firewall rules.
**Parameters:**
- `siteId` (optional): Site ID
### `omada_get_switch_ports`
Get switch port configuration (for SG218R and other switches).
**Parameters:**
- `deviceId` (required): Switch device ID
- `siteId` (optional): Site ID
### `omada_get_router_wan`
Get router WAN port configuration (for ER605 and other routers).
**Parameters:**
- `deviceId` (required): Router device ID
- `siteId` (optional): Site ID
### `omada_list_sites`
List all sites in the Omada Controller.
**Parameters:** None
## Usage Examples
Once configured, you can ask Claude Desktop:
- "List all routers in my Omada network"
- "Show me the VLAN configurations"
- "Get statistics for device XYZ"
- "What are the WAN settings for router ABC?"
- "Show me the ports on switch DEF"
## Troubleshooting
### Connection Errors
- Verify `OMADA_CONTROLLER_URL` is correct (IP address and port 8043)
- Check that the Omada Controller is running and accessible
- If using self-signed certificates, ensure `OMADA_VERIFY_SSL=false`
### Authentication Errors
- Verify `OMADA_API_KEY` and `OMADA_API_SECRET` are correct
- Check that the API app is enabled in Omada Controller
- Ensure the API app has the necessary permissions
### Device Not Found
- Verify the `deviceId` is correct
- Check that `siteId` matches the device's site (if provided)
- Ensure the device is adopted and online