DexScreener MCP Server

by openSVM

21 378 downloads Not rated yet Unlicense

About

# 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): ```bash curl -L…

Details

License
Unlicense

Explore

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

Install using the provided one-line script (which automatically adds it to Claude Desktop) or manually via npm install && npm run build && npm run setup. Then invoke the seven available tools (e.g., get_latest_token_profiles, get_pairs_by_token_addresses) through an MCP client.

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'
});

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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.

Videos about DexScreener MCP Server

Relevant YouTube tutorials, setups, and demos