MCP HubMCP Hub
openSVM

dexscreener-mcp-server

by: openSVM

dexscreener mcp server

10created 05/01/2025
Visit
DeFi
analytics

πŸ“ŒOverview

Purpose: To provide a robust implementation for accessing the DexScreener API, enhancing real-time access to DEX pair data and market statistics across multiple blockchains.

Overview: The DexScreener MCP Server serves as a middleware for developers looking to integrate the DexScreener API into their applications. It allows for efficient data retrieval, adhering to rate limits while providing comprehensive error handling and type-safe interfaces for seamless interaction with various endpoints.

Key Features:

  • Rate-limited API access: Ensures compliance with DexScreener’s request limits for optimal performance.

  • Comprehensive error handling: Standardized error responses for various scenarios, including rate limits and invalid parameters, ensuring reliable usage.

  • Type-safe interfaces: Facilitates developer productivity and reduces runtime errors with clearly defined TypeScript interfaces.

  • Support for all DexScreener API endpoints: Comprehensive access to all functionalities provided by the DexScreener platform.

  • Integration tests: Includes tests to verify the proper functionality of the server and its components.


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.

Installation

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

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

Manual installation:

npm install
npm run build
npm run setup

Testing

npm test

Features

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

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 such as rate limit exceeded, invalid parameters, network errors, and 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