dexscreener mcp server
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.
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.
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
Manual installation:
npm install
npm run build
npm run setup
npm test
get_latest_token_profiles
No parameters required
const result = await mcpClient.callTool('dexscreener', 'get_latest_token_profiles');
get_latest_boosted_tokens
No parameters required
const result = await mcpClient.callTool('dexscreener', 'get_latest_boosted_tokens');
get_top_boosted_tokens
No parameters required
const result = await mcpClient.callTool('dexscreener', 'get_top_boosted_tokens');
get_token_orders
Check orders paid for a specific token
const result = await mcpClient.callTool('dexscreener', 'get_token_orders', {
chainId: 'solana',
tokenAddress: 'So11111111111111111111111111111111111111112'
});
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'
});
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'
});
search_pairs
const result = await mcpClient.callTool('dexscreener', 'search_pairs', {
query: 'SOL'
});
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
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.
For detailed API documentation, see docs/api-reference.md.
.
├── 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
src/types/
src/services/
src/index.ts
MIT
[
{
"description": "Get the latest token profiles",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "get_latest_token_profiles"
},
{
"description": "Get the latest boosted tokens",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "get_latest_boosted_tokens"
},
{
"description": "Get tokens with most active boosts",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "get_top_boosted_tokens"
},
{
"description": "Check orders paid for a specific token",
"inputSchema": {
"properties": {
"chainId": {
"description": "Chain ID (e.g., "solana")",
"type": "string"
},
"tokenAddress": {
"description": "Token address",
"type": "string"
}
},
"required": [
"chainId",
"tokenAddress"
],
"type": "object"
},
"name": "get_token_orders"
},
{
"description": "Get one or multiple pairs by chain and pair address",
"inputSchema": {
"properties": {
"chainId": {
"description": "Chain ID (e.g., "solana")",
"type": "string"
},
"pairId": {
"description": "Pair address",
"type": "string"
}
},
"required": [
"chainId",
"pairId"
],
"type": "object"
},
"name": "get_pairs_by_chain_and_address"
},
{
"description": "Get one or multiple pairs by token address (max 30)",
"inputSchema": {
"properties": {
"tokenAddresses": {
"description": "Comma-separated token addresses",
"type": "string"
}
},
"required": [
"tokenAddresses"
],
"type": "object"
},
"name": "get_pairs_by_token_addresses"
},
{
"description": "Search for pairs matching query",
"inputSchema": {
"properties": {
"query": {
"description": "Search query",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_pairs"
}
]