# Ordoro MCP connector

The Ordoro connector brings orders, shipping details, addresses and dropship requests into Claude, ChatGPT, Cursor and the Elaichi Agent, so your team can look up, update and ship orders by asking, inside the access they already have.

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

## Facts

| | |
| --- | --- |
| Application | Ordoro |
| Category | Ecommerce |
| AI tools | 150 |
| 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 Ordoro is connected

- Update the shipping address on order 10482 to the new one
- Which orders are still waiting on a dropship request?
- Move today's Texas orders to the Dallas warehouse

## Connect Ordoro in Elaichi

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

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

## Ordoro 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.

## Ordoro 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.

## Ordoro 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 Ordoro 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 Ordoro 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 Ordoro through Elaichi

### Fix a shipping address before the label prints

Support. A customer writes in with a typo in their street. Ask for the order by number and have the shipping address corrected in Ordoro before it leaves the warehouse.

### Route orders to the closest warehouse

Fulfillment. Move a batch of today's orders to the warehouse nearest the customer, in Ordoro, without opening each order one at a time.

### Send dropship requests to suppliers

Purchasing. For items you do not stock, create the dropship request on the order and process the dropshipments in Ordoro once the supplier confirms.

### Cancel orders before they ship

Operations. When a customer changes their mind or a payment fails, find the order in Ordoro and cancel it, with the cancellation recorded against your name.

### Apply shipping and return presets in bulk

Warehouse. Add the right shipping preset to a set of orders, or attach a return preset when a customer needs a label back to you.

### Record tracking on orders placed by hand

Ecommerce. Create wholesale or phone orders in Ordoro, then add shipping information once the carrier picks them up so the customer sees a tracking number.

## Frequently asked questions

### How do I connect Ordoro to Claude?

Two steps. In Elaichi, choose Ordoro from the catalog and paste in the API key from your Ordoro 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. Sign in with your Elaichi account and Ordoro orders are available in Claude.

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

Yes. Ordoro is connected once in Elaichi, and the same endpoint, https://api.elaichi.ai/mcp, is added to Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. Nothing about the Ordoro connection changes from one client to the next.

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

With Ordoro connected, an agent can find an order by number or customer, correct a shipping address, move an order to another warehouse, cancel it, or add tracking once it ships. It can create dropship requests and process dropshipments, and apply shipping or return presets to orders. Because Ordoro exposes many actions, short concrete asks like "cancel order 10482" work better than long paragraphs.

### Does connecting Ordoro give the AI everything in my account?

No. The Ordoro connection carries only the access of the API key the person supplied, and every action runs inside that access. Elaichi can narrow what an agent may do in Ordoro, for example to read orders but never cancel them, and it can never widen access beyond what that person already has.

### Can my team share one Ordoro connection?

Yes. One person connects Ordoro in Elaichi and shares it with a team, and nobody else ever handles the Ordoro API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the person who changed a warehouse or cancelled an order, not the person who connected the account.

### Can I stop an agent from cancelling or changing orders in Ordoro?

Yes. Restrictions in Elaichi work per action, so you can allow looking up Ordoro orders while blocking cancellations, address changes or dropship processing. A blocked action is never advertised to Claude, ChatGPT or Cursor at all, so no prompt, however worded, can reach it.

### What happens to an Ordoro connection when someone leaves?

Offboarding a person in Elaichi ends their access to Ordoro through every AI client at once. If they had shared the Ordoro connection with a team, it keeps working for everyone else. If you disconnect Ordoro once in Elaichi, it disappears from Claude, ChatGPT, Cursor and every other client together.

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

Yes. Ordoro 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 150 Ordoro tools

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

