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 |
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 |
|---|---|
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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