> For the complete documentation index, see [llms.txt](https://docs.aevo.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aevo.xyz/aevo-products/aevo-mcp/tool-reference.md).

# Tool Reference

The Aevo MCP Server exposes 30+ tools covering session management, market data, account operations, and order execution. Each tool is callable from any MCP-compatible client.

## Authentication Model

Before using tools that access private account data, your MCP session needs credentials. The server supports two paths:

* **Header-based** (hosted endpoint): Pass `AEVO-KEY` and `AEVO-SECRET` as HTTP headers when connecting. The session inherits those credentials automatically.
* **Session-based** (any deployment): Call `aevo_authenticate` after connecting. Credentials are stored in server memory only, never written to disk or logs, and are scoped to the individual session.

Each session is isolated; credentials from one session are never visible to another. Sessions expire automatically after 12 hours of inactivity, and you can revoke credentials at any time with `aevo_clear_auth`.

### Session Flow

```
1. Connect to the MCP server
2. Call aevo_onboard() — checks what credentials are needed for your use case
3. Call aevo_authenticate(api_key, api_secret, wallet_address, signing_key_private_key)
4. Use tools normally
5. Session expires automatically after 12 hours, or call aevo_clear_auth to end early
```

***

## Tools

| Tool                     |      Auth     | Description                                         |
| ------------------------ | :-----------: | --------------------------------------------------- |
| `aevo_onboard`           |       -       | Check session state and what credentials are needed |
| `aevo_authenticate`      |       -       | Store credentials for the current session           |
| `aevo_clear_auth`        |       -       | Clear session credentials                           |
| `aevo_get_status`        |       -       | Server identity and credential status               |
| `aevo_ping`              |       -       | Server liveness check                               |
| `aevo_healthcheck`       |       -       | API connectivity check                              |
| `aevo_list_assets`       |       -       | List supported assets                               |
| `aevo_list_markets`      |       -       | List available markets                              |
| `aevo_get_orderbook`     |       -       | Orderbook for an instrument                         |
| `aevo_get_instrument`    |       -       | Instrument metadata                                 |
| `aevo_get_funding_rate`  |       -       | Current funding rate                                |
| `aevo_get_statistics`    |       -       | Exchange-wide statistics                            |
| `aevo_get_index_price`   |       -       | Spot reference price                                |
| `aevo_get_server_time`   |       -       | Server timestamp                                    |
| `aevo_get_account`       |      API      | Account balances and margin                         |
| `aevo_get_portfolio`     |      API      | Portfolio with Greeks                               |
| `aevo_get_positions`     |      API      | Open positions                                      |
| `aevo_get_trade_fills`   |      API      | Trade fill history                                  |
| `aevo_get_order_history` |      API      | Order history                                       |
| `aevo_list_orders`       |      API      | Current open orders                                 |
| `aevo_get_order`         |      API      | Single order by ID                                  |
| `aevo_update_leverage`   |      API      | Change leverage for an instrument                   |
| `aevo_build_order`       |    Signing    | Build and sign an order without submitting          |
| `aevo_create_order`      | API + Signing | Submit a signed order                               |
| `aevo_cancel_order`      |      API      | Cancel an order                                     |
| `aevo_cancel_orders`     |      API      | Cancel multiple orders                              |
| `aevo_cancel_all_orders` |      API      | Cancel all open orders                              |
| `aevo_register_account`  |    Signing    | Register signing key on-chain                       |

**Auth legend:**

* `-`: No credentials needed (public tool)
* `API`: Requires `api_key` + `api_secret`
* `Signing`: Requires `wallet_address` + `signing_key_private_key`
* `API + Signing`: Requires all four credentials

***

## Multi-User Hosting

If you run the MCP server for multiple users (for example, as a shared backend for a team), do not set `AEVO_API_KEY` or `AEVO_API_SECRET` in the server environment. Leave those unset and let each session authenticate independently via `aevo_authenticate`. This ensures every user's credentials stay isolated within their own session.
