Tool Reference
The Axiory.ai MCP Server exposes 19 MCP tools (also called “functions” in some clients) that handle all trading operations, market data queries, and system management. Each tool maps to a specific trading or information operation via the FIX 4.4 protocol.
What Are MCP Tools?
Section titled “What Are MCP Tools?”MCP tools are functions that AI agents can call to perform actions. Think of them like API methods—you describe what you want to do in English, the AI agent calls the appropriate tool with the right parameters, and you get back structured results. Some tools modify state (place orders), while others just read information (check prices).
Tool Categories
Section titled “Tool Categories”The 19 tools are organized into 5 categories:
Trading (4 Tools)
Section titled “Trading (4 Tools)”Place, modify, and cancel orders. These are destructive operations that send real orders to the broker (in live mode) or validate them (in paper mode).
| Tool | Description | Mode | Annotations |
|---|---|---|---|
| place_order | Submit a new order (MARKET, LIMIT, STOP) | paper/live | Destructive, non-idempotent |
| modify_order | Change volume, price, or stop price on pending order | paper/live | Destructive, non-idempotent |
| cancel_order | Cancel a pending order before fill | paper/live | Destructive, idempotent |
| close_position | Close an open position with a market order | paper/live | Destructive, non-idempotent |
| close_all_positions | Close all positions (or by symbol) | paper/live | Destructive, non-idempotent |
Market Data (3 Tools)
Section titled “Market Data (3 Tools)”Query live prices and subscribe to real-time quotes. These are read-only operations with no risk checks.
| Tool | Description | Mode | Annotations |
|---|---|---|---|
| get_quote | Get current price for one symbol | all | Read-only, idempotent |
| get_quotes | Get prices for multiple symbols (batch) | all | Read-only, idempotent |
| subscribe_quotes | Subscribe to live bid/ask prices | paper/live | Non-idempotent |
Portfolio (3 Tools)
Section titled “Portfolio (3 Tools)”View your open positions, pending orders, and closed trade history. These are read-only operations.
| Tool | Description | Mode | Annotations |
|---|---|---|---|
| get_positions | View all open positions with unrealized P&L | all | Read-only, idempotent |
| get_orders | View pending/open orders | all | Read-only, idempotent |
| get_trade_history | View closed trades with realized P&L and stats | all | Read-only, idempotent |
Information (3 Tools)
Section titled “Information (3 Tools)”Look up symbols, access built-in documentation, and check system health. These are read-only operations.
| Tool | Description | Mode | Annotations |
|---|---|---|---|
| get_symbols | Query symbol catalog (IDs, lot sizes, asset classes) | all | Read-only, idempotent |
| get_knowledge | Access built-in documentation and guides | all | Read-only, idempotent |
| check_health | Check server health, FIX state, risk limits | all | Read-only, idempotent |
Session Management (4 Tools)
Section titled “Session Management (4 Tools)”Manage FIX sessions and authentication. These are infrastructure tools for connectivity and session control.
| Tool | Description | Mode | Annotations |
|---|---|---|---|
| reconnect_trade_session | Force reconnect TRADE FIX session | paper/live | Destructive, idempotent |
| reconnect_quote_session | Force reconnect QUOTE FIX session | paper/live | Idempotent |
| reset_session | Revoke all tokens and reset authentication | paper/live | Destructive, non-idempotent |
| submit_feedback | Submit bug reports or feature requests | all | Non-idempotent, open-world |
| get_feedback_status | Check status of submitted feedback | all | Read-only, idempotent |
Mode Availability
Section titled “Mode Availability”| Mode | Can Trade? | Can Read Data? | Can Manage Sessions? |
|---|---|---|---|
| readonly | No (rejected) | Yes | No |
| paper | Yes (simulated) | Yes | Yes |
| live | Yes (real) | Yes | Yes |
See Operating Modes for details on each mode.
Tool Annotations (Behavior Hints)
Section titled “Tool Annotations (Behavior Hints)”Each tool has annotations that describe its behavior:
- read-only — Does not modify state. Safe to call multiple times without consequence.
- destructive — Modifies state (creates/cancels orders, closes positions). Use with caution.
- idempotent — Can be called multiple times with the same parameters without side effects. Safe to retry on network failures.
- non-idempotent — Multiple calls with same parameters produce different results (creates duplicate orders). Dangerous to retry blindly.
- open-world — May interact with external systems (GitHub API for feedback) or have non-deterministic behavior.
Risk Checks
Section titled “Risk Checks”Trading tools run automatic risk checks before execution:
- Kill switch — All trading blocked if daily loss limit exceeded
- Rate limiting — Prevents spam (rapid orders on same symbol)
- Operating mode — Must be paper or live (not readonly)
- Symbol whitelist — Symbol must exist and be enabled
- Per-asset-class position size — Single position cannot exceed configured max
- Maximum open positions — Total positions limited (linked SL/TP don’t count)
- Daily loss limit — Realized losses cannot exceed configured daily ceiling
- Volume validation — Volume must be positive and reasonable
See Risk Management for full details on each check.
Quick Lookup
Section titled “Quick Lookup”I want to…
- Place an order →
place_order - Modify a pending order →
modify_order - Cancel an order →
cancel_order - Close a position →
close_position - Close all positions →
close_all_positions - Check my positions →
get_positions - Check pending orders →
get_orders - Get a current price →
get_quoteorget_quotes - Subscribe to live prices →
subscribe_quotes - View closed trades →
get_trade_history - Look up symbols →
get_symbols - Read documentation →
get_knowledge - Check if I’m connected →
check_health - Reconnect if disconnected →
reconnect_trade_sessionorreconnect_quote_session - Report a bug →
submit_feedback - Check on my feedback →
get_feedback_status - Change mode or re-authenticate →
reset_session
Individual Tool Pages
Section titled “Individual Tool Pages”Each tool has a dedicated reference page with:
- Full parameter descriptions
- Example usage
- Response format
- Error codes and solutions
- Workflow tips
Navigate to the tools you use most:
- place_order
- modify_order
- cancel_order
- close_position
- close_all_positions
- get_quote
- get_quotes
- subscribe_quotes
- get_positions
- get_orders
- get_trade_history
- get_symbols
- get_knowledge
- check_health
- reconnect_trade_session
- reconnect_quote_session
- reset_session
- submit_feedback
- get_feedback_status
Key Concepts
Section titled “Key Concepts”Units vs Lots
Section titled “Units vs Lots”All volume parameters are specified in units, not lots:
- FX pairs (EURUSD): 100,000 units = 1 standard lot, 10,000 units = 0.1 lot
- Gold (XAUUSD): 10 units = 1 standard lot, 100 units = 10 lots
- Silver (XAGUSD): 500 units = 1 standard lot
Call get_symbols to verify the lot size for any instrument before trading.
Position Linking with positionId
Section titled “Position Linking with positionId”SL/TP orders require positionId to link them to an existing position. Without positionId, a STOP or LIMIT order opens a new independent position instead of closing the target:
CORRECT:1. place_order (MARKET, side=BUY, volume=100000, symbol=EURUSD) → returns positionId="pos-123"2. place_order (STOP, side=SELL, volume=100000, symbol=EURUSD, positionId="pos-123", stopPrice=1.0950) → closes position when price hits 1.0950
WRONG:1. place_order (MARKET, side=BUY, volume=100000, symbol=EURUSD) → returns positionId="pos-123"2. place_order (STOP, side=SELL, volume=100000, symbol=EURUSD, stopPrice=1.0950) → opens a NEW position (no positionId) instead of closing pos-123OCO (One-Cancels-Other)
Section titled “OCO (One-Cancels-Other)”When you link SL and TP orders to the same position, the server auto-cancels the remaining order when one fills:
Position: 1 lot EURUSD LONGSL: STOP at 1.0900TP: LIMIT at 1.1000
If price hits 1.1000:- TP fills (you close at profit)- SL is auto-cancelledBest Practices
Section titled “Best Practices”- Always warm the price cache — Call
get_quotesbeforeget_positionsto ensure accurate unrealizedPnL - Use paper mode first — Test order logic before trading live
- Check health before trading — Verify connectivity with
check_health - Never retry blindly — Non-idempotent tools (place_order) shouldn’t be retried on error
- Use positionId for SL/TP — Without it, you create independent positions
- Monitor daily loss — Check
check_healthto see how close to daily loss limit - Read error responses carefully — They include suggestions for fixing the issue
- Use the journal — All operations are logged for audit and debugging
Resources and Prompts
Section titled “Resources and Prompts”In addition to these tools, the server provides:
- MCP Resources — Structured knowledge base topics accessible to agents
- MCP Prompts — Pre-written system prompts that guide agent behavior
