{"name":"ai.aetherwealth/mcp","slug":"aetherwealth-mcp","title":"Aether Wealth","description":"Aether Wealth MCP for AI assistants: trades, alerts, market data, macro calendar & indicators.","url":"https://mcp.market/server/aetherwealth-mcp","rating":null,"grade":"C","score":60,"certified":false,"status":"active","category":"productivity","tags":["productivity"],"presence":{"score":15,"stars":null,"forks":null,"downloads_week":288,"last_push_at":null,"license":"SEE LICENSE IN LICENSE"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":null,"website":"https://aetherwealth.ai/mcp","version":"0.2.17","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@aetherwealth/mcp","version":"0.2.17","transport":{"type":"stdio"}}],"tools":[{"name":"broker_connection_status","description":"Get the current live broker connection status. Requires sign-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"cancel_trade_intent","description":"Cancel a previously proposed broker trade. Requires sign-in.","write_action":true,"price_micros":0,"input_schema":null},{"name":"chart_change_timeframe","description":"Change the timeframe/resolution of the user's open Aether Wealth chart, e.g. 1m, 5m, 15m, 30m, 1h, 4h, 1d.","write_action":false,"price_micros":0,"input_schema":null},{"name":"chart_draw_shapes","description":"Draw one or more shapes on the user's OPEN Aether Wealth chart. For key levels use multiple `horizontal_line` shapes, each with `price` and a short `label`. For a fair-value-gap / supply-demand zone use a `zone` with `priceHigh` + `priceLow`. For a trade idea use a `position` with `direction` + `entry`/`stop`/`target`. Prices are in the instrument's price units; `time1`/`time2`/`entryTime` are opt","write_action":false,"price_micros":0,"input_schema":null},{"name":"chart_remove_drawings","description":"Remove AI-drawn shapes from the user's open Aether Wealth chart. `target` defaults to 'all' (clear everything the assistant drew); also accepts 'last', 'focused', or a specific shape id.","write_action":true,"price_micros":0,"input_schema":null},{"name":"chart_select_pair","description":"Switch the user's open Aether Wealth chart to a trading pair. Use the canonical id (case-insensitive), e.g. XAUUSD for gold, EURUSD, BTCUSD. Drives the live browser chart, not backend state.","write_action":false,"price_micros":0,"input_schema":null},{"name":"close_position","description":"Propose closing an open broker position fully, or partially by passing `volume`. With idempotencyKey, use the auto-only keyed path; MT5 may close LIVE broker state inline, while MetaApi returns pending execution. Without a key this is the normal two-step intent flow. For email_otp/app_otp ask the user for the code and call execute_trade. For push, do not ask for a code — the user taps Approve in t","write_action":false,"price_micros":0,"input_schema":null},{"name":"close_trade","description":"Close an open trade with an exit price + time. Requires sign-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"connect_broker","description":"Attach a live execution provider to a journal account. For MetaApi, provide its account id and region. For `mt5_executor`, provide the expected MT5 login as `providerAccountRef` and its `baseUrl` under `*.aetherwealth.ai`. `providerToken` is sensitive — never expose or log it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_account","description":"Create a trading account in the journal. Use accountType \"demo\" for paper/demo accounts and \"live\" for live accounts. Requires sign-in.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_indicator_alert","description":"Create an indicator alert (fires on an indicator output condition, e.g. RSI crosses 70). `condition` is { op, threshold } or { op, other }. Requires sign-in.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_price_alert","description":"Create a price-level alert (fires when price is above/below/crosses a level). Requires sign-in.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_trade","description":"Record a new trade. Requires sign-in. Use list_accounts to find the accountId.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_trendline_alert","description":"Create a trendline alert (fires when price crosses a line defined by two points). Requires sign-in.","write_action":true,"price_micros":0,"input_schema":null},{"name":"dashboard_context","description":"Brief the LLM on the full Aether Wealth surface, grounding in live state, and when to suggest the dashboard.","write_action":false,"price_micros":0,"input_schema":null},{"name":"delete_alert","description":"Delete a price/trendline alert by id. Requires sign-in.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_indicator_alert","description":"Delete an indicator alert by id. Requires sign-in.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_trade","description":"Permanently delete a single trade by id. Only trades on demo accounts can be deleted. Requires sign-in.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_trades","description":"Permanently delete trades on a specific demo account. Requires explicit status (OPEN, CLOSED, CANCELLED, or ALL). This cannot be undone. Requires sign-in.","write_action":true,"price_micros":0,"input_schema":null},{"name":"disconnect_broker","description":"Disarm broker trading for a connected account instantly. Cancels pending intents, keeps executed history, and does not require confirmation because it is the kill switch. Reconnect later with connect_broker. Requires sign-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"draw_trade_on_chart","description":"Draw a proposed/open trade (entry, stop, target) on the user's OPEN Aether Wealth chart as a position shape. Switch to the intended pair/timeframe first with chart_select_pair.","write_action":false,"price_micros":0,"input_schema":null},{"name":"execute_trade","description":"Place a previously proposed trade. Email/app modes require the user-provided code; auto mode requires no per-trade code. Push intents cannot be executed by the agent. NEVER guess or fabricate a code.","write_action":true,"price_micros":0,"input_schema":null},{"name":"get_broker_account","description":"Get the LIVE broker account balance, equity, currency, and connection status for a connected trading account (distinct from list_accounts which lists journal accounts). Requires sign-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_broker_quote","description":"Get the current broker-native bid and ask for a symbol through the connected execution account. For an MT5 executor connection, this reads the live tick from its VPS and rejects stale ticks. Requires sign-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_candles","description":"Get OHLC candles for a pair + timeframe and optional sourceId. Omit sourceId for Twelve Data. Non-default sources return only native timeframes advertised by get_market_config; they are never re-aggregated. Returns up to 200 bars plus nextCursor. Pass nextCursor back as cursor until it is null. The legacy offset remains available for shallow pagination; do not combine offset and cursor.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_context","description":"Snapshot the user's live Aether Wealth state in one call — accounts, open trades, recent performance stats, and active alerts — plus the map of dashboard-only actions. Call this first to ground suggestions in what the user is actually doing. Requires sign-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_fx_currency_context","description":"Macro context for a single CURRENCY (e.g. USD) — recent economic releases, surprises, and the derived macro state for that currency.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_fx_documents","description":"Source documents behind the FX macro data for a currency — news items and press releases. Filter by documentType.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_fx_pair_context","description":"Macro context for a currency PAIR (e.g. EURUSD) — the per-currency macro state for both legs (recent releases, surprises, derived trend). Use for a pair-level macro read; for one currency use get_fx_currency_context. Distinct from get_macro_series (raw calendar history) and get_macro_indicator (one curated series).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_fx_predictions","description":"Model forecasts / predictions for a currency's upcoming macro releases. Optionally filter to one indicator by release slug (e.g. cpi).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_fx_risk_sentiment","description":"Cross-market risk-on / risk-off sentiment series (not currency-scoped). Use to gauge broad market risk appetite.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_fx_sync_state","description":"Ingestion/sync status of the FX macro datasets (per dataset family: status, freshness, last success, next refresh). Diagnostic — check data freshness before relying on the other get_fx_* tools.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_indicators","description":"Compute Twelve Data technical indicators for a pair + timeframe (requires sign-in).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_macro_indicator","description":"Get a curated macro indicator series from FXMacroData (live + cached) with unit/frequency metadata and the central-bank target where available — use get_macro_series for raw historical calendar values. Range defaults to 12m; returns a null result when the macro data provider is not configured.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_macro_series","description":"Get a macro indicator time series (e.g. USD cpi). Currency and indicator are validated against the catalog: unknown values return an error listing valid options (case-insensitive).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_market_config","description":"Get supported instruments, timeframes, and per-source candle/live capabilities. Use marketDataSources before selecting a non-default sourceId.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_trade","description":"Get a single trade by id. Requires sign-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"import_trades","description":"Import up to 500 trades into one account. Rows with both exitPrice and exitTime are imported as closed trades. Requires sign-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_accounts","description":"List the user's trading accounts (use an account's id when creating a trade). Requires sign-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_alerts","description":"List your price + trendline alerts. Optionally include archived or filter by pair. Requires sign-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_broker_positions","description":"List open broker positions with P&L. Requires sign-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_economic_calendar","description":"List economic calendar events. Filter by currency, date range, release, or minimum impact (1-5). Currency and indicator/release are validated against the catalog: unknown values return an error listing valid options, so an empty result always means \"no events\" rather than \"bad input\".","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_indicator_alerts","description":"List your indicator-based alerts. Optionally include archived or filter by pair. Requires sign-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_trades","description":"List the authenticated user's trades. Filter by account, status, pair, or date range (ISO 8601). Requires sign-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"login","description":"Sign in to Aether Wealth. Opens your browser to authenticate; once you approve, the MCP stores a per-user token and the data tools become available.","write_action":false,"price_micros":0,"input_schema":null},{"name":"logout","description":"Sign out of Aether Wealth on this device. Clears the stored access token.","write_action":false,"price_micros":0,"input_schema":null},{"name":"modify_position","description":"Propose adjusting stop-loss / take-profit on an open position. Stop-loss changes that INCREASE risk are rejected (use the app). With idempotencyKey, use the auto-only keyed path; MT5 may modify LIVE broker state inline, while MetaApi returns pending execution. Without a key this is the normal two-step intent flow. Pass null to clear a level. For email_otp/app_otp ask for the code and call execute_","write_action":false,"price_micros":0,"input_schema":null},{"name":"propose_trade","description":"Size and propose a broker trade. Supplying idempotencyKey uses the auto-only keyed path; MT5 may place LIVE broker state inline, while MetaApi returns pending execution. Without a key this remains the normal two-step intent flow. Provide exactly one of riskPercent or riskAmount; entryPrice is required for limit/stop. Push-mode intents are sent to the user's device and must not be executed by the a","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_broker_approval_mode","description":"Change how broker trades are confirmed for a connection between `app_otp` (authenticator), `email_otp`, and `push` (tap-to-approve in the Aether Wealth app; requires an active push subscription). The agent cannot enable `auto` here.","write_action":false,"price_micros":0,"input_schema":null},{"name":"trade_intent_status","description":"Check whether a proposed trade was approved, executed, expired, cancelled, or failed. Especially useful for push-mode intents, which the user approves on their device.","write_action":false,"price_micros":0,"input_schema":null},{"name":"trade_stats","description":"Trading performance statistics (win rate, PnL, etc.). Filter by account, pair, or date range. Requires sign-in.","write_action":false,"price_micros":0,"input_schema":null},{"name":"update_alert","description":"Update a price/trendline alert (e.g. change level, archive, mute). Requires sign-in.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_indicator_alert","description":"Update an indicator alert (condition, dedup, archive, mute). Requires sign-in.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_trade","description":"Update fields on an existing trade. Requires sign-in.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":60,"grade":"C","scanned_at":"2026-10-16T17:08:46.597Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-16T17:08:46.500Z","components":{"code":{"score":20,"max":25,"notes":["2 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"dist/index.js: …ludes(\"Cloudflare\"))return!1;try{return new Function(\"\"),!0}catch($){return!1}});function e4(…"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"packages":[{"registryType":"npm","identifier":"@aetherwealth/mcp","version":"0.2.17","found":true,"license":"SEE LICENSE IN LICENSE","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-09-20T16:32:49.707Z","weeklyDownloads":288}],"repo":{"found":false},"icon":{"url":"https://aetherwealth.ai/favicon.ico","source":"registry","width":64,"height":64},"presence":{"stars":null,"forks":null,"downloadsWeek":288,"license":"SEE LICENSE IN LICENSE","lastPushAt":null,"score":15}}}},"grade_history":[],"reviews":[]}