@chartobserver/mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CHARTOBSERVER_UID | Yes | Your numeric user ID. | |
| CHARTOBSERVER_API_BASE | No | API Gateway base URL. Override to point at staging during testing. Must be https:. | https://g2uyqqluc4.execute-api.us-east-2.amazonaws.com/dev |
| CHARTOBSERVER_USERNAME | Yes | Your public username. | |
| CHARTOBSERVER_TIMEOUT_MS | No | Per-request timeout in milliseconds (max 120000). | 15000 |
| CHARTOBSERVER_WEBHOOK_ID | Yes | Your per-user webhook secret. Same value TradingView uses to fire trades into your account. Treat like a password. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_profileA | 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_subscriptionA | 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. |
| place_tradeA | Place a paper-trading buy or sell on the ChartObserver platform for the configured user. IMPORTANT SAFETY NOTES:
|
| get_balanceA | Fetch the configured user's current USD paper-trading balance. |
| get_open_positionsA | List all currently open paper-trading positions (buy transactions that have not yet been closed by a sell). |
| get_closed_tradesA | List closed paper trades (completed buy→sell roundtrips) for the configured user, most recent first. |
| get_recent_transactionsA | List the configured user's recent transactions (open + closed, all types). Most recent first. |
| get_leaderboardA | 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_rankingA | Find the configured user's position on the 7-day leaderboard, if they appear. Returns null rank if not on the board. |
| get_priceA | 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_tokensA | 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_portfolio_summaryA | 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. |
| search_docsA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Most tools have clearly distinct purposes, though get_profile and get_balance share some balance info, and several tools deal with trades/positions. However, descriptions provide enough differentiation to guide an agent.
All tool names follow a consistent verb_noun snake_case pattern (e.g., get_balance, place_trade, list_supported_tokens), making it easy to infer functionality.
13 tools is well-scoped for a paper trading platform, covering user data, trading, portfolio, community features, and documentation search without unnecessary overlap.
The tool set covers essential CRUD and lifecycle operations for paper trading. Minor gaps exist (e.g., no tool for individual trade details), but core workflows are fully supported.