J

dexscreener-mcp-server

...
Created 1/5/2025byopenSVM

Language:

JavaScript

Stars:

6

Forks:

4

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

Last updated: 1/6/2025

Publisher info

openSVM's avatar

OpenSVM

Data explorer for all SVM based network (Solana L1, L2s, rollups, solana network extensions)

20
followers
0
following
53
repos

More MCP servers built with JavaScript

emergency-medicare-planner-mcp-server

emergency-medicare-planner-mcp-server

By manolaz1
mcp-warpcast-server

MCP Server for Warpcast integration

By zhangzhongnan9281
mcp-tavily-server

Tavily MCP Server for Cline

By dkmaker1