DexScreener MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

DexScreener MCP Server

An MCP server implementation for accessing the DexScreener API, providing real-time access to DEX pair data, token information, and market statistics across multiple blockchains.

One-line install (automatically adds to Claude Desktop):

curl -L https://raw.githubusercontent.com/opensvm/dexscreener-mcp-server/main/install.sh | bash

Features

  • Rate-limited API access (respects DexScreener's rate limits)
  • Comprehensive error handling
  • Type-safe interfaces
  • Support for all DexScreener API endpoints
  • Integration tests

Installation

Manual installation:

npm install npm run build npm run setup

Testing

npm test

Usage

Available Tools

  1. get_latest_token_profiles
    • Get the latest token profiles
    • No parameters required
    const result = await mcpClient.callTool('dexscreener', 'get_latest_token_profiles');
  2. get_latest_boosted_tokens
    • Get the latest boosted tokens
    • No parameters required
    const result = await mcpClient.callTool('dexscreener', 'get_latest_boosted_tokens');
  3. get_top_boosted_tokens
    • Get tokens with most active boosts
    • No parameters required
    const result = await mcpClient.callTool('dexscreener', 'get_top_boosted_tokens');
  4. get_token_orders
    • Check orders paid for a specific token
    const result = await mcpClient.callTool('dexscreener', 'get_token_orders', { chainId: 'solana', tokenAddress: 'So11111111111111111111111111111111111111112' });
  5. get_pairs_by_chain_and_address
    • Get one or multiple pairs by chain and pair address
    const result = await mcpClient.callTool('dexscreener', 'get_pairs_by_chain_and_address', { chainId: 'solana', pairId: 'HxFLKUAmAMLz1jtT3hbvCMELwH5H9tpM2QugP8sKyfhc' });
  6. get_pairs_by_token_addresses
    • Get one or multiple pairs by token address (max 30)
    const result = await mcpClient.callTool('dexscreener', 'get_pairs_by_token_addresses', { tokenAddresses: 'So11111111111111111111111111111111111111112' });
  7. search_pairs
    • Search for pairs matching query
    const result = await mcpClient.callTool('dexscreener', 'search_pairs', { query: 'SOL' });

Rate Limits

The server implements rate limiting to comply with DexScreener's API limits:

  • Token Profile/Boost endpoints: 60 requests per minute
  • DEX/Pairs endpoints: 300 requests per minute

Error Handling

The server handles various error scenarios:

  • Rate limit exceeded
  • Invalid parameters
  • Network errors
  • API errors

Errors are returned in a standardized format with appropriate error codes and messages.

API Documentation

For detailed API documentation, see docs/api-reference.md.

Development

Project Structure

. ├── src/ │ ├── types/ # TypeScript interfaces and types │ ├── services/ # API service implementations │ ├── tests/ # Integration tests │ └── index.ts # Main server implementation ├── scripts/ # Setup and utility scripts ├── docs/ # Documentation └── README.md # This file

Adding New Features

  1. Define types in src/types/
  2. Implement service methods in src/services/
  3. Add tool handlers in src/index.ts
  4. Update documentation
  5. Add tests

License

MIT

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

An MCP server implementation that enables access to DexScreener API data, providing real-time information on DEX pairs, token profiles, and market statistics across multiple blockchains.

  1. Features
    1. Installation
      1. Testing
        1. Usage
          1. Available Tools
          2. Rate Limits
            1. Error Handling
              1. API Documentation
                1. Development
                  1. Project Structure
                    1. Adding New Features
                    2. License