@aetherwealth/mcp
v0.2.15
Published
Official Aether Wealth MCP server for journals, alerts, forex and crypto market context, and approval-governed broker actions.
Readme
Aether Wealth MCP Server
Official Model Context Protocol (MCP) server for Aether Wealth. Connect any stdio-compatible MCP client to your Aether Wealth trading journal, accounts, alerts, market context, macro calendar, and technical indicators.
The package runs locally with npx, authenticates with browser-based OAuth, and
uses your Aether Wealth account permissions for every data tool. It is built for
traders who want an AI assistant to inspect their journal, summarize performance,
create alerts, and fetch market context without copying API keys into their MCP
client.
Install
Use the package in any MCP client that can launch a local stdio server.
npx -y @aetherwealth/mcpMost MCP clients use a JSON config like this:
{
"mcpServers": {
"aether-wealth": {
"command": "npx",
"args": ["-y", "@aetherwealth/mcp"]
}
}
}Restart your MCP client after adding the server. Then ask it to run the
login tool once.
What It Does
Aether Wealth MCP gives AI assistants a safe tool layer over Aether Wealth:
- Read and summarize your trading journal
- Create/list accounts and performance stats
- Create, update, and close trade records
- Delete trade records only from demo accounts
- Create and manage price, trendline, and indicator alerts
- Fetch candles, economic calendar events, macro series, FX macro context, and market config
- Render chart images
- Compute technical indicators such as RSI, MACD, EMA, Bollinger Bands, ATR, ADX, Supertrend, and more
- Propose broker trade intents; email/app modes require a user-provided code, automatic mode does not require a per-trade code, and push mode requires the user to tap Approve in the app
Aether Wealth broker execution is intent-based: the assistant can propose, but the backend enforces the connection's approval mode before any order is placed.
Authentication
The login tool opens the Aether Wealth OAuth flow in your browser. After you
approve access, the MCP stores a local token in the operating-system keychain
where available, with a protected file fallback.
No shared API key is configured in your MCP client. All data tools require
OAuth sign-in, including market-data tools. logout clears the local
credential for this device.
Hosted (Remote) Mode
Operators can deploy this server as a shared remote MCP endpoint instead of a
local process. Set MCP_TRANSPORT=http, MCP_HTTP_AUTH=oauth, and
MCP_PUBLIC_ORIGIN=https://<your-host>. In this mode:
- The Aether-hosted endpoint is
https://mcp.aetherwealth.ai;/mcpremains available as a legacy connector alias. - Each request must carry the caller's own OAuth access token
(
Authorization: Bearer ...); MCP clients obtain it via the standard MCP auth flow, discovered from/.well-known/oauth-protected-resource. - The
login/logouttools are not registered — the MCP client owns the OAuth flow, and nothing is stored server-side (no keychain, no sessions). - Requests are rate limited per caller (per token, else per client IP;
MCP_RATE_LIMIT_MAXrequests/minute, default 120) — over-limit calls get429with aRetry-Afterheader. Health/discovery routes are exempt. /healthzreports liveness for load balancers.
Tools
Auth
| Tool | Purpose |
| --- | --- |
| login | Sign in with Aether Wealth OAuth. |
| logout | Clear the local OAuth credential on this device. |
Trades, Accounts, And Stats
| Tool | Purpose |
| --- | --- |
| list_trades | List trades by account, status, pair, or date range. |
| get_trade | Fetch one trade by ID. |
| list_accounts | List your trading accounts. |
| create_account | Create a trading account in the journal. |
| trade_stats | Summarize performance, win rate, PnL, and related stats. |
| create_trade | Record a new trade. |
| update_trade | Update fields on an existing trade. |
| close_trade | Close an open trade with exit price and time. |
| delete_trade | Delete one trade from a demo account. |
| delete_trades | Delete matching trades from a demo account. |
| import_trades | Bulk-import up to 500 trades into one account. |
Context
| Tool | Purpose |
| --- | --- |
| get_context | Snapshot accounts, open trades, recent stats, and active alerts. |
Alerts
| Tool | Purpose |
| --- | --- |
| list_alerts | List price and trendline alerts. |
| create_price_alert | Create a price-level alert. |
| create_trendline_alert | Create a trendline alert from two chart points. |
| update_alert | Update or archive a price or trendline alert. |
| delete_alert | Delete a price or trendline alert. |
| list_indicator_alerts | List indicator-based alerts. |
| create_indicator_alert | Create an alert on an indicator output condition. |
| update_indicator_alert | Update an indicator alert. |
| delete_indicator_alert | Delete an indicator alert. |
Market Context
| Tool | Purpose |
| --- | --- |
| get_candles | Fetch OHLC candles for a pair, timeframe, and optional sourceId. Omission uses Twelve Data; broker sources expose native candles only. Returns up to 200 plus nextCursor. |
| list_economic_calendar | List economic calendar events by currency, release, date, or impact. |
| get_macro_series | Fetch macro indicator time series such as CPI or interest-rate data. |
| get_macro_indicator | Fetch curated FXMacroData indicator series with unit and target metadata. |
| get_market_config | Fetch supported instruments, timeframes, and per-source capabilities. |
FX Macro Context
| Tool | Purpose |
| --- | --- |
| get_fx_pair_context | Macro context for both currencies in a pair. |
| get_fx_currency_context | Recent releases, surprises, and derived state for one currency. |
| get_fx_predictions | Model forecasts for upcoming macro releases. |
| get_fx_risk_sentiment | Cross-market risk-on/risk-off sentiment series. |
| get_fx_documents | Source documents behind FX macro data. |
| get_fx_sync_state | Freshness and sync status for FX macro datasets. |
Technical Indicators
| Tool | Purpose |
| --- | --- |
| get_indicators | Compute up to 8 technical indicators for a pair and interval. |
Broker Execution
| Tool | Purpose |
| --- | --- |
| get_broker_account | Read live broker account balance, equity, currency, and connection status. |
| list_broker_positions | List open broker positions with P&L. |
| get_broker_quote | Read the current broker-native bid/ask and tick time for a symbol. |
| connect_broker | Attach the user's already-deployed MetaApi account to a journal account. |
| broker_connection_status | Read the current live broker connection status. |
| disconnect_broker | Disarm broker trading immediately and cancel pending intents. |
| set_broker_approval_mode | Switch confirmation between app_otp, email_otp, and push; push requires an active app push subscription. |
| propose_trade | Size and propose a trade intent. Push-mode proposals notify the user's device. |
| execute_trade | Execute email/app intents with a code or legacy automatic-mode intents without one; push intents are blocked here. |
| trade_intent_status | Check whether a proposed intent was approved, executed, expired, cancelled, or failed. |
| cancel_trade_intent | Cancel a pending proposed broker trade. |
| close_position | Propose closing an open broker position fully or partially. |
| modify_position | Propose stop-loss or take-profit changes without increasing risk. |
Charts
| Tool | Purpose |
| --- | --- |
| render_chart | Render a candlestick chart image for a pair, timeframe, and optional sourceId. |
Example Prompts
- "List my open trades and group them by pair. Flag anything without a stop loss."
- "Create a demo account called Paper USD with a 10,000 USD starting balance."
- "Summarize my last 20 closed trades. What setup is leaking the most R?"
- "What high-impact USD events are left this week, and which open trades overlap them?"
- "Fetch EUR/USD 1h RSI and MACD, then create an alert if RSI crosses below 40."
- "Create a price alert if XAU/USD crosses yesterday's high before New York open."
Safety And Limits
- OAuth is per user. Your MCP client does not store a shared service secret.
- Tokens are stored locally and can be cleared with
logout. - Backend rate limits protect market-data reads, MCP Bearer traffic, and cost-sensitive indicator calls.
- Technical indicators include request, active-pair, cache, and upstream credit gates.
- Trade deletion is limited to demo accounts. Live-account trades cannot be deleted through this MCP.
- Broker orders follow the user's backend-enforced approval mode. Push-mode intents cannot be executed by the assistant; automatic mode requires no separate approval for each trade.
Updating
If your MCP client launches the server with npx -y @aetherwealth/mcp, restart
the client to pick up the current published package.
The backend can also advertise a minimum supported MCP version. If your local server is too old, tool calls return an update-required message instead of failing silently.
Links
- Aether Wealth: https://aetherwealth.ai
- Trading app: https://app.aetherwealth.ai
- MCP page: https://aetherwealth.ai/mcp
- Tool reference: https://aetherwealth.ai/mcp-tools.json
- Terms: https://aetherwealth.ai/terms
- Privacy: https://aetherwealth.ai/privacy
- npm package: https://www.npmjs.com/package/@aetherwealth/mcp
License
Proprietary. See the LICENSE file included with this package.
