# io.github.hatgit/forex-gpt-mcp

AI-powered forex and crypto trading analysis with real-time data across 127+ instruments.

- **Type:** MCP server
- **Trust:** 60/100 (B), scored on the content rubric
- **Verification:** community-indexed — nobody has claimed this listing
- **Version:** 1.0.0
- **Author:** io.github.hatgit
- **License:** Unknown
- **Endpoints:** sse https://mcp.forex-gpt.ai/mcp
- **Source:** https://mcp.forex-gpt.ai/mcp
- **Endpoint health:** reachable (last checked 2026-09-26T13:02:23.858Z, 6 samples) — uptime is not a security property and is not part of the trust score
- **Compatible clients:** claude-code, cursor, copilot, gemini (basis: transport)

## Trust

60/100 (B), scored on the content rubric
- Publisher verified: no
- Install scripts: nothing suspicious found
- Prompt-injection scan: clean
- Obfuscation scan: clean
- Evidence age: 34 days

## Security scan

- **Status:** clean
- **Scanned:** 2026-09-01T16:55:45.801Z
- **Version scanned:** live
- **CVEs:** no coverage — this entry has no package coordinates to query OSV against, so "no known CVEs" is NOT asserted for it.

## Tools

45 declared. Observed from a live `tools/list` probe.
- `save_oanda_credentials` — Save your OANDA API Key and Account ID securely. These are required before you can trade.
- `delete_oanda_credentials` — Remove/Delete your stored OANDA API Key and Account ID. Use this if you want to clear your credentials or switch accounts.
- `trade_modify_trade` — 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: T
- `trade_market_order` — 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
- `trade_limit_order` — 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_profi
- `trade_stop_order` — 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') uni
- `cancel_pending_order` — Cancel a pending (unfilled) Limit or Stop order. Args: order_id: The OANDA ID of the order to cancel.
- `replace_pending_order` — 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: 'LI
- `get_open_trades` — List open trades.
- `get_open_positions` — List open positions (Net Exposure per instrument). Useful to see total Long/Short units and P&L per pair.
- `get_account_history` — Get account transaction history (e.g. closed trades, order fills). Useful for finding past trades, reporting, or auditing. Args: from_time: Start time (RFC3339 
- `get_trade_details` — Get full details of a specific trade (Open or Closed). Useful to investigate a trade that disappeared or to see its full history.
- `get_order_history` — Get OANDA order history (FILLED, CANCELLED, TRIGGERED, etc.). state: "ALL", "PENDING", "FILLED", "TRIGGERED", "CANCELLED". count: Max 500.
- `get_pending_orders` — List all PENDING orders (Limits, Stops, Entry Orders). These are orders waiting to be filled.
- `get_trading_account` — Get trading account summary (balance, margin).
- `close_trade` — Close a specific trade (fully or partially).
- `close_position` — Close position for an instrument.
- `get_market_hours` — Get trading hours for instruments. Use for session planning or bulk data fetch. Args: instrument: Specific instrument (e.g., "EUR_USD", "US30_USD"). If None, re
- `is_market_open` — Check if a specific market is currently open for trading. Args: instrument: The OANDA instrument name (e.g., "EUR_USD", "US30_USD", "XAU_USD"). at_time: Optiona
- `get_market_categories` — Get all available market categories and instrument counts. Useful for understanding what categories can be queried with get_market_hours. Returns: List of categ
- `get_instrument_specs` — Get instrument specifications (precision, limits, margin, financing rates). Args: instrument: Specific instrument (e.g., "EUR_USD"). If None, returns all or fil
- `refresh_instrument_data` — Manually refresh instrument data from OANDA API. Updates financing rates, margin requirements, and other parameters. Requires: User must have saved OANDA creden
- `get_instrument_cache_status` — Check the status of the instrument data cache. Returns: - ageHours: How old the cached data is - isStale: True if data is older than 24 hours - lastRefreshed: W
- `get_token_balances` — 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_
- `list_assets` — Return supported asset symbols from config.OANDA_UNIVERSE. Optional: • filter: substring (case-insensitive) to narrow the list • asset: specific symbol to test 
- `analyze_asset` — Run a one-shot technical analysis for a single asset/timeframe. Args: asset: Asset symbol (e.g., EUR_USD, XAU_USD) timeframe: Timeframe for analysis (D, H4, H1,
- `get_watchlist` — View the current assets in your saved watchlist. Returns: List of saved assets and count.
- `add_to_watchlist` — Add a new asset to your persistent watchlist. Args: asset: Asset symbol (e.g. 'EUR_USD', 'BTC_USD')
- `remove_from_watchlist` — Remove an asset from your persistent watchlist. Args: asset: Asset symbol to remove
- `analyze_watchlist` — 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) timeou
- `analyze_timeframes` — Analyze a single asset across multiple timeframes simultaneously. Args: asset: Asset symbol (e.g., EUR_USD) timeframes: List of timeframes (e.g., ["D", "H4", "H
- `economic_events` — 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 
- `get_blog_articles` — Get recent articles from the Forex-GPT blog feed. Args: max_results: Maximum number of articles to return (1-50, default: 10) Returns: List of recent blog artic
- `health` — Comprehensive health and status check including optional upstream dependencies. Args: checkOpenAI: Verify OpenAI API connectivity checkTradingView: Verify Tradi
- `get_chart_data` — 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-500
- `get_live_heatmap` — Generates a real-time Sentiment Heatmap snapshot. Behavior: 1. If 'assets' are provided, scans those specific assets. 2. If 'assets' not provided, scans the use
- `search` — Search forex analysis results by asset name, timeframe, or keywords. Returns a list of available analyses matching the search criteria. Args: query: Search quer
- `fetch` — 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
- `scan_market` — Scans the entire market universe (Forex, Crypto, Metals, Indices) to find the strongest trading opportunities. Args: timeframes: List of timeframes to scan (e.g
- `get_spreads` — 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
- …and 5 more

## Install

**Verdict: review** — Installable, but 2 things to check first: No CVE coverage: this entry has no npm/PyPI coordinates to query OSV against, so "no known vulnerabilities" is not a claim that can be made about it.
**Cautions** (coverage gaps and advisories — never blocking)
- No CVE coverage: this entry has no npm/PyPI coordinates to query OSV against, so "no known vulnerabilities" is not a claim that can be made about it.
- No publisher has proved control of this listing; it is indexed, not vouched for.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"forex-gpt-mcp\": {\n      \"type\": \"sse\",\n      \"url\": \"https://mcp.forex-gpt.ai/mcp\"\n    }\n  }\n}"
```

## Blast radius

Moderate to extensive — no credential declaration found, from the publisher, the upstream registry, or the README. Known so far: deletes data; runs on someone else's infrastructure.
- Floor 33, ceiling 57 (tier: unknown)
- `unknown` means the floor and ceiling land in different bands — not measured enough to name one. It does not mean low.
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/io.github.hatgit%2Fforex-gpt-mcp
- Install plan: https://forgeregistry.com/api/v1/packages/io.github.hatgit%2Fforex-gpt-mcp/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/io.github.hatgit%2Fforex-gpt-mcp
- HTML page: https://forgeregistry.com/registry/io.github.hatgit%2Fforex-gpt-mcp
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
