MacroMarket MCP
Reach MacroMarket from an LLM client through NEXUS, EventTrader's in-platform AI assistant: ask in natural language and NEXUS calls the tools below on your behalf — turn a theme into a basket of real vehicles, run a hypothetical backtest, paper-trade it, or list it as a live Event Card. Build / backtest / paper-trade move no real funds; backtests are hypothetical. Not investment advice.
POST /mcp/v1/register) and messaging NEXUS. They are not standalone POST /mcp/v1/tools/{name} calls — the public /mcp/v1 tool endpoint serves market-data & trading tools (list_markets, get_orderbook, place_order, …). For direct programmatic access to MacroMarket, use the REST API and SDK.
Connect an LLM Client
https://cymetica.com/mcp/v1
EventTrader exposes a single MCP surface. Connecting an LLM client here lets it talk to NEXUS — which calls the MacroMarket tools below on your behalf — and also gives it the directly-callable market-data & trading tools.
Discovery: GET /.well-known/mcp.json · Direct tools: GET /mcp/v1/tools · Register: POST /mcp/v1/register
For Claude Desktop, add to claude_desktop_config.json:
{
"mcpServers": {
"eventtrader": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://cymetica.com/mcp/v1"]
}
}
}
Tools
| Tool | Args | Description |
|---|---|---|
build_ai_index_basket | theme, num_assets?, weighting? | Build a themed AIB of real trading vehicles, Tuatara-weighted by relevance. Persists it for backtest/paper-trade. Requires login. |
backtest_ai_index_basket | aib_symbol?, theme?, period_days? | Backtest an AIB (by MM-… symbol) or a fresh theme over historical prices; returns return, Sharpe, max drawdown, win rate. Hypothetical. Requires login. |
paper_trade_ai_index_basket | aib_symbol, usd_notional?, side? | Simulated (paper) basket order — splits a USD amount across legs by weight. No real funds. Requires login. |
build_event_card_from_aib | aib_symbol, title? | Turn an AIB into a LIVE, tradeable Event Card (EVCDX index) on the order book. Idempotent. Requires login. |
search_trading_vehicles | query, ontology_class? | Search the ~48k-vehicle global catalog (stocks, ETFs, ADRs, REITs, crypto, FX, …) to find basket legs. |
Authentication
Build / backtest / paper-trade / list act on behalf of a logged-in user. Use them from the in-app NEXUS chat while signed in, or as a registered agent (POST /mcp/v1/register) messaging NEXUS. The underlying REST endpoints require a Bearer JWT — see the REST API page.
Example LLM Prompts
"Build an AI Index Basket for nuclear energy with 6 vehicles."
"How would a clean-energy basket have done over the last year?"
"Paper-trade $1,000 of the MM-NUCLEAR basket."
"Find me uranium ETFs and semiconductor stocks for a basket leg."
"Turn that basket into a tradeable event card."
Tool Reference
build_ai_index_basket
{
"name": "build_ai_index_basket",
"description": "Build an AI Index Basket (AIB) for a THEME — a basket of real trading vehicles chosen by the Tuatara semantic model and weighted by relevance. Persists the basket so it can be backtested and paper-traded. Requires login.",
"inputSchema": {"type":"object","required":["theme"],"properties":{
"theme":{"type":"string","description":"Investment theme to build the basket around"},
"num_assets":{"type":"integer","description":"Number of vehicles (3-12)","default":6},
"weighting":{"type":"string","enum":["tuatara","equal"],"default":"tuatara"}
}}
}
backtest_ai_index_basket
{
"name": "backtest_ai_index_basket",
"description": "Backtest an AIB over historical prices and return its metrics (total return, Sharpe, max drawdown, win rate). Pass an existing AIB symbol (MM-…) OR a theme to build one first. Requires login.",
"inputSchema": {"type":"object","properties":{
"aib_symbol":{"type":"string","description":"An existing AIB symbol (MM-…). Omit to build from theme."},
"theme":{"type":"string","description":"Theme to build + backtest a basket from (if no aib_symbol)."},
"period_days":{"type":"integer","description":"Historical lookback in days (7-1825)","default":365}
}}
}
paper_trade_ai_index_basket
{
"name": "paper_trade_ai_index_basket",
"description": "Place a SIMULATED (paper) order for an AIB — splits a USD amount across legs by weight into the user's paper portfolio. No real funds move. Requires login.",
"inputSchema": {"type":"object","required":["aib_symbol"],"properties":{
"aib_symbol":{"type":"string","description":"The AIB symbol (MM-…) to paper-trade"},
"usd_notional":{"type":"number","description":"USD amount to allocate across the basket","default":1000},
"side":{"type":"string","enum":["buy","sell"],"default":"buy"}
}}
}
build_event_card_from_aib
{
"name": "build_event_card_from_aib",
"description": "Turn an existing AIB (an MM-… symbol) into a LIVE, tradeable Event Card — an EVCDX index instrument on the order book that users can go bull/bear on. Idempotent (one card per basket, no fee). Requires login.",
"inputSchema": {"type":"object","required":["aib_symbol"],"properties":{
"aib_symbol":{"type":"string","description":"The AIB symbol (MM-…) to convert into an event card"},
"title":{"type":"string","description":"Optional display title; defaults to the basket's theme"}
}}
}
Trading Mode
Build, backtest, and paper-trade are simulated / paper only — no live order, no funds moved. The one tool that produces a live tradeable instrument is build_event_card_from_aib, which lists the basket as an Event Card on the order book; trading that card then happens through the live exchange surface, not here.