MCP Directory

How to add Jupiter MCP Server to Windsurf

Execute Solana token swaps via Jupiter's Ultra API, combining DEX routing and RFQ for optimal pricing. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.

Last updated June 14, 2026 · 27 · stdio · no auth

Windsurf config for Jupiter MCP Server

git clone https://github.com/kukapay/jupiter-mcp.git && cd jupiter-mcp && npm install
{
  "mcpServers": {
    "jupiter-mcp-server": {
      "command": "node",
      "args": [
        "path/to/jupiter-mcp/server/index.js"
      ],
      "env": {
        "SOLANA_RPC_URL": "solana rpc url you can access",
        "PRIVATE_KEY": "your private key"
      }
    }
  }
}

Setup steps

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the Jupiter MCP Server config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 5Jupiter MCP Server's tools become available to Cascade.

Before you start

  • Node.js version 18 or higher (for native fetch support)
  • A base58-encoded Solana wallet private key for signing transactions
  • Access to a Solana RPC endpoint (e.g. https://api.mainnet-beta.solana.com)

What Jupiter MCP Server can do in Windsurf

get-ultra-order

Fetches a swap order from Jupiter's Ultra API, leveraging both DEX routing and RFQ for optimal pricing. Inputs: inputMint, outputMint, amount (string), slippageBps. Output: JSON with requestId, transaction (base64-encoded), inputMint, outputMint, inAmount, outAmount, price.

execute-ultra-order

Requests Jupiter to execute the swap transaction on behalf of the wallet owner, handling slippage, priority fees, and transaction landing. Inputs: requestId, transaction (base64-encoded). Output: JSON with status, transactionId, slot, inputAmountResult, outputAmountResult, swapEvents.

Security

Requires a base58-encoded Solana wallet private key supplied via the PRIVATE_KEY environment variable. The server can sign and submit real on-chain swap transactions that move funds, so treat the private key as a high-value secret, prefer a dedicated low-balance wallet, and never expose it in shared configs or logs.

Jupiter MCP Server + Windsurf FAQ

Where is the Windsurf config file?

Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Jupiter MCP Server config there under the "mcpServers" key and restart the client.

Is Jupiter MCP Server safe to use with Windsurf?

Requires a base58-encoded Solana wallet private key supplied via the PRIVATE_KEY environment variable. The server can sign and submit real on-chain swap transactions that move funds, so treat the private key as a high-value secret, prefer a dedicated low-balance wallet, and never expose it in shared configs or logs.

Which Jupiter API does this server use?

Jupiter's Ultra API, which combines DEX routing and RFQ (Request for Quote) for optimal swap pricing and also handles slippage, priority fees, and transaction landing on execution.

What do I need to provide to run it?

A Solana RPC URL (SOLANA_RPC_URL) and a base58-encoded wallet private key (PRIVATE_KEY), both supplied as environment variables in the MCP client config. Node.js 18+ is required.

How does a swap work end to end?

Call get-ultra-order with the input/output mints, amount, and slippageBps to receive a requestId and a base64-encoded transaction, then pass those to execute-ultra-order to have Jupiter execute the swap on-chain.

View repo Full Jupiter MCP Server page