hatgit avatar

Forex-GPT MCP Server

io.github.hatgit/forex-gpt-mcp

Connects to the Forex-GPT API to pull real-time market data and analysis for forex pairs and crypto instruments. You get access to 127+ trading instruments with AI-powered technical analysis, though the server config doesn't expose specific tool details beyond the OAuth-protected WebSocket endpoint. Reach for this when you're building trading dashboards, need market data in your Claude workflow, or want to query forex/crypto prices and trends without switching contexts. Requires OAuth RS256 or bearer token authentication to connect via SSE transport at mcp.forex-gpt.ai.

tools
69
auth
Secret needed
transport
SSE
last updated
Dec 21, 2025

Install

From registry metadata
$ npx add-mcp https://mcp.forex-gpt.ai/mcp --name forex-gpt-mcp --transport sse --header 'Authorization: Bearer ${API_TOKEN}'

Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport sse forex-gpt-mcp https://mcp.forex-gpt.ai/mcp --header 'Authorization: YOUR_AUTHORIZATION'

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 69 tools

Verified live against the running server on Nov 6, 2026.

save_oanda_credentialsSave your OANDA API Key and Account ID securely. These are required before you can trade.2 params

Save your OANDA API Key and Account ID securely. These are required before you can trade.

Parameters* required
account_id*string
api_key*string
delete_oanda_credentialsRemove/Delete your stored OANDA API Key and Account ID. Use this if you want to clear your credentials or switch accounts.

Remove/Delete your stored OANDA API Key and Account ID. Use this if you want to clear your credentials or switch accounts.

No parameters. Call it with no arguments.

save_broker_credentialsSave broker credentials. Supports multiple brokers. Args: broker: The broker name - "oanda", "etoro", or "hyperliquid" api_key: Your broker API key (OANDA/eToro). NOT used for Hyperliquid (see below). account_id: Your broker account ID (required for OANDA) user_key: Your eToro...5 params

Save broker credentials. Supports multiple brokers. Args: broker: The broker name - "oanda", "etoro", or "hyperliquid" api_key: Your broker API key (OANDA/eToro). NOT used for Hyperliquid (see below). account_id: Your broker account ID (required for OANDA) user_key: Your eToro...

Parameters* required
account_idstring
default:
api_keystring
default:
broker*string
demo_modeboolean
default: true
user_keystring
default:
trade_modify_tradeModify an existing trade's Stop Loss and Take Profit. You can use absolute prices OR relative distances. Only provided fields will be updated. Args: trade_id: The ID of the open trade to modify. take_profit: New ABSOLUTE price. stop_loss: New ABSOLUTE price. take_profit_distan...8 params

Modify an existing trade's Stop Loss and Take Profit. You can use absolute prices OR relative distances. Only provided fields will be updated. Args: trade_id: The ID of the open trade to modify. take_profit: New ABSOLUTE price. stop_loss: New ABSOLUTE price. take_profit_distan...

Parameters* required
position_levelboolean
default: false
stop_lossnumber
stop_loss_distancenumber
stop_loss_limitnumber
take_profitnumber
take_profit_distancenumber
take_profit_limitnumber
trade_id*string
trade_market_orderPlace a Market Order. units: Positive for Buy, Negative for Sell take_profit: ABSOLUTE PRICE (e.g. 1.1250). stop_loss: ABSOLUTE PRICE (e.g. 1.1100). take_profit_distance: RELATIVE PIPS (e.g. 0.0050). Use this OR absolute price. stop_loss_distance: RELATIVE PIPS (e.g. 0.0020)....13 params

Place a Market Order. units: Positive for Buy, Negative for Sell take_profit: ABSOLUTE PRICE (e.g. 1.1250). stop_loss: ABSOLUTE PRICE (e.g. 1.1100). take_profit_distance: RELATIVE PIPS (e.g. 0.0050). Use this OR absolute price. stop_loss_distance: RELATIVE PIPS (e.g. 0.0020)....

Parameters* required
client_noncevalue
guaranteed_stop_lossboolean
default: false
instrument*string
payment_proofvalue
slippagenumber
stop_lossnumber
stop_loss_distancenumber
stop_loss_limitnumber
take_profitnumber
take_profit_distancenumber
take_profit_limitnumber
trailing_stop_distancenumber
units*number
trade_limit_orderPlace a Limit Order. price: The limit price to trigger the order. take_profit: ABSOLUTE PRICE (e.g. 1.1250). stop_loss: ABSOLUTE PRICE (e.g. 1.1100). take_profit_distance: RELATIVE PIPS (e.g. 0.0050). stop_loss_distance: RELATIVE PIPS (e.g. 0.0020). trailing_stop_distance: REL...16 params

Place a Limit Order. price: The limit price to trigger the order. take_profit: ABSOLUTE PRICE (e.g. 1.1250). stop_loss: ABSOLUTE PRICE (e.g. 1.1100). take_profit_distance: RELATIVE PIPS (e.g. 0.0050). stop_loss_distance: RELATIVE PIPS (e.g. 0.0020). trailing_stop_distance: REL...

