> Documentation index: https://www.xekta.com/llms.txt

# Tools overview

> The tools a buyer's assistant uses over MCP, grouped by what they do.

XEKTA is one remote MCP server. Once it is connected, an assistant can search nearby shops, build a cart, ask the buyer to approve it, place the order and follow it until it is collected.

## Endpoint

```
https://mcp.xekta.com/mcp
```

Streamable HTTP, signed in with OAuth. See [Connect a client](https://www.xekta.com/docs/connect.md).

## Tool groups

- [Find](https://www.xekta.com/docs/tools/product-search.md) — Search shops and menus, compare prices, suggest substitutes: `product_search`, `price_compare`, `substitution_suggest`.
- [Cart](https://www.xekta.com/docs/tools/cart-build.md) — Build and edit a cart at one shop: `cart_build`, `cart_create`, `cart_add`, `cart_set_quantity`, `cart_set_shipping`, `cart_get`.
- [Approve and order](https://www.xekta.com/docs/tools/cart-approve.md) — Ask the buyer, then place the order: `checkout_prepare`, `cart_approve`, `checkout_create`.
- [After the order](https://www.xekta.com/docs/tools/user-orders-status.md) — Follow, change and close an order: `user.orders.status`, `user.order.confirm_partial`, `user.order.cancel`, `user_pickup_confirm`, `user.delivery.confirm`, `user.delivery.contest`.
- [Account](https://www.xekta.com/docs/tools/user-payment-method-setup.md) — Card setup and feedback: `user.payment_method.setup`, `feedback_submit`.

## Every tool

| Tool | What it does | Type |
| - | - | - |
| [`product_search`](https://www.xekta.com/docs/tools/product-search.md) | Search the catalogs of approved shops for products, dishes or whole menus. | Read |
| [`price_compare`](https://www.xekta.com/docs/tools/price-compare.md) | Compare the price of one product across shops, cheapest first. | Read |
| [`substitution_suggest`](https://www.xekta.com/docs/tools/substitution-suggest.md) | Suggest alternatives for an item that is unavailable. | Read |
| [`cart_build`](https://www.xekta.com/docs/tools/cart-build.md) | Turn a shopping list in plain words into a cart at one shop. | Write |
| [`cart_create`](https://www.xekta.com/docs/tools/cart-create.md) | Open an empty cart at one shop. | Write |
| [`cart_add`](https://www.xekta.com/docs/tools/cart-add.md) | Add one item to an open cart. | Write |
| [`cart_set_quantity`](https://www.xekta.com/docs/tools/cart-set-quantity.md) | Lower the quantity of a cart line or remove it. | Write |
| [`cart_set_shipping`](https://www.xekta.com/docs/tools/cart-set-shipping.md) | Set the delivery address and shipping option for a cart from a shop that ships. | Write |
| [`cart_get`](https://www.xekta.com/docs/tools/cart-get.md) | Read a cart back with its items, frozen prices and total. | Read |
| [`checkout_prepare`](https://www.xekta.com/docs/tools/checkout-prepare.md) | Preview the total, tax and pickup details without placing an order. | Read |
| [`cart_approve`](https://www.xekta.com/docs/tools/cart-approve.md) | Ask the buyer to approve the cart at its current total. | Write |
| [`checkout_create`](https://www.xekta.com/docs/tools/checkout-create.md) | Place the order for a cart the buyer has approved. | Write |
| [`user.orders.status`](https://www.xekta.com/docs/tools/user-orders-status.md) | Report what changed in the buyer's orders and where each open order is. | Read |
| [`user.order.confirm_partial`](https://www.xekta.com/docs/tools/user-order-confirm-partial.md) | Record the buyer's decision when a shop can fill only part of an order. | Write |
| [`user.order.cancel`](https://www.xekta.com/docs/tools/user-order-cancel.md) | Cancel the buyer's own order while the shop has not started preparing it. | Write |
| [`user_pickup_confirm`](https://www.xekta.com/docs/tools/user-pickup-confirm.md) | Record the buyer's own word about an order that is ready for pickup. | Write |
| [`user.delivery.confirm`](https://www.xekta.com/docs/tools/user-delivery-confirm.md) | Confirm the buyer received what they ordered. | Write |
| [`user.delivery.contest`](https://www.xekta.com/docs/tools/user-delivery-contest.md) | Report a problem with a collected order, such as wrong or missing items. | Write |
| [`user.payment_method.setup`](https://www.xekta.com/docs/tools/user-payment-method-setup.md) | Check whether a card is on file, and get the link to add or replace one. | Write |
| [`feedback_submit`](https://www.xekta.com/docs/tools/feedback-submit.md) | Tell XEKTA that a tool or an error message was wrong or unhelpful. | Write |

## Read and write

"Read" tools only look things up. "Write" tools change a cart or an order. Only [`checkout_create`](https://www.xekta.com/docs/tools/checkout-create.md) creates an order, and it refuses any cart the buyer has not approved.

## Who is asking

No tool takes a `user_id`. The signed-in session decides who the buyer is, and an assistant can reach only that buyer's own carts and orders.

## Tool names

Some clients show the dots in a tool name as underscores, for example `user_orders_status` for `user.orders.status`. It is the same tool.

## Tools that are not for assistants

| Tool | Who calls it |
| - | - |
| `cart_approve_confirm` | The confirmation box itself, when the buyer answers. |
| `cart_confirm` | Only assistants such as Meta Muse and device-link connections, with the 4-digit code the buyer received by text. See [Approval](https://www.xekta.com/docs/approval.md). |
| `merchant.*` | Switched off. Shops use the web account, Telegram or WhatsApp. |
