cTrader MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AZURE_KEY_VAULT_URL | No | URL of Azure Key Vault to retrieve credentials automatically (ctrader-app-client-id, ctrader-app-client-secret, ctrader-access-token-icmarkets, ctrader-account-id-icmarkets) | |
| ctrader-app-client-id | No | Your application client ID | |
| ctrader-app-client-secret | No | Your application client secret | |
| ctrader-account-id-icmarkets | No | Your account ID for IC Markets | |
| ctrader-access-token-icmarkets | No | Your access token for IC Markets |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_orderA | Create a new cTrader order. This override ensures:
|
| close_positionA | Close a cTrader position. This override ensures:
|
| amend_orderA | Amend an existing cTrader order. This override ensures:
|
| get_account_statusA | Retrieves the current cTrader account status and session metadata. |
| get_traderB | Returns the authenticated cTrader trader profile and related account metadata. |
| get_account_list_by_access_tokenB | Lists the accounts available to the active cTrader access token. |
| list_symbolsB | Lists available cTrader symbols or instruments with their basic metadata. |
| get_symbolC | Gets detailed metadata for a specific cTrader symbol or instrument. |
| list_symbol_categoriesA | Lists cTrader symbol categories used to organize the instrument universe. |
| get_market_dataB | Fetches recent market data for a symbol such as quotes, candles, or latest trades. |
| list_positionsA | Returns the currently open cTrader positions and their status. |
| get_position_unrealized_pnlA | Retrieves unrealized P&L for a specific cTrader position. |
| list_deals_by_position_idB | Lists deal history associated with a specific cTrader position ID. |
| list_ordersC | Lists cTrader orders using the supplied account and filtering criteria. |
| get_order_detailsB | Fetches detailed information for a specific cTrader order. |
| cancel_orderA | Cancels an open cTrader order by its order ID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Most tools target distinct resources and actions, but the account-related endpoints (get_trader, get_account_status, get_account_list_by_access_token) have overlapping metadata purposes and could cause misselection. The order, position, and symbol tools are clearly differentiated.
All tool names follow a consistent snake_case verb_noun pattern, with list_ used for collections and get_ for single resources. Action verbs like create, cancel, amend, and close are clear and predictable.
16 tools is slightly above the ideal range but each tool maps to a meaningful trading workflow, including orders, positions, symbols, accounts, and market data. The count is reasonable for the domain and not padded with trivial endpoints.
The toolset covers core order lifecycle (create, amend, cancel, list, get), position management (list, close, unrealized P&L), market data, symbols, and account metadata. Minor gaps exist such as no direct position detail endpoint beyond P&L and no broad deal history search, but core workflows are not dead-ended.