# SkuVault MCP connector

The SkuVault connector brings your products, kits, lots and warehouse stock levels into Claude, ChatGPT, Cursor and the Elaichi Agent, so your team can ask about inventory and update product records in plain language.

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

## Facts

| | |
| --- | --- |
| Application | SkuVault |
| Category | Ecommerce |
| AI tools | 55 |
| 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. 55 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once SkuVault is connected

- What are the current available quantities for warehouse East?
- Which SKUs are low across all external warehouses this week?
- List inventory lots by location for our main warehouse.

## Connect SkuVault in Elaichi

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

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

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

### Check stock by warehouse before promising a ship date

Warehouse. Ask how many units of a SKU are on hand and available in each SkuVault warehouse, and which bin locations hold them, before telling a customer when an order can go out.

### Find low or empty stock across locations

Operations. Pull available quantities for a brand or classification and get a list of SKUs that are running down, so reorders happen before a listing goes dark.

### Add a new product without opening SkuVault

Ecommerce. Describe the SKU, brand, classification and description in a chat and have the product created in SkuVault, then fix a typo in the title or update a cost the same way.

### Log incoming lots as they arrive

Purchasing. Record a new lot for a received shipment and see which lots sit in which locations, so expiry and batch questions can be answered in seconds.

### Keep external warehouse counts current

Operations. Push updated quantities for a 3PL or overflow warehouse into SkuVault in one go instead of editing counts line by line.

### Answer a bundle availability question on the spot

Customer service. Ask how many of a kit can be built from the components in stock, and see which kits exist, while the customer is still on the line.

## Frequently asked questions

### How do I connect SkuVault to Claude?

First connect SkuVault in Elaichi, which asks you for a SkuVault API key and nothing else. Then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the address. There is no OAuth application to register in SkuVault and no client ID or secret to generate, so the whole thing takes a few minutes.

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

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

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

It can look up on-hand and available quantities for any SKU, break them down by warehouse and by location, check how many of a kit you can build, and list the lots sitting in a location. It can also create and update products, create kits and lots, and push quantity updates to your external warehouses in SkuVault. Short, concrete asks like "available stock for SKU 4412 in the Reno warehouse" get better results than long paragraphs.

### Does connecting SkuVault give the AI access to every warehouse and product?

The AI only sees what the SkuVault account behind the connection can see, so if that account covers all warehouses, so does the connection. Elaichi can then narrow that further, for example to read-only stock lookups for one team, but it can never grant more than the SkuVault account itself allows.

### Can my team share one SkuVault connection?

Yes. One person connects SkuVault in Elaichi and shares it with a team, and nobody else ever handles the API key. Each teammate still signs in to Elaichi as themselves, so every stock lookup or product change in SkuVault is logged under the name of the person who made it.

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

Yes. In Elaichi you can allow or block each SkuVault action separately, for example allowing stock and product lookups while blocking product updates and quantity changes. A blocked action is never shown to Claude, ChatGPT or any other client, so no prompt, however worded, can reach it.

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

Offboarding that person in Elaichi ends their access to SkuVault through every client at once, with nothing to revoke inside SkuVault itself. If they were using a shared SkuVault connection, it keeps working for everyone else on the team. If you want the connection gone entirely, disconnecting SkuVault once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client together.

## All 55 SkuVault tools

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

