Tools Reference
The E8 Markets MCP server exposes 23 tools organized into five groups. You don't need to call these tools directly — your AI assistant picks the right tool based on your question. This page is a reference for what's available.
Trading¶
Tools for querying assets, prices, order books, and generating charts.
e8_trade_asset_list¶
List available trading assets with optional filters.
| Parameter | Type | Required | Description |
|---|---|---|---|
search |
string | No | Search by symbol or name |
assetClass |
string | No | Filter by class: forex, stocks, futures, cfd |
limit |
integer | No | Max results (default: 50, max: 100) |
e8_trade_asset_get¶
Get detailed information about a specific trading asset.
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol |
string | Yes | Trading symbol (e.g., EURUSD, BTCUSD, AAPL) |
e8_trade_history¶
Get historical OHLCV candle data for a symbol.
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol |
string | Yes | Trading symbol |
resolution |
string | No | Candle size: 1, 5, 15, 60, 240, D, W, M (default: 60) |
from |
integer | No | Start timestamp in Unix seconds (default: 24 hours ago) |
to |
integer | No | End timestamp in Unix seconds (default: now) |
countBack |
integer | No | Number of candles to return (max: 500, alternative to from/to) |
e8_trade_orderbook¶
Get the order book snapshot with bid/ask prices.
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol |
string | Yes | Trading symbol |
depth |
integer | No | Price levels per side (default: 10, max: 50) |
e8_trade_chart¶
Generate a PNG price chart with volume bars and key stats.
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol |
string | Yes | Trading symbol |
period |
string | No | Candle resolution: 1, 5, 15, 60, 240, D, W, M (default: 60) |
range |
string | No | Time range preset: 1h, 6h, 24h, 7d, 30d (default: 24h) |
from |
integer | No | Start timestamp in Unix seconds (overrides range) |
to |
integer | No | End timestamp in Unix seconds (overrides range) |
Execution¶
Tools for placing orders, managing positions, and tracking your trading account. These tools require an API key with the trade:execute scope (included by default).
e8_account_info¶
Get trading account info: balance, equity, margin, and positions summary.
| Parameter | Type | Required | Description |
|---|---|---|---|
accountId |
string | No | Trading account ID. Uses the active account if not provided. |
Scope: read:trade
e8_positions_list¶
List all open positions with unrealized P&L, margin, and mark prices. No parameters required.
Scope: read:trade
e8_orders_list¶
List orders with optional filters and pagination.
| Parameter | Type | Required | Description |
|---|---|---|---|
status |
string | No | Filter: PENDING, VALIDATED, MATCHING, FILLED, SETTLED, REJECTED, FAILED |
symbol |
string | No | Filter by trading symbol |
page |
integer | No | Page number (default: 1) |
pageSize |
integer | No | Results per page (default: 50, max: 100) |
Scope: read:trade
e8_order_get¶
Get details of a single order by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
orderId |
string | Yes | Order ID to retrieve |
Scope: read:trade
e8_order_place¶
Place a market or limit order.
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol |
string | Yes | Trading symbol (e.g., EURUSD, BTCUSD) |
side |
string | Yes | buy or sell |
type |
string | No | market (default) or limit |
amount |
number | Yes | Order size in lots (e.g., 0.1, 1.0) |
limitPrice |
number | No | Required for limit orders |
slippage |
integer | No | Max slippage in basis points (default: account setting) |
clientOrderId |
string | No | Client-provided ID for tracking |
stopLoss |
number | No | Stop loss price. A protective limit order is placed after fill. |
takeProfit |
number | No | Take profit price. A protective limit order is placed after fill. |
When stopLoss and/or takeProfit are provided with a market order, the system:
- Fills the market order
- Automatically places protective limit orders (SL/TP) with OCO behavior — when one triggers, the other is cancelled
Scope: trade:execute
e8_order_cancel¶
Cancel a pending or validated order.
| Parameter | Type | Required | Description |
|---|---|---|---|
orderId |
string | Yes | Order ID to cancel |
Scope: trade:execute
e8_position_close¶
Close an open position for a specific symbol.
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol |
string | Yes | Symbol of the position to close |
slippage |
integer | No | Max slippage in basis points (default: account setting) |
Scope: trade:execute
e8_positions_close_all¶
Close all open positions at once.
| Parameter | Type | Required | Description |
|---|---|---|---|
slippage |
integer | No | Max slippage in basis points (default: account setting) |
Scope: trade:execute
Analytics¶
Tools for discovering dashboards, running queries, and generating visualizations.
e8_analytics_list¶
List available analytics dashboards.
| Parameter | Type | Required | Description |
|---|---|---|---|
tag |
string | No | Filter by tag (default: e8markets). Use empty string for all dashboards. |
e8_analytics_get¶
Get dashboard details including widgets and queries.
| Parameter | Type | Required | Description |
|---|---|---|---|
slug |
string | Yes | Dashboard slug or ID (from e8_analytics_list) |
e8_analytics_query¶
Execute an analytics query and get results.
| Parameter | Type | Required | Description |
|---|---|---|---|
queryId |
number | Yes | Query ID (from e8_analytics_get) |
parameters |
object | No | Query parameters as key-value pairs |
maxAge |
number | No | Cache age in seconds (default: 60, use 0 for fresh data) |
e8_analytics_job_status¶
Check status of a long-running analytics job.
| Parameter | Type | Required | Description |
|---|---|---|---|
jobId |
string | Yes | Job ID returned by e8_analytics_query when status is pending |
e8_analytics_chart¶
Generate a PNG visualization from a dashboard widget.
| Parameter | Type | Required | Description |
|---|---|---|---|
dashboardSlug |
string | Yes | Dashboard slug |
visualizationId |
number | Yes | Visualization ID (from e8_analytics_get) |
queryId |
number | Yes | Query ID (from e8_analytics_get) |
Dashboard¶
Tools for building and configuring trading dashboards.
e8_dashboard_get¶
Get information about available dashboard widgets and their configuration options. No parameters required.
e8_dashboard_suggest¶
Generate widget suggestions for a trading dashboard.
| Parameter | Type | Required | Description |
|---|---|---|---|
focus |
string | No | Dashboard focus: trading, analysis, monitoring, news, balanced (default: balanced) |
symbols |
array | No | Symbols to include (e.g., ["EURUSD", "BTCUSD"]) |
maxWidgets |
integer | No | Max widgets to suggest (default: 6, max: 12) |
News¶
Tools for retrieving market news and headlines.
e8_news¶
Get latest news articles with titles, excerpts, signal scores, and links.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit |
number | No | Number of articles (default: 20, max: 50) |
timeWindow |
string | No | Time window: 1H, 6H, 24H, 7D, ALL (default: 7D) |
categoryId |
string | No | Filter by category ID |
categoryName |
string | No | Filter by category name (case-insensitive partial match) |
e8_news_ticker¶
Get compact news ticker items for quick scanning.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit |
number | No | Number of ticker items (default: 20, max: 50) |
e8_news_categories¶
List all available news categories. No parameters required. Use the returned category ID or name to filter news with e8_news.