✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

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

Featured Templates

View More
AI Assistants
AI Chatbot Starter Kit v0.1
138 912
Customer service
Multi-language AI Translator
136 920
Verified Icon
AI Assistants
Speech to Text
137 1881
Customer service
Service ERP
126 1187
AI Characters
Sarcastic AI Chat Bot
128 1712

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.