- **Create a SkuVault token** (Create). Create a SkuVault API token pair by exchanging account credentials. Returns: TenantToken, UserToken. Required: email, password.
- **List all SkuVault inventory item quantities** (List). List SkuVault product inventory quantities. Returns: Sku, Code, AvailableQuantity, HeldQuantity, PendingQuantity, PickedQuantity, TotalOnHand, LastModifiedDateTimeUtc. Heavy throttling applies.
- **List all SkuVault inventory available quantities** (List). List SKU available quantities across all warehouses in skuvault — the quantity actually available to sell across your sales channels. Returns: AvailableQuantity, IsAlternateSku, LastModifiedDateTimeUtc, Sku, AlternateSkus. Set expand_alternate_skus to true to group alternate SKUs into an AlternateSkus list instead of separate line items. Heavily throttled endpoint.
- **List all SkuVault inventory kit quantities** (List). List kit inventory quantities in SkuVault. Returns: AvailableQuantity, LastModifiedDateTimeUtc, Sku. Optional: modified_after_date_time_utc, modified_before_date_time_utc to narrow results by last-modified window. Subject to heavy throttling.
- **List all SkuVault inventory item quantities by warehouse** (List). List SkuVault item quantities for a specific warehouse. Returns per-SKU quantities: Sku, InStockQuantity, InboundQuantity, ReserveQuantity, TransferQuantity, and TotalQuantity. Required: warehouse_id (from SkuVault's warehouse list). Subject to heavy throttling upstream; fetching all SKUs across pages can take several minutes on large tenants.
- **Get single SkuVault inventory item quantity by warehouse by ID** (Get). Get the quantity of a SkuVault item in its warehouse locations. Returns: Sku, Code, WarehouseCode, LocationCode, Quantity, and Reserve. Supply sku or code to identify the item.
- **List all SkuVault inventory by location** (List). Get inventory by warehouse location in skuvault. Returns a map keyed by product SKU whose entries include LocationCode, Quantity, Reserve, and WarehouseCode. Optionally filter by product_skus or product_codes; filtering by product_codes requires is_return_by_codes to be true, while filtering by product_skus requires it to be false or null.
- **List all SkuVault inventory lots by location** (List). Get lot inventory quantities by location from SkuVault, retrieving all lot quantities associated with the requested products. Returns per product: Sku, PrimarySku, Code, PrimaryCode, and Locations with LotNumber, WarehouseCode, LocationCode, Quantity, and Reserve. product_skus and is_return_by_codes are mutually exclusive. Heavy throttling applies.
- **List all SkuVault inventory external warehouses** (List). List the external warehouses configured in SkuVault. Returns each warehouse's Id, Code, and Name. No filter parameters are available; the full set of external warehouses is returned.
- **List all SkuVault inventory external warehouse quantities** (List). Get the SKU quantities held in one external warehouse in SkuVault (external warehouses are distinct from ordinary warehouses). Returns: Sku, InStockQuantity, InboundQuantity, ReserveQuantity, TransferQuantity, TotalQuantity. Required: warehouse_id. When get_total_fba_quantities is true, summed FBA quantities are returned instead and warehouse_id is ignored.
- **SkuVault inventory external warehouse quantities bulk add** (Add). Add SKU quantities to an external warehouse in SkuVault in bulk. Returns the operation Status and any Errors raised.
- **SkuVault inventory external warehouse quantities bulk update** (Update). Update SKU quantities in an external warehouse in SkuVault in bulk. Returns the operation Status and any Errors raised.
- **List all SkuVault inventory warehouses** (List). List the warehouses configured in your SkuVault account. Returns each warehouse's Id, Code, and Name; use Id as the WarehouseId when calling inventory endpoints such as addItem. No filtering or pagination parameters.
- **List all SkuVault inventory locations** (List). List inventory locations in SkuVault, returning location and warehouse per product. Returns: Sku, PrimarySku, Code, PrimaryCode, and a Locations array with LotNumber, WarehouseCode, LocationCode, Quantity, and Reserve. When filtering by code instead of SKU, set IsReturnByCodes to true.
- **List all SkuVault products brands** (List). List brands created in SkuVault. Returns: Name, IsEnabled. Up to 1,000 results per page.
- **List all SkuVault products classifications** (List). List product classifications in SkuVault, including each classification's named attributes when they exist. Returns: Name. Required: TenantToken, UserToken. Max 1,000 results per page.
- **Create a SkuVault product** (Create). Create a product in SkuVault one at a time. Returns Status and Errors. Requires sku, classification, supplier, and brand.
- **Get single SkuVault product by ID** (Get). Get a single SkuVault product by SKU or barcode. Returns the product record including id, Sku, Code, Title, Classification, and Cost. Provide product_sku or product_code to identify the product.
- **List all SkuVault products** (List). List SkuVault products, optionally filtered by a UTC modified date range, product_codes, or product_skus. Returns each product's id, Sku, Code, Title, Classification, and Cost.
- **Update a SkuVault product by ID** (Update). Update a SkuVault product identified by its sku. Returns Status and Errors. Required: sku.
- **Create a SkuVault kit** (Create). Create a kit in skuvault. Returns Success and Errors. Required: sku, title. Max 500 kit lines per kit.
- **List all SkuVault kits** (List). List skuvault kits with full details. Returns kit SKU, code, description, statuses, available quantity, kit lines, and last-modified timestamp. Required: modified_after_date_time_utc, modified_before_date_time_utc.
- **Create a SkuVault lot** (Create). Create a lot number with its products in skuVault. Returns an empty JSON object on success. Required: LotNumber, ProductIds (product IDs from the /getProducts endpoint; only a single product ID is allowed when the Multilot feature is disabled).
- **List all SkuVault lots** (List). List the lots associated with a product in skuVault. Returns each lot's LotId, LotNumber, ExpirationDate, LotStatuses, ExternalId, Notes, CreatedDate, LastModifiedDate, FirstReceivedDate, and LotProducts. Required: product_sku.
- **SkuVault brands bulk create** (Create). Bulk create up to 100 brands in skuvault in a single call. Returns: Status, Errors. Required: brands (each item needs Name).
- **SkuVault classifications bulk create** (Create). Bulk create product classifications (and their named attributes) in skuvault. Returns the creation result including Status and Errors. Required: classifications — a list of classification objects, each with Name, IsEnabled, and Attributes.
- **SkuVault suppliers bulk create** (Create). Create up to 100 suppliers in SkuVault in a single call. Returns an Errors array reporting any problems with the create call. Required: suppliers (an array where each supplier may include Name, Emails, EmailTemplateSubject, and EmailTemplateMessage). Max 100 suppliers per call.
- **List all SkuVault suppliers** (List). List suppliers in SkuVault. Returns, for each supplier: id, Name, Emails, EmailTemplateSubject, and EmailTemplateMessage.
- **List all SkuVault sales** (List). List sales from SkuVault, optionally narrowed to specific orders or a status. Returns an array of sale records, each with an id plus SkuVault-defined sale fields. Filters: order_ids, status.
- **Create a SkuVault sale** (Create). Create an online sale in SkuVault by syncing an order from a sales channel or marketplace. Returns: Status, Errors. The body carries the sale details, including order_id, channel_type, item_skus, fulfilled_items, and shipping_info.
- **SkuVault sales bulk sync shipped and remove items** (Delete). Sync up to 100 shipped sales in SkuVault per call and auto-remove their picked quantities from inventory. Returns: Status, Errors. Required: sales (array of shipped-sale payloads, max 100 per call).
- **Update a SkuVault sale by ID** (Update). Sync a shipped sale in SkuVault and auto-remove the picked quantity from inventory. Returns: Status, Errors. Required: order_id. Use the bulk variant to sync up to 100 sales per call.
- **SkuVault sales partial update** (Update). Update a sale's status in SkuVault (Pending, ReadyToShip, Completed, Cancelled, Invalid, or ShippedUnpaid). Returns: Status, Errors. Required: status; identify the sale with sale_id or order_id.
- **List all SkuVault inventory transactions** (List). List SkuVault inventory transactions — the record of quantity changes across warehouse locations. Returns each transaction with fields including Sku, Quantity, WarehouseId, LocationCode, Reason, TransactionType, SaleId, and UserEmail. Can be narrowed by date range, warehouse, sale, user, and transaction reason.
- **SkuVault inventory items bulk set quantity** (Set). Set inventory quantities for items at warehouse locations in skuvault, in bulk. Returns: Results, Status, Errors. Required: items.
- **SkuVault inventory items bulk pick** (Action). Pick inventory quantities from warehouse locations in skuvault, in bulk. Returns: Results, Status, Errors. Required: items.
- **SkuVault inventory items bulk add** (Add). Add inventory quantity to warehouse locations in skuvault, 100 items at a time. Returns: Results, Status, Errors. Required: items.
- **SkuVault inventory items bulk delete** (Delete). Remove inventory quantities from warehouse locations in skuvault, in bulk. Returns: Results, Status, Errors. Required: items.
- **Delete a SkuVault inventory item by ID** (Delete). Remove inventory quantity for a product, identified by sku or code, from a warehouse location in skuvault. Returns an empty 204 response on success. Required: warehouse_id, location_code, quantity, reason.
- **Update a SkuVault inventory item by ID** (Update). Set the quantity of an item at a warehouse location in skuvault. Returns: Status, Errors. Required: warehouse_id, location_code, quantity, and a product sku or code (each used when the other is blank).
- **SkuVault inventory items partial update** (Update). Pick (decrement) quantity of an item from a warehouse location in skuvault. Returns: Status, Errors. Required: warehouse_id, location_code, quantity, reason, and a product sku or code (each used when the other is blank).
- **Create a SkuVault shipment** (Create). Add one or more shipments to a sale in SkuVault. Accepts a shipments array with carrier, tracking, parcels, costs, and shipped-from details. Returns an empty 204 response on success. Required: shipments. Truto supplies the TenantToken and UserToken that SkuVault requires from the connected account. Subject to heavy throttling.
- **Update a SkuVault shipment by ID** (Update). Update existing shipments on a sale in SkuVault. Required: shipments — an array where each entry must include SaleId, Source, TrackingNumber, Carrier, Class, Type, Status, and TrackingUrl (set Status to "Voided" to void a shipment). Returns: Status, Errors. Subject to heavy rate limiting.
- **List all SkuVault shipments** (List). List shipments in SkuVault. Returns each shipment's sale ID, tracking number, carrier, class, type, status, tracking URL, shipped-from address, costs, parcels, and landed costs.
- **Create a SkuVault hold** (Create). Create one or more inventory holds in skuvault for the specified SKUs. Returns per-SKU results including Sku and Quantity (the product's new Available Quantity, with the held amount deducted). Required: holds.
- **Delete a SkuVault hold by ID** (Delete). Release held quantities in skuvault, returning the held inventory back to Available. Returns per-SKU results including Sku and Quantity (the product's Available Quantity after the release). Required: holds — each item needs Sku and Quantity.
- **List all SkuVault integrations** (List). List enabled channel accounts in SkuVault. Returns: Accounts. No pagination — all accounts are returned in a single response.
- **Create a SkuVault purchase order** (Create). Create a purchase order in skuvault. Returns the creation status and the new PO's PoNumber. Required: supplier_name and at least one line_items entry; po_number is auto-generated when omitted.
- **List all SkuVault purchase orders** (List). List purchase orders in skuvault, optionally filtered by status, po_numbers, or a UTC modified-date range. Returns each PO's Id, PoNumber, SupplierName, Status, OrderDate, and LineItems.
- **Update a SkuVault purchase order by ID** (Update). Update an existing purchase order in skuvault. Returns the updated PO including Id, PoNumber, SupplierName, Status, and LineItems. Required: purchase_order_id.
- **SkuVault sale item costs search** (Search). Search SkuVault sale item costs by sale and SKU. Returns the paginated sale item cost data for records matching the supplied sale_id and sku.
- **List all SkuVault serial numbers** (List). List the serial numbers tracked for a product in skuvault. Returns the SerialNumbers collection with warehouse and location details, plus Status and Errors. Required: product_sku.
- **List all SkuVault sold items** (List). List items sold in skuvault within a UTC date range. Returns sold item records with id and sale-specific attributes (fields defined upstream). Date range must not exceed 14 days; 10,000 sold items per page.
- **List all SkuVault purchase order incoming items** (List). List incoming items for incomplete purchase orders in SkuVault. Returns IncomingItems, a map of purchase order numbers to arrays of items with ItemId, SKU, Quantity, ThirdPartyLogisticQuantity, and ItemCost. Pagination is 0-based.
- **List all SkuVault purchase order receives history** (List). List receive history entries for purchase orders in SkuVault. Returns: id, attributes.