- **Create a Ordoro address** (Create). Create a new address in Ordoro. Returns the created address object including its id, name, company, street1, city, state, zip, country, email, phone, and validation status. All request body fields are optional.
- **Get single Ordoro address by ID** (Get). Get a single address by id in Ordoro. Returns the address object including its id, name, company, street1, city, state, zip, country, email, phone, fax, and validation status. Required: id (the numeric address id).
- **List all Ordoro addresses** (List). List addresses in Ordoro. Returns address records including id, name, company, street1, city, state, zip, country, email, phone, fax, and validation status.
- **Update a Ordoro address by ID** (Update). Update an address by id in Ordoro. Returns the updated address object including its id, name, company, street1, city, state, zip, country, email, phone, fax, and validation status. Required: id (the numeric address id).
- **Create a Ordoro API key** (Create). Create a new API key in Ordoro. Returns the created api key record including its id, created_at, and updated_at.
- **Delete a Ordoro API key by ID** (Delete). Delete an API key in Ordoro by id. Returns an empty 204 response on success. Required: id.
- **Get single Ordoro API key by ID** (Get). Get a single Ordoro API key by id. Returns: id, created_at, updated_at. Required: id.
- **List all Ordoro API keys** (List). List API keys in Ordoro. Returns an array of api key records, each including id, created_at, and updated_at.
- **Update a Ordoro API key by ID** (Update). Update an API key in Ordoro by id. Returns the updated api key record including its id, created_at, and updated_at. Required: id.
- **Create a Ordoro order** (Create). Create an order in Ordoro by posting an order object. Returns the created order including its order_number and the full order object fields (attributes). Required: a complete order payload (application/json body).
- **Get single Ordoro order by ID** (Get). Get a single order in Ordoro by its id (the order number). Returns the serialized order instance, including its id and the order's attributes. Required: id.
- **List all Ordoro orders** (List). List orders in Ordoro with optional filters for status, allocation status, barcode match, and free-text search. Returns a paginated collection of order objects along with count, limit, and offset metadata. No required parameters.
- **Update a Ordoro order by ID** (Update). Update an Ordoro order's information by id, supplying the changed order fields in the request body. Returns the updated order object including order_number, status, notes_from_customer, and lines. Required: id (the order_number, a unique identifier that includes a cart index prefix, e.g. M-order-1234).
- **Ordoro orders update shipping address** (Update). Update an Order's Shipping Address in Ordoro by order number. Returns the updated order object including id, order_number, status, warehouse_id, warehouse, shipping_address, billing_address, and created_date. Required: order_number plus the address fields (name, company, street1, street2, city, state, zip, country, email, phone).
- **Ordoro orders update warehouse** (Update). Update an Order's Warehouse in Ordoro by order number. Returns the updated order object including id, order_number, status, warehouse_id, warehouse, shipping_address, billing_address, and created_date. Required: order_number and warehouse.
- **Ordoro orders add preset** (Add). Add a shipment preset to an order in Ordoro. Returns: presets. Required: order_number and preset_id.
- **Ordoro orders add return preset** (Add). Add a return preset to an order in Ordoro. Returns: presets. Required: order_number and preset_id.
- **Ordoro orders add shipping info** (Add). Add shipping information to an order in Ordoro and mark it as shipped. Returns: status, info. Required: order_number.
- **Ordoro orders cancel** (Cancel). Cancel an order in Ordoro by its order number. Returns an empty 204 response on success. Required: order_number.
- **Ordoro orders create dropship request** (Create). Create a dropship request for an order in Ordoro; when an order is drop shipped, an email may be sent to the assigned supplier. Returns an empty 204 response on success. Required: order_number.
- **Ordoro orders delete shipping info** (Delete). Delete an order's shipping information in Ordoro, changing the order status back to awaiting_fulfillment. Returns an empty 200 response on success. Required: order_number.
- **Ordoro orders get dropship request** (Get). Get the dropship request for an Ordoro order by its order number. Returns count, limit, offset, and an order array of order objects including status, shippability, dropshipping_info (supplier, requested_date, shipping_method, instructions), lines, and billing/shipping addresses. Required: order_number.
- **Ordoro orders process dropshipments** (Action). Process dropshipments for an order in ordoro. Processing may automatically split the order based on its order lines' supplier and product's automatic dropship status, and may send an email to the assigned supplier. Required: order_number.
- **Ordoro orders remove preset** (Delete). Remove a shipment preset from an order in ordoro. Returns an empty 204 response on success. Required: order_number, preset_id.
- **Ordoro orders remove return preset** (Delete). Remove a Returns an empty 204 response on success. Returns an empty 204 response on success. Required: order_number, preset_id.
- **Ordoro orders split** (Action). Split an Ordoro order into multiple child orders using its order number. Each split is defined by order lines with line_id and quantity; the original order becomes a view-only parent. Required: order_number, split_orders.
- **Ordoro orders uncancel** (Action). Uncancel a canceled Ordoro order, restoring it for fulfillment. Returns the updated order object including order_number, status, shipping_address, lines, tags, and financial. Required: order_number — the unique order identifier including its cart index prefix (e.g. M-order-1234).
- **Ordoro orders update financial** (Update). Update an Ordoro order's financial information. Returns the updated financial object including grand_total, tax_amount, product_amount, shipping_amount, credit_card_issuer, and discount_amount. Required: order_number — the unique order identifier including its cart index prefix (e.g. M-order-1234).
- **Ordoro orders update shipping info** (Update). Update an order's shipping information in Ordoro by order number. Returns the updated shipping info including shipping_method, ship_date, tracking_number, cost, tracking_url, carrier_name, and has_label. Required: order_number.
- **Ordoro orders bulk update** (Update). Update an order's billing address in Ordoro. Returns the updated billing address details. Required: order_number.
- **Ordoro products add images** (Add). Add images to a product in Ordoro by SKU. Returns the product's images collection, with each image including its url and is_default flag. Required: sku, images.
- **Ordoro products add tag** (Add). Add a tag to a product in Ordoro by SKU and tag name. Returns the updated product record including its sku and product-specific attributes. Required: sku, name.
- **Ordoro products archive** (Archive). Archive a product in Ordoro by SKU. Returns the archived product record including its sku and product-specific attributes. Required: sku.
- **Create a Ordoro product** (Create). Create a product in Ordoro. Returns the created product record including sku, created_at, and updated_at. Requires a JSON payload matching Ordoro's Product schema.
- **Ordoro products create kit component** (Create). Add a child product (child_sku) as a kit component of a parent product in Ordoro. Returns: child_sku, quantity. Required: sku, child_sku.
- **Ordoro products delete kit component** (Delete). Delete a product kit component by SKU in Ordoro, removing the kit component relationship for the product. Returns an empty 204 response on success. Required: sku.
- **Get single Ordoro product by ID** (Get). Get a single product in Ordoro by its SKU. Returns: sku, attributes. Required: id (the product's SKU).
- **Ordoro products get kit graph** (Get). Get a product's kit graph by SKU in Ordoro, showing the product's kit components and their nesting. Returns the kit graph in the attributes object. Required: sku.
- **List all Ordoro products** (List). List products in Ordoro. Returns a paginated array of product objects, each identified by its sku, which the other product endpoints accept as their identifier.
- **Ordoro products list images** (List). Get a product's images by SKU in Ordoro. Returns: count, limit, offset, image. Required: sku.
- **Ordoro products remove tag** (Delete). Remove a tag from an ordoro product by SKU. Returns an empty 204 response on success. Required: sku, name.
- **Ordoro products unarchive** (Action). Unarchive a previously archived product in ordoro by SKU, making it active again. Returns the unarchived product record including its id, sku, and product attributes. Required: sku.
- **Update a Ordoro product by ID** (Update). Update an existing product in ordoro by its SKU. Returns the updated product record including its id, sku, and product attributes. Required: id (the product SKU).
- **Ordoro products update kit component** (Update). Update a kit component (child SKU) of a parent kit product in ordoro by the parent's SKU. Returns the updated product record including its id, sku, and product attributes. Required: sku, child_sku.
- **Ordoro products update warehouse** (Update). Update a product's warehouse inventory in Ordoro by SKU and warehouse ID to set inventory values. Returns the updated product warehouse record. Required: sku, warehouse_id.
- **Ordoro products bulk update** (Update). Update a product's fulfillment settings in ordoro by SKU (in-house vs. dropship handling). Returns the updated product record including its id, sku, and product attributes. Required: sku, fulfillment_type.
- **Create a Ordoro warehouse** (Create). Create a warehouse in Ordoro. Returns the created warehouse record including its warehouse_id.
- **Get single Ordoro warehouse by ID** (Get). Get a single warehouse by id in Ordoro. Returns the warehouse record including its warehouse_id. Required: id.
- **List all Ordoro warehouses** (List). List warehouses in Ordoro. Returns warehouse records including warehouse_id.
- **Ordoro warehouses make default** (Action). Set a warehouse in Ordoro as the account default. Returns the warehouse record including its warehouse_id. Required: warehouse_id.
- ...and 100 more tools. Call `tools/list` via the MCP endpoint, or see the full catalog via the API, for the complete set.
