# Active Ants MCP connector

The Active Ants connector lets Claude, ChatGPT, Cursor and the Elaichi Agent look up orders, shipments, inbounds and products in your Active Ants fulfillment account, create or update them, and log every action to an audit trail.

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

## Facts

| | |
| --- | --- |
| Application | Active Ants |
| Category | Ecommerce |
| AI tools | 39 |
| Authentication | Connects with an API key |
| Bring 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. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once Active Ants is connected

- Where is order 48213 and has it shipped yet?
- List inbounds arriving this week and what each one contains.
- Create a return authorization for order 51977, two items damaged.

## Connect Active Ants in Elaichi

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

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

## Active Ants MCP connector for 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.

## Active Ants MCP connector for 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.

## Active Ants MCP connector for 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 Active Ants 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 Active Ants 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 Active Ants through Elaichi

### Answer where is my order in seconds

Support. A customer writes in and the agent looks up the Active Ants order, checks the shipment and gives the tracking status without anyone opening the warehouse portal.

### Fix an order before it ships

Operations. Change the delivery address or remove a line item on an Active Ants order the moment the customer calls, and attach the corrected paperwork to the order.

### Track inbound stock from supplier to shelf

Purchasing. Ask which inbounds are due this week, what each one contains and whether the packing slip has been created, then create the slip when the goods leave the supplier.

### Add new products to the warehouse catalog

Merchandising. Create the product in Active Ants with its dimensions and barcode, upload the image, and update details later when packaging changes.

### Open a return without leaving the chat

Returns. When a customer wants to send something back, create the return merchandise authorization in Active Ants against the original order in one ask.

### Reconcile shipped orders at month end

Finance. Pull the list of Active Ants orders and shipments for the period so invoices and fulfillment charges can be matched line by line.

## Frequently asked questions

### How do I connect Active Ants to Claude?

In Elaichi, choose Active Ants and paste the API key from your Active Ants account; 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 https://api.elaichi.ai/mcp. Claude signs you in through Elaichi and your Active Ants orders, shipments, inbounds and products are available in the chat.

### Does Active Ants work with ChatGPT and Cursor as well as Claude?

Yes. Active Ants is connected once in Elaichi, and the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. There is nothing extra to set up per client.

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

It can look up an Active Ants order and its shipment, create or change an order, attach a document to it, check inbounds and create packing slips, add or update products and their images, and open a return authorization. Short, concrete asks work best, such as where is order 48213, rather than a long paragraph. The connector covers 39 actions across orders, shipments, inbounds, products and returns.

### Does connecting Active Ants give the AI access to my whole warehouse account?

The AI can only do what the Active Ants account behind the API key is allowed to do, and each person still signs in to Elaichi as themselves. Elaichi can then narrow that access, for example to reading orders and shipments only, but it can never widen what Active Ants itself permits.

### Can my team share one Active Ants connection?

Yes. One person connects Active Ants with the API key and shares the connection with a team in Elaichi, and nobody else ever handles the key. Each teammate still signs in as themselves, so the audit log records who looked up an order or created a return.

### Can I stop an agent from deleting or changing orders in Active Ants?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Active Ants orders and shipments while blocking deletes or updates. A restricted action is never advertised to Claude, ChatGPT or Cursor at all, so no prompt can reach it.

### What happens to an Active Ants connection when someone leaves?

Offboarding that person in Elaichi ends their access to Active Ants at once, in every client they used. A shared Active Ants connection keeps working for everyone else on the team. If you ever want to remove Active Ants entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client.

### Does the Active Ants MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. Active Ants is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

## All 39 Active Ants tools

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

