> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.mitu.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.mitu.ai/_mcp/server.

# Buying through the Mitu MCP

Two different MCPs carry the Mitu name, and they face opposite directions.

**Your own MCP** exposes your endpoints to other people's agents. That is the seller side, covered on [the MCP](/platform/mcp/overview).

**The Mitu MCP** is the platform's own, and it is what an agent connects to in order to buy. One connection reaches every service listed on the platform, so an agent does not connect to each merchant separately.

```text
https://mcp.mitu.ai/mcp
```

## Connecting

Discovery is anonymous: `search_services` and `get_service` work with no credential at all, so an agent can browse before anybody commits to anything. Every other tool answers 401 with a `WWW-Authenticate` header, which is what makes a client offer to connect rather than simply fail.

To act, the agent sends a Mitu account key:

```http
Authorization: Bearer sk_...
```

The money spent is that account's own balance, governed by that account's spending limits.

> **This is a different wallet from an Agent Wallet**
>
> An [Agent Wallet](/platform/agent-wallets/overview) is a pot a merchant issues to one of its customers, used inside that merchant's own MCP. The balance behind the Mitu MCP is the connected account's own. Both are controlled spending; they differ in whose account holds the money.

## Finding something to buy

### search_services

**`query`** `string`

Free text, such as `pizza delivery` or `company data`.

---

**`category`** `string`

---

**`limit`** `number`

1 to 50.

---

Returns matching services by handle, with a verification mark where the service is verified.

### get_service

**`handle`** `string` — required

A service handle, such as `@pizzashop`.

---

Returns the service's instructions and its callable endpoints, each with its method, path, price or pricing type, `when_to_use`, and any prerequisites. Call this before calling an endpoint: it is where the endpoint names and the prices come from.

## Buying

### call_endpoint

**`service`** `string` — required

The service handle.

---

**`endpoint`** `string` — required

The endpoint name from `get_service`, such as `get_menu`.

---

**`params`** `object`

---

**`body`** `unknown`

---

**`method`** `x402 | mpp_crypto | mpp_spt`

Preferred payment method, if the endpoint charges.

---

Free endpoints return their data. Paid ones settle from the connected account's wallet, subject to its spending limits, and return the result. The agent signs nothing itself: the 402, the balance check, the signature and the retry all happen inside the call.

### pay

**`url`** `string` — required

Any 402-protected URL.

---

**`method`** `string` — default: GET

---

**`body`** `object`

---

**`preferredMethod`** `x402 | mpp_crypto | mpp_spt`

---

For paid URLs that are not listed services. `call_endpoint` is the better route for anything on the platform, because it carries the service's own description and price.

### send_money

**`to`** `string` — required

Recipient address.

---

**`amount`** `number` — required

USDC.

---

Subject to the same limits. Large amounts are held for approval.

## Knowing where you stand

`get_balance` returns the account's USDC balance summed across networks. `get_address` gets or creates the address to fund it on Base. `spending_limits` returns daily and monthly spend so far and how much room is left before a payment needs approval. `list_transactions` returns recent activity. `verify_payment` checks the status of a payment link by id.

## The limits

Spending is gated by the account's own daily and monthly limits. A payment that would exceed one is not refused: it is held, an approval request is raised, and the tool reports that rather than a settlement. [Limits and controls](/platform/agent-wallets/limits-and-controls) covers the semantics.