{"apiVersion":"v1","directorySlug":"sanji-mcp-74c315d902","title":"Sanji","description":"Trade Solana meme coins on sanji.app: real-time pump.fun trenches, trending tokens, copy trading, and limit orders — synced with the Sanji Telegram bot. A fast alternative to GMGN, Axiom, and BullX.","pageUrl":"https://www.mcpbundles.com/skills/sanji-mcp-74c315d902","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.sanji.app/mcp","hostedMcpUrl":null,"toolCount":20,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"app.sanji/sanji-mcp-74c315d902","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"get_my_account","description":"Use this when the user asks about THEIR OWN Sanji account: wallet address, SOL balance, portfolio value, login type, whether agent trading through this connector is enabled, 2FA requirements, default slippage, and today's MCP usage. Call it first when you need the wallet address or want to know whether buy/sell tools are available before proposing a trade.","inputSchema":{"type":"object","properties":{}},"title":"Get My Sanji Account","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_my_account","displayName":"Get My Sanji Account"},{"name":"get_my_positions","description":"Use this when the user asks about their open positions, PnL, what they are holding or how a trade is doing. Returns every token the user bought through Sanji and still holds, with average entry, live price, unrealized/realized PnL and any stop-loss / take-profit orders attached. For the raw on-chain wallet contents (including tokens not bought through Sanji) use get_my_portfolio instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"type":"integer","default":25,"maximum":100,"minimum":1}},"additionalProperties":false},"title":"Get My Open Positions","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_my_positions","displayName":"Get My Open Positions"},{"name":"get_my_portfolio","description":"Use this for the on-chain contents of the user's Sanji wallet: every SPL token balance with its current USD value, sorted by value. This is the source of truth for \"what do I actually hold\" (airdrops and transfers included); get_my_positions is the source of truth for entry price and PnL.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"page":{"type":"integer","default":1,"minimum":1},"limit":{"type":"integer","default":25,"maximum":50,"minimum":1}},"additionalProperties":false},"title":"Get My Wallet Holdings","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_my_portfolio","displayName":"Get My Wallet Holdings"},{"name":"get_my_trade_history","description":"Use this when the user asks what they bought or sold, when, at what price, or wants to review recent trades (web and Telegram bot trades both appear). Supports paging and filtering by token.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"page":{"type":"integer","default":1,"minimum":1},"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"token_address":{"type":"string"}},"additionalProperties":false},"title":"Get My Trade History","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_my_trade_history","displayName":"Get My Trade History"},{"name":"get_my_limit_orders","description":"Use this to list the user's pending limit orders: stop-loss and take-profit sells, and limit buys — with trigger price, current price, size and expiry. Use the returned order ids with cancel_limit_order.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"type":{"enum":["all","buy","sell"],"type":"string","default":"all"}},"additionalProperties":false},"title":"Get My Limit Orders","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_my_limit_orders","displayName":"Get My Limit Orders"},{"name":"get_my_stats","description":"Use this when the user asks how they are doing overall: total realized PnL, win rate, number of trades, best/worst day, and a daily PnL calendar for a given month.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"year":{"type":"integer","maximum":2100,"minimum":2024},"month":{"type":"integer","maximum":12,"minimum":1}},"additionalProperties":false},"title":"Get My Trading Statistics","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_my_stats","displayName":"Get My Trading Statistics"},{"name":"search_tokens","description":"Find Solana tokens by symbol, name or mint address and get their mint address, price, liquidity, market cap and 24h change. ALWAYS use this to resolve a ticker the user mentions into a mint address before buying, selling, setting orders or running a report — many tokens share a ticker, so results carry a verified flag and an organic score — prefer the verified, high-score match unless the user specified otherwise, and confirm ambiguous matches with the user.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query"],"properties":{"limit":{"type":"integer","default":8,"maximum":25,"minimum":1},"query":{"type":"string","maxLength":100,"minLength":1}},"additionalProperties":false},"title":"Search Tokens","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_tokens","displayName":"Search Tokens"},{"name":"get_token_overview","description":"Quick market snapshot for one token by mint address: price, 24h change, 24h volume, market cap and liquidity. For safety checks, holder concentration and community flow use get_token_report instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["token_address"],"properties":{"token_address":{"type":"string"}},"additionalProperties":false},"title":"Get Token Overview","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_token_overview","displayName":"Get Token Overview"},{"name":"get_trending_tokens","description":"Trending Solana tokens across all DEXes right now (CoinGecko/GeckoTerminal curated ranking merged with top 24h volume pools) with price, 24h change, volume, market cap and liquidity. Use for \"what is trending / hot / pumping\". For what Sanji traders are actually buying, use get_market_pulse.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"type":"integer","default":10,"maximum":50,"minimum":1},"sort_by":{"enum":["rank","volume24hUSD","liquidity"],"type":"string","default":"rank"}},"additionalProperties":false},"title":"Get Trending Tokens","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_trending_tokens","displayName":"Get Trending Tokens"},{"name":"get_sol_price","description":"Current SOL/USD price. Use it to convert SOL amounts to dollars when sizing trades.","inputSchema":{"type":"object","properties":{}},"title":"Get SOL Price","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_sol_price","displayName":"Get SOL Price"},{"name":"get_wallet_report","description":"Profile ANY Solana wallet (a wallet from get_top_wallets, or any address the user names): trade count, volume, win rate, average trade size, most-traded tokens, current holdings and recent swaps. Use it to judge whether a wallet is worth copying before suggesting copy trading on sanji.app/copy-trading.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["wallet_address"],"properties":{"trades":{"type":"integer","default":10,"maximum":50,"minimum":0},"wallet_address":{"type":"string"}},"additionalProperties":false},"title":"Get Wallet Report","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_wallet_report","displayName":"Get Wallet Report"},{"name":"get_market_pulse","description":"START HERE for any \"what is hot / what are people buying / what should I look at / market overview\" question. One call returns: the tokens Sanji traders are buying and selling most (distinct buyers, SOL flow), the trending list, the SOL price, and a pre-computed CONSENSUS list of tokens that appear in both signals — the strongest candidates. Explain the signals to the user rather than listing raw numbers, and note that community flow is a crowd signal, not advice.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"window":{"enum":["1h","6h","24h","7d"],"type":"string","default":"24h"}},"additionalProperties":false},"title":"Get Market Pulse","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_market_pulse","displayName":"Get Market Pulse"},{"name":"get_community_flow","description":"Which tokens Sanji traders (web + Telegram bot) are buying and selling in a window — distinct buyers/sellers, trade counts, SOL volume, net flow and live price per token. Anonymised aggregate; no wallets or users. Use for \"most bought coin today\", \"what is the community accumulating\", \"what are people dumping\". Sort by buyers for breadth, buyVolume for size, netFlow for accumulation.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"sort":{"enum":["buyers","buyVolume","netFlow","trades"],"type":"string","default":"buyers"},"limit":{"type":"integer","default":10,"maximum":50,"minimum":1},"window":{"enum":["1h","6h","24h","7d"],"type":"string","default":"24h"}},"additionalProperties":false},"title":"Get Community Flow (Most Bought / Sold)","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_community_flow","displayName":"Get Community Flow (Most Bought / Sold)"},{"name":"get_top_wallets","description":"Wallets worth watching: the wallets most copied by Sanji users through copy trading, with follower counts. Use for \"best wallets to copy\", \"who should I follow\". Profile any of them with get_wallet_report before recommending.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"type":"integer","default":10,"maximum":50,"minimum":1},"window":{"enum":["1h","6h","24h","7d"],"type":"string","default":"24h"}},"additionalProperties":false},"title":"Get Top Wallets","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_top_wallets","displayName":"Get Top Wallets"},{"name":"get_token_report","description":"Full due-diligence report for one token: market data (price, mcap, liquidity, volume/txns/price change by timeframe, age), Rugcheck safety (score, mint/freeze authority, LP lock %, holder count, top-holder concentration, flagged risks), and what Sanji traders did with it in the window. Use before any buy recommendation and whenever the user asks \"is X safe / should I buy X / what do you think of X\". Summarise risks explicitly; this is information, not financial advice.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["token_address"],"properties":{"window":{"enum":["1h","6h","24h","7d"],"type":"string","default":"24h"},"token_address":{"type":"string"}},"additionalProperties":false},"title":"Get Token Report (Deep Dive)","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_token_report","displayName":"Get Token Report (Deep Dive)"},{"name":"buy_token","description":"Buy a Solana token with SOL from the user's Sanji wallet (market swap via Jupiter; the transaction is submitted on-chain and confirms within about a minute). Use it to open or add to a position. REQUIRES the user to have enabled Agent trading on sanji.app/mcp. Before calling: resolve the mint with search_tokens, check get_token_report or get_token_overview, and restate token, SOL amount and slippage to the user and get an explicit yes — this spends real money. Server-side caps (max SOL per buy,","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["token_address","amount_sol"],"properties":{"amount_sol":{"type":"number","exclusiveMinimum":0},"token_address":{"type":"string"},"two_factor_code":{"type":"string","pattern":"^\\d{6,8}$"},"slippage_percent":{"type":"number","maximum":30,"minimum":0.1}},"additionalProperties":false},"title":"Buy Token (Open Position)","logicalName":"buy_token","displayName":"Buy Token (Open Position)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"sell_token","description":"Sell part or all of a token the user holds back to SOL (market swap; the transaction is submitted on-chain and confirms within about a minute). percent=100 closes the position. REQUIRES Agent trading enabled. Restate token and size to the user and get an explicit yes before calling. Any pending stop-loss/take-profit orders on the token remain and should be cancelled with cancel_limit_order if the whole position is closed.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["token_address"],"properties":{"percent":{"type":"number","maximum":100,"minimum":0.01},"amount_tokens":{"type":"number","exclusiveMinimum":0},"token_address":{"type":"string"},"two_factor_code":{"type":"string","pattern":"^\\d{6,8}$"},"slippage_percent":{"type":"number","maximum":30,"minimum":0.1}},"additionalProperties":false},"title":"Sell Token (Close / Reduce Position)","logicalName":"sell_token","displayName":"Sell Token (Close / Reduce Position)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_stop_loss_take_profit","description":"Create stop-loss and/or take-profit sell orders for a token the user holds. Give prices in USD or as a percent distance from the current price. Orders are monitored by Sanji and executed automatically when the price crosses the trigger. By default existing orders of the same kind on that token are replaced. REQUIRES Agent trading enabled. Confirm the trigger levels with the user first.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["token_address"],"properties":{"expiry_days":{"type":"integer","default":30,"maximum":365,"minimum":1},"token_address":{"type":"string"},"sell_percentage":{"type":"number","default":100,"maximum":100,"minimum":1},"two_factor_code":{"type":"string","pattern":"^\\d{6,8}$"},"replace_existing":{"type":"boolean","default":true},"stop_loss_percent":{"type":"number","maximum":99,"minimum":0.5},"stop_loss_price_usd":{"type":"number","exclusiveMinimum":0},"take_profit_percent":{"type":"number","maximum":10000,"minimum":0.5},"take_profit_price_usd":{"type":"number","exclusiveMinimum":0}},"additionalProperties":false},"title":"Set Stop-Loss / Take-Profit","logicalName":"set_stop_loss_take_profit","displayName":"Set Stop-Loss / Take-Profit","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_limit_buy_order","description":"Create a limit buy: Sanji buys the token with the given SOL amount when its USD price DROPS to the trigger (use it for \"buy X if it dips to $Y\"; the trigger must be below the current price — use buy_token to buy now). Counts toward the same trade caps as buy_token. REQUIRES Agent trading enabled. Confirm token, trigger price and SOL amount with the user before calling.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["token_address","trigger_price_usd","amount_sol"],"properties":{"amount_sol":{"type":"number","exclusiveMinimum":0},"expiry_days":{"type":"integer","default":30,"maximum":365,"minimum":1},"token_address":{"type":"string"},"two_factor_code":{"type":"string","pattern":"^\\d{6,8}$"},"trigger_price_usd":{"type":"number","exclusiveMinimum":0}},"additionalProperties":false},"title":"Create Limit Buy Order","logicalName":"create_limit_buy_order","displayName":"Create Limit Buy Order","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"cancel_limit_order","description":"Cancel a pending limit order by id, or all orders (optionally of one kind) for a token. Cancelling never sells anything — it only removes the pending order.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"order_id":{"type":"string"},"order_kind":{"enum":["all","stop-loss","take-profit","limit-buy"],"type":"string","default":"all"},"token_address":{"type":"string"}},"additionalProperties":false},"title":"Cancel Limit Order(s)","logicalName":"cancel_limit_order","displayName":"Cancel Limit Order(s)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Sanji&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3Auc2FuamkuYXBwL21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Sanji%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.sanji.app%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Sanji%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.sanji.app%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Sanji&connectorUrl=https%3A%2F%2Fmcp.sanji.app%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Sanji\" --url \"https://mcp.sanji.app/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/sanji-mcp-74c315d902","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/sanji-mcp-74c315d902/tools/{tool}","mcpServerUrl":"https://mcp.sanji.app/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/sanji-mcp-74c315d902?live=1"}