- **List all Active Ants status** (List). Check whether the Active Ants ShopApi is up and running. Requires no authentication and takes no input. Returns: messageCode, message, result.
- **List all Active Ants settings gets** (List). Get the current client configuration settings from Active Ants: the ids, names and codes needed when referring to configuration entities on other endpoints. Returns: mainShippingMethods, shippingMethods, returnShippingMethods, orderTypes, countries, languages, returnReasons, paymentMethods. Takes no parameters; cache the result locally and refresh daily.
- **List all Active Ants orders** (List). List all orders placed in Active Ants, with cursor-based pagination. Filter by orderedOn (before/after a date), externalOrderNumber, or reference, and optionally include related orderItems, deliveryAddress, billingAddress, or pickUpPoint. Returns each order's id, type, attributes, relationships, and included resources.
- **Create a Active Ants order** (Create). Create an order with its orderItems and related addresses in Active Ants. Related resources must be supplied under included, with provisional ids for deliveryAddress and billingAddress; optional orderAttachment pdf documents can be included for printing. Returns the created order with id, type, attributes, relationships, included, and links.
- **Get single Active Ants order by ID** (Get). Get a specific order by the id assigned by Paxon ⸗ Active Ants. Optionally include related orderItems, deliveryAddress, billingAddress, or pickUpPoint via include. Returns the order's id, type, attributes, relationships, included resources, and links. Required: id.
- **Update a Active Ants order by ID** (Update). Update an existing activeants order by id. The entire order in its desired state must be submitted, since omitted mutable fields may be erased, and an order that is fulfilled in its entirety can no longer be modified. Returns the complete order record including id, type, attributes, relationships, and links. Required: id.
- **Delete a Active Ants order by ID** (Delete). Cancel an activeants order by id. The server cancels each of the order's orderItems, succeeding only for items not yet shipped, so cancellation may be partial. Returns the updated order record including id, type, attributes, relationships, and links. Use include to embed related resources in the response. Required: id.
- **Delete a Active Ants order item by ID** (Delete). Cancel an orderItem in Active Ants by id; the cancellation fully succeeds only when no shipments fulfil it yet, and is otherwise partial or not applied at all. Returns the orderItem in data (id, type, attributes with remaining quantity, links.self) plus meta.modified, messageCode, and message. Required: id.
- **Get single Active Ants order item by ID** (Get). Get a single orderItem in Active Ants by its id. Returns: id, attributes, relationships, links. Required: id.
- **Create a Active Ants order attachment** (Create). Create an orderAttachment in Active Ants, linking a PDF to an order for printing during picking. Returns the created attachment under data: id, type, filename, contentType, printStrategy, and the order relationship (attachment contents suppressed).type, data.attributes.filename, data.attributes.contentType; attach to an order via data.relationships.order.data.id or…
- **List all Active Ants shipments** (List). List Active Ants shipments generated from orders, ordered by id ascending. Returns: id, type, attributes, relationships, included, links. Max 100 per page; shipments older than 90 days are not returned.
- **Get single Active Ants shipment by ID** (Get). Get a single Active Ants shipment by id. Returns: id, type, attributes, relationships, links. Required: id. Shipments older than 90 days are not returned.
- **Get single Active Ants inbound by ID** (Get). Get a single Active Ants inbound by id. Returns the inbound resource with id, type, attributes (reference, status, receivedIn, createdOn, checkingOn, completedOn), relationships, included, and links; pass include=inboundItems to embed the related inboundItems. Required: id.
- **List all Active Ants inbounds** (List). List Active Ants inbounds ordered by id in ascending order. Returns inbound resources with id, type, attributes (reference, status, receivedIn, createdOn, checkingOn, completedOn), relationships, included, and links. Filter with filter[status][in]; use include=inboundItems to embed the related items. Max 100 per page.
- **Get single Active Ants inbound item by ID** (Get). Get a single inboundItem (one received product line within an inbound) in Active Ants by its unique integer id. Returns the record including its id, attributes (quantity, sku, lotNumber, expirationDate), relationships (product, inboundPackingSlipItem), and links. Required: id.
- **List all Active Ants inbound packing slips** (List). List Active Ants inbound packing slips with their current status. Returns for each slip: id, type, attributes (reference, status, expectedIn, receivedOn, completedOn, comments, metadata), relationships, included, and links. At most 100 slips are returned, none older than 90 days.
- **Create a Active Ants inbound packing slip** (Create). Create an inbound packing slip in Active Ants for an inbound expected at one of its warehouses; related inboundPackingSlipItems can be created together via data.included. Returns the created slip: id, type, attributes (reference, status, expectedIn, metadata), relationships, included, links. reference must be unique and not used before; expectedIn must be a valid receiving warehouse; each item…
- **Get single Active Ants inbound packing slip by ID** (Get). Get a single Active Ants inbound packing slip by id along with its current status, optionally with its inboundPackingSlipItems via include. Returns: id, type, attributes, relationships, included, links. Required: id.
- **List all Active Ants products** (List). List products in activeants, ordered by id ascending with cursor-based pagination. Returns each product's id, type, links, and attributes including sku, status, name, barcode, stockLevelType, countryOfOrigin, and hsCodes. Filters on sku and barcode are supported and can be combined. Max 100 products per page.
- **Create a Active Ants product** (Create). Create a product in activeants. Returns the created product resource with its id, type, links, and attributes including sku, name, status, stockLevelType, barcode, and hsCodes. The sku and barcode must be unique and never used before in the context of the user.
- **Get single Active Ants product by ID** (Get). Get a specific Active Ants product by its unique id. Returns the product resource including its id, type, sku, name, status, barcode, dimensions (weight, length, width, height), lot/serial/expiration flags, countryOfOrigin, and hsCodes. Required: id.
- **Update a Active Ants product by ID** (Update). Update a product in activeants by id. Full replacement, not a PATCH: all properties must be provided or they are erased; sku is immutable and barcode, weight, length, width, and height are only mutable under conditions (409 Conflict otherwise). Returns the updated product with id, type, links, and attributes including sku, name, status, and hsCodes. Required: id.
- **Create a Active Ants product image** (Create). Add or update the commercial image of a single product in activeants by uploading the raw image file as the request body. Each product can have only one commercial image and the file must be under 10MiB (png, jpg, gif, bmp, webp accepted). Returns a success message whose data contains the product details, not the image itself. Required: product_id.
- **Create a Active Ants return merchandise authorization** (Create). V3/returnMerchandiseAuthorizations. Returns: id, type, attributes, relationships, included, links.
- **Get single Active Ants return merchandise authorization by ID** (Get). V3/returnMerchandiseAuthorizations/:id. Returns: id, type, attributes, relationships, included, links. Required: id.
- **Update a Active Ants return merchandise authorization by ID** (Update). V3/returnMerchandiseAuthorizations/:id. Returns: id, type, attributes, relationships, included, links. Required: id.
- **Delete a Active Ants return merchandise authorization by ID** (Delete). V3/returnMerchandiseAuthorizations/:id. Required: id.
- **List all Active Ants return items** (List). List return items that have been processed by one of the Active Ants warehouses; returns delivered but not yet processed are excluded. Returns: id, type, attributes, relationships, links. Supports filtering on processing date; at most 100 items per page.
- **List all Active Ants stocks** (List). List Active Ants stock records — products at a stock location sharing characteristics such as lotNumber and expirationDate. Returns: id, type, attributes, relationships, included, links. Max 100 records per page; ordered by id ascending.
- **Get single Active Ants stock by ID** (Get). Get a single Active Ants stock record by id. Returns: id, type, attributes, relationships, included, links. Stock is transient and may be moved at any time — avoid persisting stock ids. Required: id.
- **List all Active Ants stock levels** (List). List stock levels across all products in Active Ants, ordered by product id. Returns: id, type, attributes, relationships, links.product, links. Max 100 per page.
- **Get single Active Ants stock level by ID** (Get). Get the stock levels of a single product in Active Ants by id; the stockLevel id matches the product id. Returns: id, type, attributes, relationships, links.product, links. Required: id.
- **List all Active Ants stock mutations** (List). List Active Ants stock mutations sorted in ascending order by creation date. Returns: id, type, attributes, relationships, links. No required parameters. At most 100 mutations per page and only mutations newer than 7 days are returned; shipment-related and damaged-return mutations are excluded (use the shipments endpoint instead).
- **List all Active Ants webhooks** (List). List all webhooks registered in Active Ants, ordered by id ascending. Returns webhook records including id, type, and attributes (entity, event, isActive, targetUrl). At most 100 records are returned per page.
- **Create a Active Ants webhook** (Create). Register a new webhook in Active Ants for a specific eventType. Returns the created webhook record including id, type, attributes (event, isActive, targetUrl, secretKey), and links. Only valid entity/event pairs are supported.
- **Get single Active Ants webhook by ID** (Get). Get a single registered webhook in Active Ants by id. Returns the webhook record including id, type, and attributes (event, entity, isActive, targetUrl, secretKey). Required: id.
- **Update a Active Ants webhook by ID** (Update). Update the targetUrl and enabled state (isActive) of an existing webhook in Active Ants. Returns the updated webhook record including id, type, attributes (event, isActive, targetUrl, secretKey), and links. entity and event cannot be modified with this operation — create a new webhook and delete this one instead. Required: id.
- **Delete a Active Ants webhook by ID** (Delete). Delete a registered webhook in Active Ants by id, completely removing it. Returns an empty 201 response on success. Required: id.
- **Create a Active Ants token** (Create). Create a bearer token in activeants by exchanging the client's username and password. Returns: access_token, token_type, expires_in, userName, issued, expires. Requires grant_type, username, and password. Store and reuse the token until it expires; request a new one if it is invalidated early (401).
