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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aevo.xyz/aevo-products/aevo-mcp/tool-reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
