npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

jupiter-mcp-server

v1.4.0

Published

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

Readme

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

From npm (recommended)

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

# Or use with npx
npx jupiter-mcp-server

From source

  1. Clone this repository:

    git clone https://github.com/quanghuynguyen1902/jupiter-mcp-server.git
    cd jupiter-mcp-server
  2. Install dependencies:

    npm ci
  3. Build the project:

    npm run build
  4. Install globally (optional):

    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:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\\Claude\\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  3. Add the MCP server configuration:

{
  "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:

{
  "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:

JUPITER_API_KEY=your_jupiter_api_key_from_portal

Running Locally

# 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:

    Show me the portfolio for address AdjN2jSx9J6JekavLzmHuZxUMv1YuMqtkNsDYuRB82nG
  2. Check staked JUP:

    How much JUP is staked for address AdjN2jSx9J6JekavLzmHuZxUMv1YuMqtkNsDYuRB82nG?
  3. List available platforms:

    What platforms are supported for portfolio tracking?

Price Operations

  1. Get token prices:

    What's the current price of SOL and USDC?
  2. Get multiple token prices:

    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

npm run build

Testing

npm test

Publishing to npm

Make sure you're logged in to npm:

npm login

Then publish the package:

npm publish

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

npm version patch  # or minor, or major
npm publish

License

MIT