# UniFi MCP connector

Connect UniFi to Elaichi and Claude, ChatGPT, Cursor, or any MCP client can list your UniFi devices, hosts, sites, SD-WAN configurations and ISP metrics, and manage console paths, with every request running as the signed-in person and recorded in an audit log.

Source: https://elaichi.ai/connectors/unifi/

## Facts

| | |
| --- | --- |
| Application | UniFi |
| Category | Device Management |
| AI tools | 14 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | Yes |

## What you can ask once UniFi is connected

- List every UniFi site with offline devices right now
- Show ISP metrics for our three busiest UniFi hosts
- Which UniFi SD-WAN configs changed status this week

## Connect UniFi in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick UniFi.
2. Optionally set Share with, then press Connect.
3. Paste an UniFi API key. One person generates a token in UniFi and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which UniFi tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect UniFi to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect UniFi to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect UniFi to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect UniFi to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a UniFi tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with UniFi through Elaichi

### Check which devices are online before a ticket escalates

IT. Ask which UniFi devices and hosts are registered across your sites and get a plain list back, so the help desk can confirm what is out there before anyone walks to a closet.

### Review SD-WAN status across every site

Network operations. Pull the current SD-WAN configurations and their status in one question, then spot the site whose configuration has not come up cleanly.

### Give a client a site inventory in minutes

Managed services. List the UniFi sites, hosts and devices you manage for a customer and turn them into a summary for the monthly review, without opening each console by hand.

### Explain a slow connection with ISP metrics

IT. When someone says the internet is slow, ask for the ISP metrics for that site and answer with real latency and throughput numbers instead of a guess.

### Keep console paths tidy as sites change

Network operations. Create a console path for a new location, update the ones that moved, and clear out the stale ones in bulk, all from a single conversation.

### Confirm what is installed at a new office

Office management. Before the move-in day, ask which UniFi hosts and devices are already registered at the new site so you know what still needs to be plugged in.

## Frequently asked questions

### How do I connect UniFi to Claude?

Connect UniFi in Elaichi first by pasting the API key from your UniFi account; there is no OAuth application to register and no client ID or secret to generate. Then open Claude, go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Claude will ask you to sign in to Elaichi as yourself, and from then on your UniFi devices, hosts and sites are available in the conversation.

### Does UniFi work with ChatGPT and Cursor as well as Claude?

Yes. Once UniFi is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect UniFi once and every client you use picks it up.

### What can an AI agent actually do with my UniFi data?

An agent connected to UniFi through Elaichi can list your devices, hosts and sites, look up a single host, read your SD-WAN configurations and their current status, and pull ISP metrics for a site. It can also create, update and remove console paths, including in bulk. It cannot reboot devices or change network settings, because this connector does not include those actions.

### Does connecting UniFi give the AI access to my whole network?

No. Everything the agent does in UniFi runs under the API key of the person who connected it, so it sees only the sites and consoles that key can already reach. Elaichi can narrow that further, for example to read-only questions about devices and ISP metrics, but it can never widen access beyond what UniFi itself allows.

### Can my team share one UniFi connection?

Yes. One administrator connects UniFi in Elaichi and shares the connection with a team, and nobody else ever sees or handles the API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the person who asked about a site or changed a console path, not a shared account.

### Can I stop an agent from deleting or changing things in UniFi?

Yes. Restrictions in Elaichi apply per action, so you can allow listing UniFi devices, hosts and SD-WAN status while blocking the creation, update or bulk deletion of console paths. A blocked action is never shown to Claude, ChatGPT or Cursor at all, so no prompt, however worded, can reach it.

### What happens to a UniFi connection when someone leaves?

When you offboard someone in Elaichi, their access to UniFi through every client ends at once. If they had shared a UniFi connection with the team, it keeps working for everyone else. If you want it gone entirely, disconnecting UniFi once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

## All 14 UniFi tools

