trackmcp
Back to directory
quanghuynguyen1902

jupiter-mcp-server

View on GitHub

Model Context Protocol server providing Claude AI with access to Jupiter's swap API on Solana

16 stars TypeScriptAI & Machine Learning Updated Jul 17, 2025

Documentation

Jupiter MCP Server

This repository contains a Model Context Protocol (MCP) server that provides Claude with access to Jupiter's Portfolio API and Price API. The server enables Claude to view portfolio positions, track staked JUP tokens, and get real-time token prices on the Solana blockchain.

Overview

The MCP server exposes several tools to Claude:

Portfolio Tools

  • `jupiter_get_positions`: Get portfolio positions including wallet balances, staked positions, liquidity pools, farming, vaults, lending, and more
  • `jupiter_get_staked_jup`: Get information about staked JUP tokens and unstaking positions
  • `jupiter_get_platforms`: Get a list of all DeFi platforms integrated with Jupiter's portfolio tracking

Price Tools

  • `jupiter_get_price`: Get current prices for one or more tokens, including USD price, 24h price change, and token decimals

API Implementation

This server uses Jupiter APIs:

  • Portfolio API v1 (`https://api.jup.ag/portfolio/v1`) for portfolio tracking and analytics
  • Price API v3 (`https://api.jup.ag/price/v3`) for real-time token pricing

Both APIs require an API key from Jupiter Portal.

Prerequisites

Installation

bash
# Install globally
npm install -g jupiter-mcp-server

# Or use with npx
npx jupiter-mcp-server

From source

1. Clone this repository:

bash
git clone https://github.com/quanghuynguyen1902/jupiter-mcp-server.git
   cd jupiter-mcp-server

2. Install dependencies:

bash
npm ci

3. Build the project:

bash
npm run build

4. Install globally (optional):

bash
npm install -g ./

Configuration

Configure Claude Desktop

To configure Claude Desktop to use this MCP server:

1. Open Claude Desktop

2. Navigate to the Claude Desktop configuration file:

    3. Add the MCP server configuration:

    json
    {
      "mcpServers": {
        "jupiter-mcp-server": {
          "command": "npx",
          "args": ["jupiter-mcp-server"],
          "env": {
            "JUPITER_API_KEY": "your_jupiter_api_key_from_portal"
          }
        }
      }
    }

    If you've installed from source and want to run the local version, use:

    json
    {
      "mcpServers": {
        "jupiter-mcp-server": {
          "command": "node",
          "args": [
            "/path/to/your/jupiter-mcp-server/build/index.js"
          ],
          "env": {
            "JUPITER_API_KEY": "your_jupiter_api_key_from_portal"
          }
        }
      }
    }

    Environment Variables Description

    Alternative: Using a .env File

    If you're running the server directly (not through Claude Desktop), you can create a `.env` file in the root directory:

    code
    JUPITER_API_KEY=your_jupiter_api_key_from_portal

    Running Locally

    bash
    # If installed globally
    jupiter-mcp-server
    
    # If installed from source
    node build/index.js
    
    # Using npx
    npx jupiter-mcp-server

    Usage

    Once configured, restart Claude Desktop. Claude will now have access to Jupiter portfolio and price tools. You can ask Claude to:

    Portfolio Operations

    1. View portfolio positions:

    code
    Show me the portfolio for address YOUR_WALLET_ADDRESS

    2. Check staked JUP:

    code
    How much JUP is staked for address YOUR_WALLET_ADDRESS?

    3. List available platforms:

    code
    What platforms are supported for portfolio tracking?

    Price Operations

    4. Get token prices:

    code
    What's the current price of SOL and USDC?

    5. Get multiple token prices:

    code
    Get prices for these tokens: So11111111111111111111111111111111111111112,EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

    Troubleshooting

    API Authentication Issues

    If you encounter 401 Unauthorized errors:

    1. Verify your `JUPITER_API_KEY` is correctly set in the environment variables

    2. Ensure your API key is valid - you can get a new one from https://portal.jup.ag/

    3. Check that the API key doesn't have any extra spaces or quotes around it

    Development

    Adding New Tools

    To add new tools to the MCP server:

    1. Define the tool in `src/tools.ts`

    2. Create a handler function in the appropriate handler file

    3. Add the handler to the `handlers` object in `src/tools.ts`

    Building

    bash
    npm run build

    Testing

    bash
    npm test

    Publishing to npm

    Make sure you're logged in to npm:

    bash
    npm login

    Then publish the package:

    bash
    npm publish

    To publish a new version, first update the version in package.json:

    bash
    npm version patch  # or minor, or major
    npm publish

    License

    MIT

    Support the Project

    If Jupiter MCP Server is useful to you, consider sponsoring its development.

    Your support helps maintain compatibility with Jupiter APIs, add new MCP tools, and improve the documentation.

    Frequently asked questions

    What is jupiter-mcp-server?

    jupiter-mcp-server is Model Context Protocol server providing Claude AI with access to Jupiter's swap API on Solana

    How do I install jupiter-mcp-server?

    Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

    Is jupiter-mcp-server open source?

    Yes — it is hosted on GitHub at https://github.com/quanghuynguyen1902/jupiter-mcp-server and has 16 stars.

    Related MCP tools

    Run your own MCP server? See who uses it and what to fix.

    Measure it with TrackMCP