# Ayla Networks MCP connector

The Ayla Networks connector lets Claude, ChatGPT, Cursor and other AI clients look up connected devices, check connection history, set schedules and triggers, and update device records in Ayla Networks, with each person signed in as themselves and every action logged.

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

## Facts

| | |
| --- | --- |
| Application | Ayla Networks |
| Category | Device Management |
| AI tools | 68 |
| 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 | No. 68 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Ayla Networks is connected

- Show devices offline for more than 24 hours.
- List all devices registered to the EMEA team.
- Summarize connection history for device DVC-4821.

## Connect Ayla Networks in Elaichi

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

1. Open Connections, choose Add connection, and pick Ayla Networks.
2. Optionally set Share with, then press Connect.
3. Paste an Ayla Networks API key. One person generates a token in Ayla Networks 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 Ayla Networks tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Ayla Networks 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 Ayla Networks 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 Ayla Networks 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 Ayla Networks 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 Ayla Networks 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 Ayla Networks through Elaichi

### Find a customer's device and check its status

Support. Search Ayla Networks for the device a caller is describing, pull up its details and connection history, and see whether it has dropped offline before the customer finishes explaining the problem.

### Update device locations after an install

Field service. When a technician finishes an installation, catch the device record up with its new location in Ayla Networks and confirm it has registered correctly.

### Set schedules across a fleet at once

Operations. Update schedules and schedule actions for many devices in one pass in Ayla Networks, rather than opening each device and editing it by hand.

### Define a new device template

Product. Create a template and its properties in Ayla Networks when a new product model is ready, so devices coming off the line register against the right definition.

### Spin up virtual devices for testing

Engineering. Create virtual devices in Ayla Networks to test firmware behavior, triggers and notifications before real hardware ships.

### Set up alerts for device events

Operations. Create notification apps and triggers in Ayla Networks so the right people hear about a device going offline or a reading crossing a threshold.

## Frequently asked questions

### How do I connect Ayla Networks to Claude?

Connect Ayla Networks in Elaichi first, which means pasting in your Ayla Networks API key. There is no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Claude asks you to sign in to Elaichi, and Ayla Networks is ready to use.

### Does Ayla Networks work with ChatGPT and Cursor as well as Claude?

Yes. Once Ayla Networks 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 Ayla Networks once and every client picks it up.

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

With Ayla Networks connected, an agent can find a device, pull its details and connection history, list devices that are ready to register, update locations, set schedules and triggers, create templates and notification apps, and record datapoints. Because Ayla Networks has many possible actions, short concrete asks like "show connection history for device 4821" work better than long sentences.

### Does connecting Ayla Networks give the AI access to every device in my account?

No. Every action runs as the person who signed in, so an agent only sees the Ayla Networks devices, templates and schedules that person can already see. Elaichi can narrow that further by hiding or blocking actions for a team, but it can never grant more access to Ayla Networks than the person already has.

### Can my team share one Ayla Networks connection?

Yes. One person connects Ayla Networks with the API key and shares the connection with a team, and nobody else ever handles or sees that key. Each teammate still signs in to Elaichi as themselves, so every action against Ayla Networks is logged under the name of the person who asked for it.

### Can I stop an agent from changing or updating devices in Ayla Networks?

Yes. Restrictions in Elaichi apply action by action, so you can allow looking up Ayla Networks devices and connection history while blocking bulk updates, schedule changes or new triggers. A blocked action is never shown to the AI client at all, so no prompt, however worded, can reach it.

### What happens to a Ayla Networks connection when someone leaves?

Offboarding a person in Elaichi ends their access to Ayla Networks immediately, across Claude, ChatGPT, Cursor and every other client. A shared Ayla Networks connection keeps working for everyone else on the team. If you ever want to remove Ayla Networks entirely, disconnecting it once in Elaichi removes it from every client at the same time.

## All 68 Ayla Networks tools

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

