Jupiter Perps MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RPC_URL | Yes | Solana RPC URL (e.g., https://api.mainnet-beta.solana.com). | |
| MCP_MODE | No | Server mode. Set to 'http' for deployment or automation if running as an HTTP service. | |
| MCP_PORT | No | HTTP server port when running in remote mode (default: 3000). | 3000 |
| MAX_SLIPPAGE_BPS | No | Maximum slippage in basis points (default: 200, which is 2%). | 200 |
| WALLET_PRIVATE_KEY | Yes | Your Solana wallet private key (base58 encoded). | |
| PRIORITY_FEE_MICRO_LAMPORTS | No | Priority fee in micro lamports (default: 100000). | 100000 |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_market_snapshotA | Retrieves current market state for all trading assets (SOL, ETH, BTC). Returns timestamp and market data including: index prices, 24h statistics (change %, high, low, volume), trading fees (base fee %, max price impact %), and for both long/short sides: hourly borrow rates, utilization %, and available liquidity in USD. Note: Short positions use a shared USDC liquidity pool, so short_side metrics (utilization, borrow rate) are identical across all assets. Long positions borrow asset-specific tokens, so long_side metrics vary by asset. |
| get_candlesA | Retrieves historical OHLCV (Open, High, Low, Close, Volume) pricing data for trend analysis and technical analysis. Returns candle data with timestamps (unix seconds), open/high/low/close prices, and volume. Minimum 3 candles required. |
| get_account_portfolioA | Retrieves wallet's current USDC balance, total equity, and all open positions. For each position returns: asset, side (Long/Short), collateral, equity, size, entry price, mark price, leverage, liquidation price, and fees_to_close (accrued borrow fees that will be settled, estimated close fee, estimated price impact). |
| estimate_open_positionA | Estimates fees and resulting position state for opening a new position or increasing an existing one. Returns: (1) fees_to_pay - fees for THIS trade only: open fee, price impact fee, and any accrued borrow fees that will be settled; (2) resulting_position - final state AFTER trade: weighted average entry price, total size, total collateral, leverage, and liquidation price. Does NOT execute the trade. Important: total_collateral_usd includes protocol-specific factors beyond visible fees: (a) USDC price typically ~$0.9997-1.0003, not exactly $1.00; (b) Long positions incur additional swap costs (~0.05%) when converting USDC to the borrowed asset; (c) rounding/slippage. Short positions generally match calculations more closely as they borrow USDC directly. Note: The Jupiter protocol returns slightly lower leverage than requested, with larger differences at higher leverage (e.g., 10x → 9.99x, 100x → 99.47x). |
| open_positionA | Submits a transaction to open a new position or increase an existing one. The protocol processes asynchronously (may take a few seconds) - use get_account_portfolio to verify. Returns transaction signature (for logging) and confirmation message. |
| close_positionA | Submits a transaction to fully close an existing position at market price. The protocol processes asynchronously (may take a few seconds) - use get_account_portfolio to verify closure. Returns transaction signature (for logging) and confirmation message. Collateral is returned as USDC. |
| get_indicator_rsiA | Calculate RSI (Relative Strength Index) - a momentum oscillator that measures overbought/oversold conditions. RSI ranges from 0-100. Values above 70 indicate overbought, below 30 indicate oversold. Common period values: 7 (scalping), 14 (day trading), 21 (swing trading). |
| get_indicator_macdA | Calculate MACD (Moving Average Convergence Divergence) - identifies trend direction and momentum. Returns MACD line, signal line, and histogram. Histogram crossing zero indicates trend changes. Common settings: (12,26,9) standard, (5,13,5) fast/scalping, (19,39,9) slow/swing. |
| get_indicator_bollinger_bandsA | Calculate Bollinger Bands - measures volatility and identifies overbought/oversold conditions. Returns upper band, middle (SMA), and lower band. Price touching upper band suggests overbought, lower band suggests oversold. Common settings: (20,2) standard, (20,1.5) tight, (20,2.5) wide. |
| get_indicator_atrA | Calculate ATR (Average True Range) - measures volatility for stop-loss placement and position sizing. Higher ATR = higher volatility. Returns suggested stop-loss levels at 1x, 2x, 3x ATR below current price. Common periods: 10, 14, 20. |
| get_indicator_emaB | Calculate EMA (Exponential Moving Average) - a trend indicator that reacts faster to price changes than SMA. Price above EMA suggests uptrend, below suggests downtrend. Common periods: 9, 20, 50, 100, 200. |
| get_indicator_smaA | Calculate SMA (Simple Moving Average) - a classic trend indicator. Price above SMA suggests uptrend, below suggests downtrend. Slower to react than EMA. Common periods: 20, 50, 100, 200. |
| get_indicator_stochasticA | Calculate Stochastic Oscillator - a momentum indicator comparing closing price to price range. Returns %K and %D lines. Values above 80 indicate overbought, below 20 indicate oversold. %K crossing above %D is bullish signal. Common settings: (14,3) standard, (5,3) fast, (21,7) slow. |
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 distinct purposes, but there is some overlap between open_position and estimate_open_position, as both relate to opening positions, which could cause confusion. However, their descriptions clarify that one executes trades while the other estimates, aiding disambiguation. The indicator tools (e.g., get_indicator_atr, get_indicator_rsi) are clearly differentiated by the specific technical indicator they calculate.
Tool names follow a highly consistent verb_noun pattern throughout, with clear prefixes like 'get_' for retrieval, 'close_' for actions, and 'estimate_' for calculations. All tools use snake_case uniformly, making them predictable and easy to parse for an agent.
With 13 tools, the count is reasonable for a perps trading server, covering core operations and technical analysis. It might be slightly heavy due to multiple indicator tools, but each serves a distinct purpose, so it remains well-scoped overall.
The toolset provides strong coverage for perps trading, including position management (open, close, portfolio), market data (snapshot, candles), and technical analysis (multiple indicators). A minor gap is the lack of tools for modifying existing positions (e.g., partial close or adjust leverage), but agents can work around this using open_position and close_position.