@chartobserver/mcp-server
MCP server for the ChartObserver paper-trading platform. Lets an AI agent (Claude Desktop, etc.) read portfolio state, place trades, and check the leaderboard on behalf of the configured user.
Versions
0.6.0latest0.5.00.4.00.3.10.3.0+ show 4 moreshow less
0.2.20.2.10.2.00.1.0Tools 13
search_docs Search the ChartObserver documentation and return the most relevant passages, each with its source URL. Use this for questions about how the platform works — features, setup, integrations (TradingView, webhooks, the MCP server itself), subscriptions/limits/pricing, supported tokens, or troubleshooting. Answer from the returned excerpts and cite the url(s). Do NOT use it for the user's own live account data (balance, positions, prices, leaderboard) — those have dedicated tools.
place_trade get_balance Fetch the configured user's current USD paper-trading balance.
get_open_positions List all currently open paper-trading positions (buy transactions that have not yet been closed by a sell).
get_closed_trades List closed paper trades (completed buy→sell roundtrips) for the configured user, most recent first.
get_recent_transactions List the configured user's recent transactions (open + closed, all types). Most recent first.
get_leaderboard Fetch the 7-day rolling ChartObserver leaderboard: top traders by average % profit per closed trade, plus the top individual closed trades. Public data.
get_my_ranking Find the configured user's position on the 7-day leaderboard, if they appear. Returns null rank if not on the board.
get_price Fetch the latest price for a supported crypto token. Accepts a bare symbol (SOL), a full pair (SOLUSD, SOL-USD, SOL/USD), or a name (Solana); the quote currency defaults to USD. Prices are delayed up to 15 minutes and are for paper trading only — never for real-money decisions. Use list_supported_tokens to see valid identifiers.
list_supported_tokens List every crypto token-pair ChartObserver supports, so you (or the user) can use a valid identifier before requesting a price or placing a trade. Returns slash pairs like BTC/USD with their exchange. Most tokens trade against USD; a few against USDT.
get_profile Fetch the currently configured user's public profile (description, social links, follower counts) along with their USD paper-trading balance. Read-only. Requires an existing chart.observer account — if credentials are missing or rejected, direct the user to sign up in a browser at https://chart.observer (accounts cannot be created via this server).
get_subscription Fetch the currently configured user's subscription tier (Basic, Swing Trader, Day Trader, or Influencer), their monthly usage vs. limits (trades, API calls, AI-assistant messages), the plan renewal date and whether it is set to cancel, and recent payments. Use this for ANY question about the user's own plan, tier, remaining quota, billing, or renewal — do NOT use search_docs for those (search_docs explains how tiers work in general; this returns the user's actual, resolved values). Read-only.
get_portfolio_summary One-call snapshot of the configured user's portfolio: USD balance, open positions grouped by token (with average cost basis), the 5 most recent closed trades, and the user's current leaderboard rank if any. Designed for periodic polling — agents can compare consecutive snapshots to detect changes.
Permissions 1
env_vars low