- **Ayla Networks auth sign in** (Action). Sign in to the Ayla IoT platform with user credentials and application details to obtain authentication tokens. Returns: user.
- **Ayla Networks auth SSO sign in** (Action). Sign in to the Ayla IoT platform using a single sign-on (SSO) token from an identity provider. Returns: access_token, refresh_token. Required: token.
- **Ayla Networks auth validate token** (Validate). Validate an Ayla token and return the user profile to the identity provider. Returns: response. Required: token.
- **Ayla Networks auth bulk update** (Update). Update or delete an Ayla SSO user by specifying the operation and the user's unique identifier. Returns an empty 202 response on success. Required: operation, uuid.
- **Ayla Networks devices get registrable** (Get). Get registrable devices in Ayla Networks available for registration via Same-LAN, Button-Push, Dsn, or Node. Returns: dsn, ip. Required: regtype. For Button-Push the button must have been pressed within the last 2 minutes; if dsn is specified other parameters are ignored.
- **List all Ayla Networks devices** (List). List devices associated with the authenticated Ayla Networks account. Returns: id, dsn, model, oem_model, mac, connected_at, activated_at, status, user_uuid.
- **Ayla Networks devices update location** (Update). Update the location of an Ayla Networks device. Returns: location. Required: dev_id.
- **Ayla Networks devices get connection history** (Get). Get paginated connection history for an Ayla Networks device sorted by event_time or status. Returns: event_time, status. Required: dev_id, page_no, per_page, field_name, order_by.
- **Ayla Networks devices get lan data** (Get). Get LAN data for a specific Ayla device by device id. Returns: id, attributes. Required: devid.
- **Ayla Networks devices create virtual** (Create). Create a virtual device in Ayla. Returns: id, attributes. Required: product_name, oem_model. The oem parameter is mandatory for Ayla::Admin users.
- **Ayla Networks devices search** (Search). Search devices for a specific OEM and dealer in the Ayla Networks platform. Returns a list of device records including dsn, oem_model, device_type, status, model, registered, and connected_at. Required: oem, dealer.
- **Create a Ayla Networks device** (Create). Register a device in the Ayla Networks platform by submitting a device object in the request body. Returns the created device including its dsn, id, and connected_at. Required: device.
- **Get single Ayla Networks device by ID** (Get). Get a single Ayla device by DSN (device serial number). Returns the device object including dsn, connection_priority, model, mac, oem_model, status, user_uuid, connected_at, and activated_at. Required: id.
- **Ayla Networks devices bulk update** (Update). Update the address of an Ayla Networks device. Returns: addr. Required: dev_id.
- **Create a Ayla Networks template** (Create). Create a new device template in Ayla Networks. Returns the template object including id, name, visibility, template_type, registration_type, and description. Required: visibility, registration_type, template_type, name, description. gateway_type is mandatory when template_type is Gateway; lanip_keep_alive and lanip_lifetime are mandatory when connection_priority is not empty.
- **Ayla Networks templates bulk update** (Update). Update an existing device template in Ayla Networks by id. Returns the template object including id, name, visibility, template_type, registration_type, and description. Required: id, visibility, registration_type, template_type, name, description. gateway_type is mandatory when template_type is Gateway; lanip_keep_alive and lanip_lifetime are mandatory when connection_priority is not empty.
- **Create a Ayla Networks template property** (Create). Create a template property for a specific Ayla template. Returns: template_property. Required: template_id, template_property.
- **Ayla Networks schedules bulk update** (Update). Update a device schedule in Ayla, including its schedule and schedule_actions configuration. Returns the updated schedule and schedule_actions objects including active status, UTC setting, and recurrence rules. Required: dev_id, id.
- **Ayla Networks schedule actions bulk update** (Update). Update a schedule action in Ayla Networks by id. Returns the updated schedule_action object including its type. Required: id.
- **Create a Ayla Networks notification app** (Create). Create a notification app in Ayla Networks for a specific notification. Returns the created notification app including id, notification_id, app_type, nickname, and notification_app_parameters. Required: not_id. Supported app_type values are email, sms, push_ios, push_android, push_android_fcm, and push_baidu — each requires a different set of notification_app_parameters.
- **Ayla Networks notification apps bulk update** (Update). Update a notification app in Ayla Networks by id. Returns the updated notification app including id, notification_id, app_type, nickname, and notification_app_parameters. Required: not_id, id. Supported app_type values are email, sms, push_ios, push_android, push_android_fcm, and push_baidu — each requires a different set of notification_app_parameters.
- **Create a Ayla Networks trigger** (Create). Create a trigger for a device property in Ayla Networks. Returns the trigger object with active state and the trigger_apps object with requires_acceptance and asset flags. Required: dsn, prop_name.
- **Ayla Networks triggers bulk update** (Update). Update an existing trigger in Ayla Networks by id. Returns the trigger object with active state and the trigger_apps object with requires_acceptance and asset flags. Required: id.
- **Ayla Networks datapoints create in group** (Create). Create datapoints for all devices in an Ayla group by posting an array of datapoint payloads. Returns: id, property_name, value, created_at. Required: group_id.
- **Ayla Networks datapoints create by dsn** (Create). Create a single datapoint for a device property identified by DSN and property name in Ayla. Returns: id, property_name, value, created_at. Required: dsn, prop_name.
- **List all Ayla Networks datapoints** (List). List datapoints for a specific device property identified by DSN in Ayla. Returns: id, property_name, value, created_at. Required: dsn, prop_name.
- **List all Ayla Networks oems** (List). List OEMs (Original Equipment Manufacturers) registered in Ayla Networks. Returns a collection of OEM records, each identified by its id. No additional request parameters are required.
- **List all Ayla Networks end users** (List). List end users for an OEM in Ayla Networks, with optional filtering by email, first name, or last name. Returns: uuid, email, phone, firstname, lastname, nickname, username. Required: oem_id.
- **Ayla Networks factory devices reserve dsns** (Action). Reserve a specified count of DSNs (Device Serial Numbers) for a module model and OEM in Ayla Networks. Returns: dsn. Required: model, count, reserve_oem.
- **Ayla Networks factory devices provision** (Action). Provision a factory device in Ayla Networks by updating its OEM and hardware information. Returns the provisioned device record including dsn, model, Mac, manuf_model, hwsig, oem_model, module_sw_version, dom_at, and oem_host_version. Required: dsn, model, Mac, manuf_model, hwsig, oem_model, module_sw_version, dom_at, oem_host_version.
- **Ayla Networks factory devices bulk update** (Update). Update manufacturer information for a device identified by DSN in Ayla Networks. Returns: dsn, model, mac, hwsig, hom_at. Required: dsn, model, mac, hwsig, hom_at.
- **Create a Ayla Networks icc file** (Create). Upload a file to associate with an existing file record in the Ayla IoT Command Center. Returns: file_id. Required: file_id, file.
- **Ayla Networks icc jobs remove ota command** (Delete). Remove an OTA command from specified devices in an Ayla Networks ICC job. Returns an empty 202 Accepted response on success. Required: job_id.
- **Ayla Networks icc jobs retry selected devices** (Action). Retry OTA updates for selected devices in an Ayla Networks ICC job. Returns a 200 OK response acknowledging the retry request. Required: job_id.
- **Create a Ayla Networks action** (Create). Create a new action in the Ayla Rule Service. Returns the created action including its id, created_at, and updated_at. Required: action.
- **Ayla Networks actions bulk delete** (Delete). Delete multiple actions in bulk from the Ayla Rule Service. Returns an empty 204 response on success. Required: ids (max 10 entries).
- **Create a Ayla Networks rule** (Create). Create a rule in Ayla Networks with a logical expression that evaluates device datapoints, connections, or locations and triggers associated actions when true. Returns the created rule object including name, description, expression, action_ids, is_subscription, and is_template. Required: rule.
- **Create a Ayla Networks destination** (Create). Create a new message destination in Ayla Networks for delivering notifications via email, SMS, or push. Returns the created destination object including type, body, provider, repeat_freq, and deliver_to. Required: type.
- **Delete a Ayla Networks destination by ID** (Delete). Delete an Ayla Networks message destination by id. Returns an empty 204 response on success. Required: id.
- **Ayla Networks destinations bulk delete** (Delete). Delete multiple Ayla Networks message destinations in bulk by providing an array of destination UUIDs. Returns an empty 204 response on success. Required: destination_uuids.
- **List all Ayla Networks collections** (List). List Ayla Networks collections (groups and scenes) with optional filtering by type, custom attributes, and sorting. Returns each collection with collection_uuid, name, type, devices, child_collections, custom_attributes, schedule, and created_at. Filter by type (GROUP or SCENE) and by custom_attribute using an encoded key~value pair.
- **Create a Ayla Networks collection** (Create). Create a new Ayla Networks collection (group or scene) with devices, child collections, custom attributes, and an optional schedule for scenes. Returns: collection_uuid, name, type, devices, child_collections, custom_attributes, schedule, created_at. Required: collection containing name and type.
- **Ayla Networks collections post datapoints** (Action). Post property datapoints to an Ayla Networks collection (group) by collection ID. Returns: collections_uuid, properties. Required: collection_id, properties.
- **Ayla Networks collections enable disable automation** (Enable). Enable or disable scene automation for an Ayla Networks collection by collection ID. Returns: collections_uuid, is_active. Required: collection_id, is_active.
- **Ayla Networks collections activate countdown** (Activate). Activate an Ayla scene using a countdown timer that triggers the scene automatically after a specified number of minutes. Returns: properties. Required: collection_id.
- **Ayla Networks collections list last datapoints** (List). Get the last posted datapoints for an Ayla collection (group or scene). Returns: properties. Required: collection_uuid.
- **Ayla Networks collections bulk update** (Update). Update custom attributes for an Ayla Networks collection (group or scene) by collection UUID. Returns: collection_uuid, custom_attributes. Required: collection_uuid, custom_attributes.
- **Create a Ayla Networks filter** (Create). Create a new event filter in Ayla Networks to subscribe to device events by event type, model, or DSN. Returns the created filter object including uuid, name, client_type, filter_conditions, and created_at. Required: client_type.
- **List all Ayla Networks filters** (List). List Ayla Networks event filters. Returns: uuid, name, description, is_active, client_type, oem_id, user_uuid, filter_conditions, created_at.
- **Get single Ayla Networks filter by ID** (Get). Get a single Ayla Networks event filter by id. Returns: uuid, name, description, is_active, client_type, oem_id, user_uuid, filter_conditions, created_at. Required: id.
- **Ayla Networks filters bulk update** (Update). Update an existing Ayla Networks event filter by id. Returns the updated filter object including uuid, name, is_active, filter_conditions, and created_at. Required: id, filter_conditions.uuid.
- **Ayla Networks filters bulk delete** (Delete). Delete an Ayla Networks event filter by id. Returns an empty 204 response on success. Required: id.
- **List all Ayla Networks topics** (List). Get the MQTT topics associated with the authenticated session in the Ayla IoT Cloud MQTT Event Processor service. Returns the topic information needed to subscribe for device event notifications.
- **List all Ayla Networks mqtt credentials** (List). List Ayla MQTT credentials for connecting devices to the Ayla IoT Cloud MQTT broker. Returns the credentials object including id and attributes with broker connection details.
- **Create a Ayla Networks dealer** (Create). Create a new dealer for an OEM in Ayla Networks. Returns the created dealer object including uuid, name, phone, email, and state. Required: oem_id, dealer.
- **List all Ayla Networks dealers** (List). List dealers for an OEM in Ayla Networks. Returns dealer records with uuid, name, phone, email, and state. Required: oem_id.
- **Get single Ayla Networks dealer by ID** (Get). Get a single dealer by id from an OEM in Ayla Networks. Returns the dealer object including uuid, name, phone, email, and state. Required: oem_id, id.
- **Ayla Networks dealers list roles** (List). List dealer roles available for an OEM in Ayla Networks. Returns: id, name. Required: oem_id. The upstream docs do not enumerate additional response fields for this endpoint.
- **Ayla Networks dealers bulk update** (Update). Update an existing dealer by id for an OEM in Ayla Networks. Returns the updated dealer object including uuid, name, phone, email, and state. Required: oem_id, id, dealer.
- **Ayla Networks dealers bulk delete** (Delete). Delete a dealer by id from an OEM in Ayla Networks. Returns an empty 204 response on success. Required: oem_id, id.
- **Create a Ayla Networks dealer user** (Create). Create a new dealer user in Ayla Networks under a specific OEM and dealer. Returns the created dealer user including uuid, firstname, lastname, email, and role. Required: oem_id, dealer_uuid, user.
- **List all Ayla Networks dealer users** (List). List dealer users for a specific OEM and dealer in Ayla Networks. Returns: uuid, firstname, lastname, email, role. Required: oem_id, dealer_uuid.
- **List all Ayla Networks dealer end users** (List). List end users associated with a dealer in Ayla Networks, with optional filtering by facility and first name. Returns: uuid, first_name, last_name, username, facility_uuid. Required: oem_id, dealer_uuid.
- **Ayla Networks dealer end users associate** (Action). Associate an end user to a dealer in Ayla Networks, assigning a dealer role. Returns: uuid, first_name, last_name, username, facility_uuid. Required: user_uuid, dealer_uuid, role_name.
- **List all Ayla Networks dealer devices** (List). List devices tagged to a dealer in Ayla Networks, optionally filtered by facility. Returns: dsn, oem_model, mac, status, connected_at, activated_at, user_uuid. Required: oem_str, dealer_uuid.
- **Ayla Networks dealer groups assign dealer** (Assign). Assign a dealer to a group in Ayla Networks by providing the dealer's UUID and OEM ID, optionally including all associated end users. Returns a 200 result confirming the dealer-to-group assignment. Required: group_id, dealer_uuid, oem_str.
- **List all Ayla Networks contracts** (List). List contract data from Ayla Networks, optionally filtered by the logged-in OEM identifier. Returns contract data records for the specified OEM context. The oem_id query parameter identifies the OEM to retrieve contract data for.
- **List all Ayla Networks properties** (List). List all device properties for a specific DSN in Ayla Networks. Returns: trigger, trigger_apps. Required: dsn.