Every tool below is callable through https://api.elaichi.ai/mcp once UniFi is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all UniFi devices** (List). List UniFi devices managed by hosts where the calling UI account is the owner or a super admin. Returns: hostId, hostName, devices, updatedAt. The devices array includes per-device id, mac, model, status, version, and firmwareStatus. Optional filters: host_ids, time.
- **List all UniFi hosts** (List). List UniFi hosts associated with the UI account making the API call. Returns: id, hardwareId, type, ipAddress, owner, isBlocked, registrationTime, lastConnectionStateChange, latestBackupTime, userData, reportedState. The structure of userData and reportedState may vary depending on the UniFi OS or Network Server version.
- **Get single UniFi host by ID** (Get). Get a UniFi host by id. Returns the full host object including id, hardwareId, type, ipAddress, owner, isBlocked, registrationTime, lastConnectionStateChange, latestBackupTime, userData, and reportedState. The structure of userData and reportedState may vary depending on the UniFi OS or Network Server version. Required: id.
- **List all UniFi sites** (List). List all UniFi sites associated with the UI account making the API call. Returns: siteId, hostId, meta, statistics, permission, isOwner. The meta and statistics field structures may vary by UniFi Network version.
- **List all UniFi sd wan configs** (List). List all hub-and-spoke SD-WAN configurations associated with the UniFi account. Returns: id, name, type.
- **Get single UniFi sd wan config by ID** (Get). Get detailed information about a specific SD-WAN configuration in UniFi by id. Returns the full config object including id, name, type, variant, settings, hubs, and spokes. Required: id.
- **List all UniFi sd wan config status** (List). Get the deployment status of a specific UniFi SD-WAN configuration, including hub and spoke WAN status, tunnel connections, errors, and warnings. Returns: id, fingerprint, updatedAt, hubs, spokes, lastGeneratedAt, generateStatus, errors, warnings. Required: sd_wan_config_id.
- **List all UniFi isp metrics** (List). List UniFi ISP metrics for all sites linked to the API key using 5m or 1h intervals. Returns: metricType, periods, hostId, siteId. The `duration` parameter is mutually exclusive with `begin_timestamp` and `end_timestamp`. 5m metrics are retained for at least 24 hours, 1h metrics for at least 30 days. Required: type.
- **List all UniFi isp metric queries** (List). Query UniFi ISP metrics for specified sites and time ranges, returning WAN performance data per interval. Returns: metricType, periods, hostId, siteId. 5m metrics are retained for at least 24 hours and 1h metrics for at least 30 days. Required: type.
- **List all UniFi console paths** (List). Forward a GET request to a UniFi console's proxied API path via the UniFi Site Manager connector. Returns: id, internalReference, name. Required: console_id, path.
- **Create a UniFi console path** (Create). Forward a POST request to a UniFi console's Network or Protect application via the UniFi Site Manager connector proxy. The request body is whatever the proxied upstream endpoint expects, and the upstream API response is passed through directly. Required: console_id, path.
- **UniFi console paths partial update** (Update). Forward a PATCH request to a UniFi console's proxied API path via the cloud connector. Returns the upstream response passed through directly — the shape depends on the path being proxied (e.g., id, liveview, modelKey, name, state, streamLimit for a Protect viewer, or vouchersDeleted for a Network voucher operation). Required: id, path. Console firmware must be >= 5.0.3.
- **UniFi console paths bulk update** (Update). Forward a PUT request to a UniFi console's Network or Protect application via the UniFi Site Manager connector proxy. Returns: id, metadata, name, liveview, modelKey, state, streamLimit, vouchersDeleted, applicationVersion. Required: id, path.
- **UniFi console paths bulk delete** (Delete). Forward a DELETE request to a UniFi console's proxied API path via the cloud connector. Returns the upstream response passed through directly — the shape depends on the path being proxied (e.g., vouchersDeleted for a Network voucher deletion, or success for a guest access revocation). Required: id, path. Console firmware must be >= 5.0.3.
