- Home
- MCP servers
- Jupiter Perps
Jupiter Perps
- typescript
1
GitHub Stars
typescript
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
You are running a Model Context Protocol (MCP) server that lets AI agents trade perpetual futures on Jupiter Perpetuals, powered by an oracle-based pricing model with a shared liquidity pool. This server exposes market data, enables position trading, and provides safe transaction workflows with built-in fee estimation and budget planning.
How to use
Interact with the Jupiter Perps MCP Server through MCP clients to fetch market data, view your portfolio, estimate costs, and open or close leveraged positions. You can run the server locally in stdio mode or access it remotely via HTTP. Use the explorer/inspector tooling to verify transactions and confirm that positions have been created or updated.
How to install
Prerequisites: Node.js 18+ and a Solana wallet with USDC funds for trading.
Step 1: Clone the project repository and install dependencies.
# Clone the MCP server repository
git clone <repository-url>
cd jupiter-perps-mcp
# Install dependencies
npm install
# Build the project
npm run build
Configuration and local environment
Create and configure your environment variables to connect to Solana and sign transactions. You will use a wallet private key and a RPC URL for Solana. Optional settings tune slippage protection and priority fees.
cp .env.example .env
Remote setup using HTTP (recommended for Claude Code isolation)
Run the MCP server as an HTTP service on the host machine. Your wallet keys stay on the host, while Claude Code interacts with the MCP server remotely.
# 1. On the host machine
export MCP_PORT=3000
npm run start:remote
Connecting Claude Code (remote) to HTTP MCP
In Claude Code, configure an MCP connection that points to the host’s MCP HTTP endpoint.
{
"mcpServers": {
"jupiter_perps": {
"type": "http",
"url": "http://localhost:3000/mcp",
"name": "jupiter_perps_http",
"args": []
}
}
}
Local stdio setup (alternative, direct runtime)
You can run a local stdio MCP server instance that launches via a node command and points to the built MCP entry.
{
"mcpServers": {
"jupiter_perps_mcp": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/jupiter-perps-mcp/dist/index.js"]
}
}
}
Security and best practices
- Never expose your wallet private key. Keep it on the host machine and use secure access controls for remote setups. - Use a private RPC endpoint for production. - Confirm all transaction details before execution. - All positions are collateralized in USDC and fees may accrue hourly.
Notes on usage and behavior
- Trades execute at market prices with immediate execution. - The protocol supports opening, increasing, and closing leveraged positions against a pooled liquidity supply. - Slippage protection is applied via MAX_SLIPPAGE_BPS to guard against oracle price movement during transaction confirmation. - The system processes position changes asynchronously, which may take a few seconds and can fail; verify results with get_account_portfolio.
Testing and quick verification
Use the MCP inspector for quick verification of the MCP tools during local testing. You can also curl health checks when running in HTTP mode.
Available tools
get_market_snapshot
Fetch current market prices, 24h stats, fees, and liquidity.
get_candles
Retrieve historical OHLCV data across multiple intervals.
get_account_portfolio
Return USDC balance, positions, PnL, and fees to close.
estimate_open_position
Compute fees and resulting position costs before trading.
open_position
Open or increase a leveraged position.
close_position
Close an existing position at market price.
get_indicator_rsi
RSI momentum oscillator (0-100).
get_indicator_macd
MACD trend/momentum indicator.
get_indicator_bollinger_bands
Bollinger Bands volatility and mean reversion.
get_indicator_atr
ATR volatility measure for stop-loss placement.
get_indicator_ema
Exponential Moving Average indicator.
get_indicator_sma
Simple Moving Average indicator.
get_indicator_stochastic
Stochastic momentum oscillator.