capitalcom-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CAP_ENV | No | demo or live (default demo) | |
| CAP_API_KEY | No | Capital.com API key | |
| CAP_ENV_FILE | No | Path to a .env file with credentials | |
| CAP_MCP_HOST | No | HTTP host | |
| CAP_MCP_PORT | No | HTTP port | |
| CAP_IDENTIFIER | No | Capital.com account identifier | |
| CAP_WS_ENABLED | No | Enable WebSocket streaming | |
| CAP_API_KEY_CMD | No | Command to retrieve API key | |
| CAP_API_PASSWORD | No | Capital.com API password | |
| CAP_ALLOWED_EPICS | No | EPIC allowlist or ALL | |
| CAP_ALLOW_TRADING | No | Enable order execution | |
| CAP_MCP_TRANSPORT | No | stdio or http | |
| CAP_IDENTIFIER_CMD | No | Command to retrieve identifier | |
| CAP_API_PASSWORD_CMD | No | Command to retrieve password |
Capabilities
Features and capabilities supported by this server
| 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 |
|---|---|
| cap_session_statusA | Get current session status (login state, account, token expiry). No auth required. |
| cap_session_loginC | Create or verify a session. force=true re-logs in; account_id switches account. |
| cap_session_pingA | Keep the session alive (extends timeout). Requires authentication. |
| cap_session_logoutA | End the session and clear tokens. Requires authentication. |
| cap_session_switch_accountA | Switch the active trading account by ID. Requires authentication. |
| cap_market_searchC | Search markets by term or EPIC list. limit truncates results client-side. |
| cap_market_getA | Get full market details and dealing rules for an EPIC. |
| cap_market_navigation_rootA | Get the root market-navigation tree (categories). |
| cap_market_navigation_nodeB | Get child nodes/markets under a navigation node. |
| cap_market_pricesC | Get historical OHLC candles. resolution e.g. MINUTE_15, HOUR, DAY. |
| cap_market_sentimentC | Get client sentiment (long vs short %) for a market. |
| cap_account_listA | List all trading accounts (balance, currency, type). Requires authentication. |
| cap_account_preferences_getB | Get account preferences (hedging mode, per-asset-class leverage). |
| cap_account_preferences_setC | Set account preferences (TRADE-GATED). Requires confirm=true when configured. |
| cap_account_history_activityA | Get account activity history (deals, orders, updates). detailed adds fields; deal_id filters. |
| cap_account_history_transactionsC | Get transaction history (deposits, withdrawals, P&L). Optional type filter. |
| cap_account_demo_topupA | Top up the demo account balance (DEMO ONLY). The SDK enforces demo + confirm. |
| cap_trade_positions_listA | List all open positions (P&L, direction, size, attached orders). |
| cap_trade_positions_getA | Get a single position's details by deal ID. |
| cap_trade_orders_listA | List all working orders (pending LIMIT/STOP that haven't triggered). |
| cap_trade_confirm_getA | Get deal-confirmation status (ACCEPTED/REJECTED/pending) for a deal reference. |
| cap_trade_confirm_waitA | Poll the confirmation endpoint until ACCEPTED/REJECTED or timeout. |
| cap_trade_preview_positionA | Preview a position (NO SIDE EFFECTS). Runs the full risk pipeline; returns preview_id. |
| cap_trade_preview_working_orderA | Preview a working order (NO SIDE EFFECTS). type is LIMIT or STOP. Returns preview_id. |
| cap_trade_execute_positionB | Execute a previewed position (CREATES A REAL TRADE). SDK enforces all safety gates. |
| cap_trade_execute_working_orderA | Execute a previewed working order (CREATES A REAL ORDER). SDK enforces all safety gates. |
| cap_trade_positions_closeB | Close an open position (SIDE EFFECT). Requires confirm + trading enabled. |
| cap_trade_orders_cancelA | Cancel a working order (SIDE EFFECT). Requires confirm + trading enabled. |
| cap_trade_positions_amendB | Amend stop-loss / take-profit on an open position (SIDE EFFECT). Requires confirm. |
| cap_trade_orders_amendA | Amend a working order's level/expiry/stops-limits (SIDE EFFECT). Requires confirm. |
| cap_watchlists_listA | List all watchlists (IDs and names). |
| cap_watchlists_getC | Get a watchlist's details including its markets. |
| cap_watchlists_createB | Create a new watchlist (1-100 chars). Requires confirm when configured. |
| cap_watchlists_add_marketC | Add a market (EPIC) to a watchlist. Requires confirm when configured. |
| cap_watchlists_remove_marketB | Remove a market (EPIC) from a watchlist. Requires confirm when configured. |
| cap_watchlists_deleteC | Delete a watchlist. Requires confirm when configured. |
| cap_stream_pricesB | Stream live bid/offer for up to 40 EPICs for duration_s seconds (WebSocket). |
| cap_stream_candlesA | Stream live OHLC bars for up to 40 EPICs at the given resolutions (WebSocket). resolutions e.g. ["MINUTE", "HOUR"]; bar_type "classic" or "heikin-ashi". |
| cap_stream_alertsC | Monitor EPICs for price-level crossings. alerts: {EPIC: {level, direction: ABOVE|BELOW}}. |
| cap_stream_portfolioB | Stream live portfolio snapshots for open positions for duration_s seconds (WebSocket). |
| searchC | ChatGPT Deep Research: search Capital.com markets. Returns {results:[{id,title,url}]}. |
| fetchC | ChatGPT Deep Research: fetch a market's details. Returns {id,title,text,url,metadata}. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| market_scan | Market scan workflow - Analyze markets in a watchlist. This prompt guides you through scanning markets for trading opportunities. It fetches a watchlist, retrieves price data for each market, and prompts you to analyze the data for patterns and opportunities. |
| trade_proposal | Trade proposal workflow - Design a trade with proper risk management. This prompt guides you through creating a trade proposal with entry, stop loss, and take profit levels. It uses preview to validate the trade WITHOUT executing it. |
| execute_trade | Execute trade workflow - Execute a previewed trade safely. This prompt guides you through executing a trade that was previously previewed. It includes confirmation polling and proper error handling. |
| position_review | Position review workflow - Analyze current positions and orders. This prompt guides you through reviewing open positions and working orders, identifying exposures, and suggesting adjustments. It does NOT execute any trades - it's purely analytical. No arguments required - reviews all current positions and orders. Workflow: 1. Call cap_trade_positions_list to get all open positions 2. Call cap_trade_orders_list to get all working orders 3. For each position, calculate P&L, risk, and exposure 4. Identify correlations and concentration risks 5. Suggest potential adjustments (WITHOUT executing them) Example usage: - "Review my current positions" - "Analyze my portfolio exposure" - "Show me my open trades and their status" |
| live_price_monitor | Live price monitor - Real-time price tracking with movement alerts (WebSocket streaming). Monitor live market prices with instant alerts when prices move beyond threshold. Uses WebSocket streaming for real-time updates with sub-second latency. |
| real_time_alerts | Real-time alerts - Conditional alerts for trading opportunities (WebSocket streaming). Set price level alerts and get instant notifications when markets hit your targets. Uses WebSocket for real-time monitoring with immediate alert triggers. |
| live_portfolio_monitor | Live portfolio monitor - Real-time P&L tracking for open positions (WebSocket streaming). Watch your portfolio P&L update in real-time as market prices move. Get instant alerts when total P&L crosses thresholds. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| cap_status_resource | Server + session status snapshot. |
| cap_risk_policy_resource | Active risk-management policy. |
| cap_allowed_epics_resource | Trading allowlist. |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SimonTarara62/capitalcom-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server