Skip to main content
Glama
README.md
# jupiter-mcp

MCP server for the [Jupiter Developer Platform](https://developers.jup.ag) — 17 tools covering swap, tokens, price, lend, limit orders, DCA, prediction markets, perps, and portfolio.

Any MCP-compatible AI agent (Claude Code, Cursor, ChatGPT, etc.) gets native access to Jupiter's full DeFi stack on Solana.

## Quick Start

```bash
# Install
git clone https://github.com/ExpertVagabond/jupiter-mcp.git
cd jupiter-mcp
npm install && npm run build

# Run (keyless — 0.5 RPS, no signup needed)
node dist/index.js

# Run with API key (higher rate limits)
JUPITER_API_KEY=your_key node dist/index.js
```

### Add to Claude Code

```json
// ~/.claude/settings.json
{
  "mcpServers": {
    "jupiter": {
      "command": "node",
      "args": ["/path/to/jupiter-mcp/dist/index.js"],
      "env": {
        "JUPITER_API_KEY": "your_key_or_omit_for_keyless"
      }
    }
  }
}
```

## Tools (17)

| Tool | Description |
|------|-------------|
| `jupiter_swap_quote` | Get swap quote via managed /order path (all routers compete) |
| `jupiter_swap_build` | Get raw swap instructions for custom transactions |
| `jupiter_token_search` | Search tokens by name, symbol, or mint |
| `jupiter_token_info` | Token metadata, organic scores, trading metrics |
| `jupiter_price` | USD prices for any Solana token |
| `jupiter_lend_deposit` | Create a lending deposit transaction |
| `jupiter_lend_withdraw` | Create a lending withdrawal transaction |
| `jupiter_limit_orders` | List open limit orders for a wallet |
| `jupiter_limit_order_create` | Create limit / OCO / OTOCO orders |
| `jupiter_limit_order_cancel` | Cancel open limit orders |
| `jupiter_dca_orders` | List active DCA schedules |
| `jupiter_dca_create` | Create recurring DCA orders |
| `jupiter_prediction_events` | Browse prediction markets (Polymarket, Kalshi) |
| `jupiter_perps_markets` | List perpetual futures markets |
| `jupiter_perps_positions` | Get open perp positions |
| `jupiter_portfolio` | Full portfolio view across all Jupiter products |

## Example

```
You: "What's the price of SOL and JUP?"

Agent calls: jupiter_price({ mints: "So11...112,JUPyi...vCN" })

→ SOL: $83.53 (-2.4% 24h), JUP: $0.166
```

```
You: "Get me a quote to swap 1 SOL for USDC"

Agent calls: jupiter_swap_quote({
  inputMint: "So11111111111111111111111111111111111111112",
  outputMint: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  amount: "1000000000",
  taker: "your_wallet"
})

→ 83.48 USDC, 22bps slippage, aggregator routing via Raydium
```

## Architecture

```
src/
  index.ts          MCP server entry — registers all tools
  client.ts         Jupiter API client (thin fetch wrapper, no dependencies)
  types.ts          Shared types
  tools/
    swap.ts         Swap V2 (/order + /build)
    tokens.ts       Token search + metadata
    price.ts        USD pricing
    lend.ts         Lending deposit/withdraw
    trigger.ts      Limit orders (create/cancel/list)
    recurring.ts    DCA orders
    prediction.ts   Prediction markets
    perps.ts        Perpetual futures
    portfolio.ts    Portfolio aggregation
```

## DX Report

See [DX-REPORT.md](./DX-REPORT.md) for a detailed developer experience report covering every Jupiter API, the AI stack (llms.txt, Agent Skills, CLI, Docs MCP), and specific recommendations.

## License

MIT

TDQS

A3.9/5.0

Scored across 16 tools

Disambiguation5/5

Each tool targets a distinct Jupiter subdomain/action: swap quote vs build, token search vs info vs price, and read/transaction tools are clearly separated. The only close pair is token_search and token_info, but exact-mint detail vs search-by-query is explicit enough to avoid misselection.

Naming Consistency5/5

All tools share the jupiter_<domain>_<action|resource> pattern with consistent snake_case and plural lists for collection queries. Small structural differences like token_info vs limit_order_create follow the resource shape rather than being arbitrary.

Tool Count5/5

16 tools is at the upper edge but each is justified by the breadth of Jupiter's products: swap, tokens, lending, limit orders, DCA, prediction markets, perps, and portfolio. No redundant tools exist; each domain has a focused read/action pair.

Completeness3/5

The swap, token, lending, and limit-order surfaces are fairly complete, but DCA has no cancel/close tool and perps only exposes markets/positions with no order creation or closing. Prediction events are also list-only, leaving a few lifecycle dead ends for agents.

Maintenance

ActivityMaintained
ResponsivenessNo issues