Skip to main content
Glama

get_trending_tokens_on_raydium

Identify trending tokens on Raydium based on trading volume within 5h, 12h, or 24h. Returns a formatted table with token details for strategic decision-making in Solana memecoin markets.

Instructions

Retrieve tokens with the highest trading volume on Raydium within a specified time span.

Args: time_span (str): Time period for the query. Must be one of: '5h', '12h', '24h'. Defaults to '5h'. limit (int): Maximum number of tokens to return. Defaults to 100. Returns: str: A formatted table of trending tokens on Raydium including token name, mint address, and trading volume, or an error message if the query fails. Raises: ValueError: If an invalid time_span value is provided. httpx.HTTPStatusError: If the Dune API request fails.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
time_spanNo5h

Implementation Reference

  • main.py:254-292 (handler)
    The handler function for the get_trending_tokens_on_raydium tool. It is registered via the @mcp.tool() decorator. Fetches trending token data from Dune Analytics queries based on the specified time_span, processes the results using helper functions like get_latest_result and strip_a_tag, formats them into a table using tabulate, and returns the markdown table or an error message.
    @mcp.tool() def get_trending_tokens_on_raydium(time_span: str = "5h", limit: int = 100) -> str: """Retrieve tokens with the highest trading volume on Raydium within a specified time span. Args: time_span (str): Time period for the query. Must be one of: '5h', '12h', '24h'. Defaults to '5h'. limit (int): Maximum number of tokens to return. Defaults to 100. Returns: str: A formatted table of trending tokens on Raydium including token name, mint address, and trading volume, or an error message if the query fails. Raises: ValueError: If an invalid time_span value is provided. httpx.HTTPStatusError: If the Dune API request fails. """ query_ids = { "5h": 4840714, "12h": 4840651, "24h": 4840709, } try: query_id = query_ids.get(time_span) if query_id is None: raise ValueError("Invalid time_span value. Allowed: 5h | 12h | 24h") data = get_latest_result(query_id, limit=limit) rows = [ [ strip_a_tag(row["asset_with_chart"]), row["token_address"], f'${row.get(f"total_volume_{time_span}", 0):.2f}' ] for row in data ] headers = ["Token", "Mint Address", "Volume"] return f"# Top {limit} Trending Tokens on Raydium - Last {time_span}\n\n" + tabulate(rows, headers=headers) except Exception as e: return str(e)
  • main.py:23-46 (helper)
    Shared helper function used by the tool to retrieve the latest execution results from a specified Dune Analytics query ID.
    def get_latest_result(query_id: int, limit: int = 1000): """ Fetch the latest results from a Dune Analytics query. Args: query_id (int): The ID of the Dune query to fetch results from. limit (int, optional): Maximum number of rows to return. Defaults to 1000. Returns: list: A list of dictionaries containing the query results, or an empty list if the request fails. Raises: httpx.HTTPStatusError: If the API request fails due to a client or server error. """ url = f"{BASE_URL}/query/{query_id}/results" params = {"limit": limit} with httpx.Client() as client: response = client.get(url, params=params, headers=HEADERS, timeout=300) response.raise_for_status() data = response.json() result_data = data.get("result", {}).get("rows", []) return result_data
  • main.py:47-49 (helper)
    Helper function to extract text content from HTML anchor tags, used to clean token names in the results.
    def strip_a_tag(html): match = re.search(r'>(.*?)</a>', html) return match.group(1) if match else html

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kukapay/memecoin-radar-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server