Parameters* required
client_noncevalue
expirystring
guaranteed_stop_lossboolean
default: false
instrument*string
payment_proofvalue
price*number
reduce_onlyboolean
default: false
stop_lossnumber
stop_loss_distancenumber
stop_loss_limitnumber
take_profitnumber
take_profit_distancenumber
take_profit_limitnumber
tifvalue
trailing_stop_distancenumber
units*number
trade_stop_orderPlace a Stop Order (Momentum/Breakout Entry). Use this to Buy ABOVE market price or Sell BELOW market price. Args: instrument: Asset symbol (e.g. 'EUR_USD') units: Positive for Buy, Negative for Sell price: The STOP price to trigger the order. expiry: ISO 8601 string (e.g. "20...11 params

Place a Stop Order (Momentum/Breakout Entry). Use this to Buy ABOVE market price or Sell BELOW market price. Args: instrument: Asset symbol (e.g. 'EUR_USD') units: Positive for Buy, Negative for Sell price: The STOP price to trigger the order. expiry: ISO 8601 string (e.g. "20...

Parameters* required
client_noncevalue
expirystring
guaranteed_stop_lossboolean
default: false
instrument*string
price*number
stop_lossnumber
stop_loss_distancenumber
take_profitnumber
take_profit_distancenumber
trailing_stop_distancenumber
units*number
cancel_pending_orderCancel a pending (unfilled) Limit or Stop order. Args: order_id: The OANDA ID of the order to cancel.1 params

Cancel a pending (unfilled) Limit or Stop order. Args: order_id: The OANDA ID of the order to cancel.

Parameters* required
order_id*string
replace_pending_orderReplace (Modify) an existing pending order. Basically cancels the old one and places a new one atomically. Args: order_id: ID of the order to replace. type: 'LIMIT' or 'STOP'. client_nonce: Optional. 32-char hex idempotency token for the new order. Pass the same value from a p...13 params

Replace (Modify) an existing pending order. Basically cancels the old one and places a new one atomically. Args: order_id: ID of the order to replace. type: 'LIMIT' or 'STOP'. client_nonce: Optional. 32-char hex idempotency token for the new order. Pass the same value from a p...

Parameters* required
client_noncevalue
expirystring
guaranteed_stop_lossboolean
default: false
instrument*string
order_id*string
price*number
stop_lossnumber
stop_loss_distancenumber
take_profitnumber
take_profit_distancenumber
trailing_stop_distancenumber
typestring
default: LIMIT
units*integer
get_open_tradesList open trades.

List open trades.

No parameters. Call it with no arguments.

get_open_positionsList open positions (Net Exposure per instrument). Useful to see total Long/Short units and P&L per pair.

List open positions (Net Exposure per instrument). Useful to see total Long/Short units and P&L per pair.

No parameters. Call it with no arguments.

get_account_historyGet account transaction history (e.g. closed trades, order fills). Useful for finding past trades, reporting, or auditing. Args: from_time: Start time (RFC3339 format, e.g. "2023-05-01T00:00:00Z"). to_time: End time (RFC3339). type_filter: Comma-separated types (e.g. "ORDER_FI...3 params

Get account transaction history (e.g. closed trades, order fills). Useful for finding past trades, reporting, or auditing. Args: from_time: Start time (RFC3339 format, e.g. "2023-05-01T00:00:00Z"). to_time: End time (RFC3339). type_filter: Comma-separated types (e.g. "ORDER_FI...

Parameters* required
from_timestring
to_timestring
type_filterstring
get_trade_detailsGet full details of a specific trade (Open or Closed). Useful to investigate a trade that disappeared or to see its full history.1 params

Get full details of a specific trade (Open or Closed). Useful to investigate a trade that disappeared or to see its full history.

Parameters* required
trade_id*string
get_performance_summaryTrading-performance aggregates: realized P&L net of fees, total fees paid, perp funding paid/received, fill count, plus a daily breakdown for the chart. Args: window: "7d" | "30d" | "90d" | "ytd" | "all" (default). Filters fills + funding by their HL timestamp. Lifetime totals...1 params

Trading-performance aggregates: realized P&L net of fees, total fees paid, perp funding paid/received, fill count, plus a daily breakdown for the chart. Args: window: "7d" | "30d" | "90d" | "ytd" | "all" (default). Filters fills + funding by their HL timestamp. Lifetime totals...

Parameters* required
windowstring
default: all
get_order_historyGet OANDA order history (FILLED, CANCELLED, TRIGGERED, etc.). state: "ALL", "PENDING", "FILLED", "TRIGGERED", "CANCELLED". count: Max 500.2 params

Get OANDA order history (FILLED, CANCELLED, TRIGGERED, etc.). state: "ALL", "PENDING", "FILLED", "TRIGGERED", "CANCELLED". count: Max 500.

Parameters* required
countinteger
default: 50
statestring
default: ALL
get_pending_ordersList all PENDING orders (Limits, Stops, Entry Orders). These are orders waiting to be filled.

List all PENDING orders (Limits, Stops, Entry Orders). These are orders waiting to be filled.

No parameters. Call it with no arguments.

get_trading_accountGet trading account summary (balance, margin).

Get trading account summary (balance, margin).

No parameters. Call it with no arguments.

close_tradeClose a specific trade (fully or partially).2 params

Close a specific trade (fully or partially).

Parameters* required
trade_id*string
unitsstring
default: ALL
close_positionClose position for an instrument.3 params

Close position for an instrument.

Parameters* required
instrument*string
long_unitsstring
default: ALL
short_unitsstring
default: ALL
get_market_hours3 params
Parameters* required
categorystring
include_statusboolean
default: true
instrumentstring
is_market_open2 params
Parameters* required
at_timestring
instrument*string
get_market_categories

No parameters. Call it with no arguments.

get_instrument_specs3 params
Parameters* required
includearray
instrumentstring
type_filterstring
refresh_instrument_dataManually refresh instrument data from OANDA API. Updates financing rates, margin requirements, and other parameters. Requires: User must have saved OANDA credentials via save_oanda_credentials. Returns: - success: Boolean indicating if refresh succeeded - message: Status messa...

Manually refresh instrument data from OANDA API. Updates financing rates, margin requirements, and other parameters. Requires: User must have saved OANDA credentials via save_oanda_credentials. Returns: - success: Boolean indicating if refresh succeeded - message: Status messa...

No parameters. Call it with no arguments.

get_instrument_cache_status

No parameters. Call it with no arguments.

get_token_balancesReturn the current user's token balances from Auth0 app_metadata. Uses _safe_profile() so that the same values shown inside AI analysis (token_quota, purchased_tokens, total_token_usage, last_reset, email, user_id) are returned in a simple JSON structure.

Return the current user's token balances from Auth0 app_metadata. Uses _safe_profile() so that the same values shown inside AI analysis (token_quota, purchased_tokens, total_token_usage, last_reset, email, user_id) are returned in a simple JSON structure.

No parameters. Call it with no arguments.

list_assetsReturn supported asset symbols for the active broker. For OANDA containers: returns the OANDA universe (~120 instruments). For Hyperliquid containers: returns the Hyperliquid perp universe (~230 markets) with per-asset metadata (current price, max leverage, funding rate, open...3 params

Return supported asset symbols for the active broker. For OANDA containers: returns the OANDA universe (~120 instruments). For Hyperliquid containers: returns the Hyperliquid perp universe (~230 markets) with per-asset metadata (current price, max leverage, funding rate, open...

Parameters* required
assetstring
default:
filterstring
default:
include_spotboolean
default: true
get_market_moversTop gainers, top losers and (Hyperliquid) top 24h volume across the active broker's whole universe, ranked by daily price change. No Sentiment Score is computed and no tokens are charged — use scan_market for score rankings. Hyperliquid: rolling 24h change from the exchange's...3 params

Top gainers, top losers and (Hyperliquid) top 24h volume across the active broker's whole universe, ranked by daily price change. No Sentiment Score is computed and no tokens are charged — use scan_market for score rankings. Hyperliquid: rolling 24h change from the exchange's...

Parameters* required
limitinteger
default: 25
liquid_onlyboolean
default: true
timeframestring
default: D
analyze_assetRun a one-shot technical analysis for a SINGLE asset on a SINGLE timeframe. Use this when the user asks about ONE specific asset by name, e.g.: - "analyze EUR_USD" - "give me your read on BTC on the 4-hour" - "what's the signal on gold?" - "deep analysis on SOL/USDC daily" For...5 params

Run a one-shot technical analysis for a SINGLE asset on a SINGLE timeframe. Use this when the user asks about ONE specific asset by name, e.g.: - "analyze EUR_USD" - "give me your read on BTC on the 4-hour" - "what's the signal on gold?" - "deep analysis on SOL/USDC daily" For...

Parameters* required
asset*string
languagestring
priceTypestring
default: B
timeframestring
default: D
timeoutSecinteger
default: 45
get_watchlistView the assets the user has SAVED to their persistent watchlist. Use this when the user asks about their watchlist, e.g.: - "show my watchlist" - "what's on my watchlist" - "list my watchlist" - "what assets am I watching" This is NOT the same as open positions / trades. The...

View the assets the user has SAVED to their persistent watchlist. Use this when the user asks about their watchlist, e.g.: - "show my watchlist" - "what's on my watchlist" - "list my watchlist" - "what assets am I watching" This is NOT the same as open positions / trades. The...

No parameters. Call it with no arguments.

add_to_watchlistAdd a new asset to your persistent watchlist. Args: asset: Asset symbol (e.g. 'EUR_USD', 'BTC_USD')1 params

Add a new asset to your persistent watchlist. Args: asset: Asset symbol (e.g. 'EUR_USD', 'BTC_USD')

Parameters* required
asset*string
remove_from_watchlistRemove an asset from your persistent watchlist. Args: asset: Asset symbol to remove1 params

Remove an asset from your persistent watchlist. Args: asset: Asset symbol to remove

Parameters* required
asset*string
analyze_watchlistAnalyze multiple assets from the user's SAVED watchlist in parallel. Args: timeframe: Timeframe (D, H4, H1, etc.) priceType: B (bid), A (ask), or M (mid) timeoutSec: Overall timeout in seconds (30-300) (optional) timeframes: list of timeframes (timeframes mode) – if provided,...6 params

Analyze multiple assets from the user's SAVED watchlist in parallel. Args: timeframe: Timeframe (D, H4, H1, etc.) priceType: B (bid), A (ask), or M (mid) timeoutSec: Overall timeout in seconds (30-300) (optional) timeframes: list of timeframes (timeframes mode) – if provided,...

Parameters* required
languagestring
max_assetsinteger
priceTypestring
default: B
timeframestring
default: D
timeframesarray
timeoutSecinteger
default: 120
analyze_timeframesAnalyze a single asset across multiple timeframes simultaneously. Args: asset: Asset symbol (e.g., EUR_USD) timeframes: List of timeframes (e.g., ["D", "H4", "H1"]) priceType: B (bid), A (ask), or M (mid) timeoutSec: Overall timeout in seconds (30-300) Returns: Multi-timeframe...5 params

Analyze a single asset across multiple timeframes simultaneously. Args: asset: Asset symbol (e.g., EUR_USD) timeframes: List of timeframes (e.g., ["D", "H4", "H1"]) priceType: B (bid), A (ask), or M (mid) timeoutSec: Overall timeout in seconds (30-300) Returns: Multi-timeframe...

Parameters* required
asset*string
languagestring
priceTypestring
default: B
timeframes*array
timeoutSecinteger
default: 90
economic_eventsFetch upcoming economic events via the TradingView proxy source. Args: fromDays: Start of date range (days from now, 0-90) toDays: End of date range (days from now, 0-90) Returns: List of economic events with importance, country, and timing2 params

Fetch upcoming economic events via the TradingView proxy source. Args: fromDays: Start of date range (days from now, 0-90) toDays: End of date range (days from now, 0-90) Returns: List of economic events with importance, country, and timing

Parameters* required
fromDaysinteger
default: 0
toDaysinteger
default: 7
get_blog_articlesGet recent articles from the Forex-GPT blog feed. Args: max_results: Maximum number of articles to return (1-50, default: 10) category: Optional category slug to filter by. When unset, the tool falls back to a broker-aware default: - hyperliquid containers → "daily-crypto-hype...2 params

Get recent articles from the Forex-GPT blog feed. Args: max_results: Maximum number of articles to return (1-50, default: 10) category: Optional category slug to filter by. When unset, the tool falls back to a broker-aware default: - hyperliquid containers → "daily-crypto-hype...

Parameters* required
categorystring
max_resultsinteger
default: 10
get_crypto_newsAggregated crypto-news feed from quality free RSS sources (CoinDesk, Decrypt, Blockworks, The Defiant). Sorted newest-first, deduped by URL across sources. Args: max_results: 1-50, default 25. ticker: Optional symbol filter (e.g. "BTC", "ETH", "SOL", "HYPE"). When set, only ar...2 params

Aggregated crypto-news feed from quality free RSS sources (CoinDesk, Decrypt, Blockworks, The Defiant). Sorted newest-first, deduped by URL across sources. Args: max_results: 1-50, default 25. ticker: Optional symbol filter (e.g. "BTC", "ETH", "SOL", "HYPE"). When set, only ar...

Parameters* required
max_resultsinteger
default: 25
tickerstring
healthComprehensive health and status check including optional upstream dependencies. Args: checkOpenAI: Verify OpenAI API connectivity checkTradingView: Verify TradingView API connectivity checkOANDA: Verify OANDA API connectivity Returns: Health status with environment info and de...3 params

Comprehensive health and status check including optional upstream dependencies. Args: checkOpenAI: Verify OpenAI API connectivity checkTradingView: Verify TradingView API connectivity checkOANDA: Verify OANDA API connectivity Returns: Health status with environment info and de...

Parameters* required
checkOANDAboolean
default: false
checkOpenAIboolean
default: false
checkTradingViewboolean
default: false
get_chart_dataRetrieve OHLC (candlestick) data for charting. Args: asset: Asset symbol (e.g., EUR_USD) timeframe: Timeframe (D, H4, H1, etc.) count: Number of candles (50-5000) Returns: Candlestick data with timestamps, open, high, low, close prices4 params

Retrieve OHLC (candlestick) data for charting. Args: asset: Asset symbol (e.g., EUR_USD) timeframe: Timeframe (D, H4, H1, etc.) count: Number of candles (50-5000) Returns: Candlestick data with timestamps, open, high, low, close prices

Parameters* required
asset*string
countinteger
default: 460
pricestring
default: M
timeframestring
default: D
purchase_tokens_x402Purchase premium tokens via X402 crypto payment. Pay $20 USDC to receive 500,000 premium tokens (non-expiring). These tokens can be used to access all ForexGPT tools and services. Args: payment_proof: X402 payment proof containing signature and payment details. Must include: a...1 params

Purchase premium tokens via X402 crypto payment. Pay $20 USDC to receive 500,000 premium tokens (non-expiring). These tokens can be used to access all ForexGPT tools and services. Args: payment_proof: X402 payment proof containing signature and payment details. Must include: a...

Parameters* required
payment_proof*object
x402_solana_configReturn the public Solana x402 config: recipient pubkey, supported networks (with USDC mints + RPC URLs), and the token package. No authentication required — every value here is broadcast publicly on-chain at payment time anyway. The frontend calls this on the payment modal's m...

Return the public Solana x402 config: recipient pubkey, supported networks (with USDC mints + RPC URLs), and the token package. No authentication required — every value here is broadcast publicly on-chain at payment time anyway. The frontend calls this on the payment modal's m...

No parameters. Call it with no arguments.

x402_evm_configReturn the public EVM x402 config: recipient address, supported networks (CAIP-2 keys → USDC contract + RPC URL + chain name), and the token package. Pairs with x402_solana_config so the WalletPaymentModal can render a Solana | EVM tab switcher and let the user pay from whiche...

Return the public EVM x402 config: recipient address, supported networks (CAIP-2 keys → USDC contract + RPC URL + chain name), and the token package. Pairs with x402_solana_config so the WalletPaymentModal can render a Solana | EVM tab switcher and let the user pay from whiche...

No parameters. Call it with no arguments.

purchase_tokens_x402_solanaPurchase premium tokens via X402 payment on Solana. Pay $20 USDC on Solana (devnet or mainnet) to receive 500,000 premium tokens. Credits go to the same purchased_tokens balance used by the Stripe and EVM rails — one balance, three rails. Two accepted proof shapes: signed_auth...1 params

Purchase premium tokens via X402 payment on Solana. Pay $20 USDC on Solana (devnet or mainnet) to receive 500,000 premium tokens. Credits go to the same purchased_tokens balance used by the Stripe and EVM rails — one balance, three rails. Two accepted proof shapes: signed_auth...

Parameters* required
payment_proof*object
get_live_heatmapGenerates a real-time Sentiment Heatmap snapshot. Behavior: 1. If 'assets' are provided, scans those specific assets. 2. If 'assets' not provided, scans the user's saved Watchlist. 3. If Watchlist is empty, scans a default list of popular global assets. Args: assets: Optional...3 params

Generates a real-time Sentiment Heatmap snapshot. Behavior: 1. If 'assets' are provided, scans those specific assets. 2. If 'assets' not provided, scans the user's saved Watchlist. 3. If Watchlist is empty, scans a default list of popular global assets. Args: assets: Optional...

Parameters* required
assetsvalue
countinteger
default: 460
timeframestring
default: D
searchSearch forex analysis results by asset name, timeframe, or keywords. Returns a list of available analyses matching the search criteria. Args: query: Search query (e.g., "EUR_USD", "daily analysis", "gold", "bitcoin") Returns: Search results with IDs for fetching full analysis1 params

Search forex analysis results by asset name, timeframe, or keywords. Returns a list of available analyses matching the search criteria. Args: query: Search query (e.g., "EUR_USD", "daily analysis", "gold", "bitcoin") Returns: Search results with IDs for fetching full analysis

Parameters* required
query*string
fetchRetrieve complete forex analysis by ID. Args: id: Analysis ID in format "ASSET_TIMEFRAME" (e.g., "EUR_USD_D", "XAU_USD_H4") Returns: Full analysis document with technical indicators, signals, and recommendations1 params

Retrieve complete forex analysis by ID. Args: id: Analysis ID in format "ASSET_TIMEFRAME" (e.g., "EUR_USD_D", "XAU_USD_H4") Returns: Full analysis document with technical indicators, signals, and recommendations

Parameters* required
id*string
scan_marketScans the FULL market universe (Forex, Crypto, Metals, Indices) and returns the top trading opportunities ranked by sentiment score. Use this when the user asks for a MULTI-ASSET survey or anything that implies scanning / finding opportunities across the market. Example user p...11 params

Scans the FULL market universe (Forex, Crypto, Metals, Indices) and returns the top trading opportunities ranked by sentiment score. Use this when the user asks for a MULTI-ASSET survey or anything that implies scanning / finding opportunities across the market. Example user p...

Parameters* required
exclude_categoriesvalue
include_categoriesvalue
instrumentsvalue
limitinteger
default: 6
minAbsvalue
min_scorenumber
default: 80
min_volume_24hnumber
default: 0
perSidevalue
sentimentstring
timeframesarray
universe_scopestring
default: top25
get_spreadsChecks the current liquidity and trading cost (spread) for an asset. Useful for checking if a market is too expensive to trade right now. Args: asset: The asset symbol (e.g., "EUR_USD", "XAU_USD") Returns: Current spread, average spread, and cost in basis points.3 params

Checks the current liquidity and trading cost (spread) for an asset. Useful for checking if a market is too expensive to trade right now. Args: asset: The asset symbol (e.g., "EUR_USD", "XAU_USD") Returns: Current spread, average spread, and cost in basis points.

Parameters* required
asset*string
countinteger
default: 100
granularitystring
default: M1
get_server_timeReturn the server's current UTC timestamp (ISO 8601).

Return the server's current UTC timestamp (ISO 8601).

No parameters. Call it with no arguments.

help_tutorialMaster tutorial for MCP tools: usage tips, key parameters, and suggested flows.

Master tutorial for MCP tools: usage tips, key parameters, and suggested flows.

No parameters. Call it with no arguments.

get_price_stream_urlReturn a short-lived URL for the raw price stream (SSE) for given instruments. The URL expires after ~10 minutes.1 params

Return a short-lived URL for the raw price stream (SSE) for given instruments. The URL expires after ~10 minutes.

Parameters* required
instruments*array
get_sentiment_stream_urlReturn a short-lived URL for the sentiment stream (SSE) for given instruments and granularity. The URL expires after ~10 minutes.2 params

Return a short-lived URL for the sentiment stream (SSE) for given instruments and granularity. The URL expires after ~10 minutes.

Parameters* required
granularitystring
default: D
instruments*array
chart_chat_proxyProxy to the Flask /api/chart-chat endpoint using the caller's bearer token. Keeps token accounting/auth consistent with the web app while exposing chat via MCP.8 params

Proxy to the Flask /api/chart-chat endpoint using the caller's bearer token. Keeps token accounting/auth consistent with the web app while exposing chat via MCP.

Parameters* required
chart_idstring
default:
chat_session_idstring
default:
granularitystring
default:
instrumentstring
default:
languagestring
default:
max_tokensinteger
message*string
price_typestring
default: B
agent_startStart an autonomous trading agent with specified strategy. This creates a new agent that will scan markets, analyze opportunities, and trade (or request approval) based on your configuration. Args: strategy: Strategy type - "swing", "scalper", "news_trader", "trend_follower",...27 params

Start an autonomous trading agent with specified strategy. This creates a new agent that will scan markets, analyze opportunities, and trade (or request approval) based on your configuration. Args: strategy: Strategy type - "swing", "scalper", "news_trader", "trend_follower",...

Parameters* required
allow_closed_marketsboolean
allow_wide_spreadsboolean
auto_scanboolean
control_levelstring
cooldown_enabledboolean
cooldown_hoursnumber
custom_rulesstring
exclude_categoriesarray
exclude_instrumentsarray
instrumentsarray
launch_idstring
max_positionsinteger
min_risk_rewardnumber
min_scorenumber
notificationsarray
risk_per_tradenumber
scan_interval_minutesinteger
scan_limitinteger
default: 10
scan_min_scoreinteger
sentiment_thresholdinteger

+7 more parameters. See the server's own documentation for the full schema.

agent_stopStop a running agent. Args: agent_id: The agent ID to stop close_positions: If True, close all positions opened by this agent cancel_pending: If True, cancel all pending orders from this agent Returns: Confirmation of agent stop and any actions taken Example: "Stop agent abc12...3 params

Stop a running agent. Args: agent_id: The agent ID to stop close_positions: If True, close all positions opened by this agent cancel_pending: If True, cancel all pending orders from this agent Returns: Confirmation of agent stop and any actions taken Example: "Stop agent abc12...

Parameters* required
agent_id*string
cancel_pendingboolean
default: true
close_positionsboolean
default: false
agent_statusGet status of one or all your agents. Args: agent_id: Specific agent ID, or omit for all agents Returns: Agent status including P&L, open positions, pending approvals Example: "What is my agent doing?" or "Show status of agent abc123"1 params

Get status of one or all your agents. Args: agent_id: Specific agent ID, or omit for all agents Returns: Agent status including P&L, open positions, pending approvals Example: "What is my agent doing?" or "Show status of agent abc123"

Parameters* required
agent_idstring
agent_approveApprove a pending agent action (trade entry, exit, modification). Args: action_id: The pending action ID to approve adjust_sl: Optional adjusted stop-loss price adjust_tp: Optional adjusted take-profit price adjust_size: Optional adjusted position size (units) Returns: Result...4 params

Approve a pending agent action (trade entry, exit, modification). Args: action_id: The pending action ID to approve adjust_sl: Optional adjusted stop-loss price adjust_tp: Optional adjusted take-profit price adjust_size: Optional adjusted position size (units) Returns: Result...

Parameters* required
action_id*string
adjust_sizenumber
adjust_slnumber
adjust_tpnumber
agent_rejectReject a pending agent action. Args: action_id: The pending action ID to reject reason: Optional reason for rejection (helps agent learn) pause_agent: If True, pause the agent after rejection Returns: Confirmation of rejection Example: "Reject that trade, the spread is too hig...3 params

Reject a pending agent action. Args: action_id: The pending action ID to reject reason: Optional reason for rejection (helps agent learn) pause_agent: If True, pause the agent after rejection Returns: Confirmation of rejection Example: "Reject that trade, the spread is too hig...

Parameters* required
action_id*string
pause_agentboolean
default: false
reasonstring
agent_modifyModify a running agent's parameters. Args: agent_id: The agent ID to modify risk_per_trade: New risk per trade percentage (0.1-5.0) max_positions: New maximum concurrent positions (1-10) control_level: New control level ("manual", "supervised", "semi_auto", "full_auto") scan_i...22 params

Modify a running agent's parameters. Args: agent_id: The agent ID to modify risk_per_trade: New risk per trade percentage (0.1-5.0) max_positions: New maximum concurrent positions (1-10) control_level: New control level ("manual", "supervised", "semi_auto", "full_auto") scan_i...

Parameters* required
add_instrumentsarray
agent_id*string
allow_closed_marketsboolean
auto_scanboolean
control_levelstring
custom_rulesstring
exclude_categoriesarray
exclude_instrumentsarray
instrumentsarray
max_positionsinteger
min_risk_rewardnumber
min_scorenumber
pauseboolean
remove_instrumentsarray
risk_per_tradenumber
scan_interval_minutesinteger
sentiment_thresholdinteger
sl_pctnumber
sl_pipsnumber
token_budget_cycleinteger

+2 more parameters. See the server's own documentation for the full schema.

agent_list_strategiesList all available trading strategies with descriptions. Returns information about each strategy including: - Recommended timeframes and instruments - Typical hold times - Risk profile - Minimum scan interval Example: "What trading strategies can the agent use?"

List all available trading strategies with descriptions. Returns information about each strategy including: - Recommended timeframes and instruments - Typical hold times - Risk profile - Minimum scan interval Example: "What trading strategies can the agent use?"

No parameters. Call it with no arguments.

agent_historyGet historical performance and actions for an agent. Args: agent_id: Specific agent, or omit for all agents days: Number of days of history (1-90). Default: 7 include_cycles: Include detailed scan cycle logs include_trades: Include trade history. Default: True limit: Max trade...5 params

Get historical performance and actions for an agent. Args: agent_id: Specific agent, or omit for all agents days: Number of days of history (1-90). Default: 7 include_cycles: Include detailed scan cycle logs include_trades: Include trade history. Default: True limit: Max trade...

Parameters* required
agent_idstring
daysinteger
default: 7
include_cyclesboolean
default: false
include_tradesboolean
default: true
limitinteger
agent_link_telegramLink your Telegram account to receive agent notifications. To get your Telegram chat ID: 1. Open Telegram and search for @userinfobot 2. Start the bot and it will show your ID 3. Copy the number and use it here Args: telegram_chat_id: Your Telegram chat ID (a number like "1234...1 params

Link your Telegram account to receive agent notifications. To get your Telegram chat ID: 1. Open Telegram and search for @userinfobot 2. Start the bot and it will show your ID 3. Copy the number and use it here Args: telegram_chat_id: Your Telegram chat ID (a number like "1234...

Parameters* required
telegram_chat_id*string
agent_notification_settingsView your notification settings and linked accounts. Returns: Your current notification preferences and linked services Example: "Show my notification settings"

View your notification settings and linked accounts. Returns: Your current notification preferences and linked services Example: "Show my notification settings"

No parameters. Call it with no arguments.

backtest_runRun a backtest on historical data using sentiment-based signals. Uses the same deterministic sentiment scoring as the live scanner (Bollinger Bands + SMA alignment) to generate buy/sell signals when abs(score) >= threshold. Distance mode is automatic: forex/OANDA instruments u...13 params

Run a backtest on historical data using sentiment-based signals. Uses the same deterministic sentiment scoring as the live scanner (Bollinger Bands + SMA alignment) to generate buy/sell signals when abs(score) >= threshold. Distance mode is automatic: forex/OANDA instruments u...

Parameters* required
countinteger
default: 5000
initial_balancenumber
default: 10000
instrument*string
lookbackinteger
default: 120
max_positionsinteger
default: 1
risk_per_tradenumber
default: 1
sentiment_thresholdinteger
default: 80
sl_pctnumber
default: 1
sl_pipsnumber
default: 10
spread_pctnumber
default: 0.05
spread_pipsnumber
default: 2
timeframestring
default: H1
tp_multipliernumber
default: 1.5
backtest_optimizeGrid search optimization to find the best parameter set for an instrument. Tests all combinations of sentiment_threshold, SL distance, and tp_multiplier and ranks results by the chosen metric. On forex/OANDA the SL grid is sl_pips_range (pips); on Hyperliquid, where pips are m...12 params

Grid search optimization to find the best parameter set for an instrument. Tests all combinations of sentiment_threshold, SL distance, and tp_multiplier and ranks results by the chosen metric. On forex/OANDA the SL grid is sl_pips_range (pips); on Hyperliquid, where pips are m...

Parameters* required
countinteger
default: 5000
initial_balancenumber
default: 10000
instrument*string
lookbackinteger
default: 120
rank_bystring
default: sharpe
sl_pct_rangestring
default: 0.5,1.0,1.5,2.0,3.0
sl_pips_rangestring
default: 5,8,10,15,20
spread_pctnumber
default: 0.05
spread_pipsnumber
default: 2
threshold_rangestring
default: 70,75,80,85,90,95
timeframestring
default: H1
tp_mult_rangestring
default: 1.0,1.5,2.0,2.5,3.0
backtest_save_paramsSave a backtest's parameters as a reusable preset. Args: backtest_id: The backtest run ID to save params from name: Name for this parameter set (e.g. "EUR_USD H4 aggressive") Returns: Saved parameter set details Example: "Save those backtest params as 'EUR_USD H4 optimal'"2 params

Save a backtest's parameters as a reusable preset. Args: backtest_id: The backtest run ID to save params from name: Name for this parameter set (e.g. "EUR_USD H4 aggressive") Returns: Saved parameter set details Example: "Save those backtest params as 'EUR_USD H4 optimal'"

Parameters* required
backtest_id*string
name*string
backtest_list_savedList saved parameter presets, optionally filtered by instrument. Args: instrument: Filter by instrument (optional) Returns: List of saved parameter sets Example: "Show my saved backtest params" or "Show saved params for EUR_USD"1 params

List saved parameter presets, optionally filtered by instrument. Args: instrument: Filter by instrument (optional) Returns: List of saved parameter sets Example: "Show my saved backtest params" or "Show saved params for EUR_USD"

Parameters* required
instrumentstring
backtest_historyList recent backtest runs, optionally filtered by instrument. Args: instrument: Filter by instrument (optional) limit: Max results (1-50). Default: 20 Returns: List of recent backtest runs with summary stats Example: "Show my backtest history" or "Show backtests for XAU_USD"2 params

List recent backtest runs, optionally filtered by instrument. Args: instrument: Filter by instrument (optional) limit: Max results (1-50). Default: 20 Returns: List of recent backtest runs with summary stats Example: "Show my backtest history" or "Show backtests for XAU_USD"

Parameters* required
instrumentstring
limitinteger
default: 20
research_briefingGenerate a short AI briefing (one paragraph + three bullets) from the terminal's current research context: watchlist Sentiment Scores, running agents and their theses, open positions, upcoming events / headlines and the latest research article. Charged to the user's tokens lik...1 params

Generate a short AI briefing (one paragraph + three bullets) from the terminal's current research context: watchlist Sentiment Scores, running agents and their theses, open positions, upcoming events / headlines and the latest research article. Charged to the user's tokens lik...

Parameters* required
contextobject

Sponsors

Details

Categories
AI & LLM Tools, Data & Analytics, Finance & Commerce
Transport
SSE
Auth
Required
Registry
MCP registry, active
Resources
33
Tools verified
Nov 6, 2026

Related AI & LLM Tools MCP servers

View all
1jacobsd32-cpu avatarDjd Agent Scorejacobsd32-cpu/djd-agent-score-mcpReputation scoring for AI agent wallets on Base. Trust scores, fraud checks, x402.0stars
2lazymac2x avatarAgent Loop Detectorlazymac2x/agent-loop-detector-apiCloudflare Workers MCP server: agent-loop-detector0stars
3lazymac2x avatarAgent Trace Auditorlazymac2x/agent-trace-auditor-apiCloudflare Workers MCP server: agent-trace-auditor0stars
4lazymac2x avatarAgent Workflow Enginelazymac2x/agent-workflow-engine-apiCloudflare Workers MCP server: agent-workflow-engine0stars
5lazymac2x avatarAi Agent Scratchpadlazymac2x/ai-agent-scratchpad-apiCloudflare Workers MCP server: ai-agent-scratchpad0stars
6pavelguzenfeld avatarGeminipavelguzenfeld/gemini-mcpMCP server that exposes Google Gemini as tools for Claude Code0stars