get_altcoin_season_index
Determine if the cryptocurrency market is in Altcoin Season by analyzing top 100 altcoins' performance against Bitcoin over 90 days, with charts and metrics for tracking market trends.
Instructions
Altcoin Season Index page provides real-time insights into whether the cryptocurrency market is currently in Altcoin Season, based on the performance of the top 100 altcoins relative to Bitcoin over the past 90 days, with detailed charts and metrics for tracking market trends and altcoin dominance
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/desk3_service/server.py:143-152 (handler)Core handler function that executes the tool logic by making an API request to retrieve the Altcoin Season Index data.async def get_altcoin_season_index() -> dict: """ Get the Altcoin Season Index. :return: Altcoin season index data """ url = 'https://mcp.desk3.io/v1/market/altcoin/season' try: return request_api('get', url) except Exception as e: raise RuntimeError(f"Failed to fetch Altcoin Season Index data: {e}")
- src/desk3_service/server.py:618-626 (registration)Registration of the 'get_altcoin_season_index' tool in the @server.list_tools() handler, including name, description, and input schema.types.Tool( name="get_altcoin_season_index", description="Altcoin Season Index page provides real-time insights into whether the cryptocurrency market is currently in Altcoin Season, based on the performance of the top 100 altcoins relative to Bitcoin over the past 90 days, with detailed charts and metrics for tracking market trends and altcoin dominance", inputSchema={ "type": "object", "properties": {}, "required": [], }, ),
- src/desk3_service/server.py:621-625 (schema)JSON Schema for the tool input (no parameters required).inputSchema={ "type": "object", "properties": {}, "required": [], },
- src/desk3_service/server.py:806-816 (handler)Handler case in @server.call_tool() that invokes the core function and formats the response for MCP.case "get_altcoin_season_index": try: data = await get_altcoin_season_index() return [ types.TextContent( type="text", text=json.dumps(data, indent=2), ) ] except Exception as e: raise RuntimeError(f"Failed to fetch Altcoin Season Index data: {e}")
- src/desk3_service/server.py:23-41 (helper)Shared helper function used by the tool handler to make authenticated API requests to the Desk3 API.def request_api(method: str, url: str, params: dict = None, data: dict = None) -> any: headers = { 'Accepts': 'application/json', 'X-DESK3_PRO_API_KEY': API_KEY, } try: logging.info(f"Requesting {method.upper()} {url} params={params} data={data}") if method.lower() == 'get': response = requests.get(url, headers=headers, params=params) elif method.lower() == 'post': response = requests.post(url, headers=headers, json=data) else: raise ValueError(f"Unsupported HTTP method: {method}") response.raise_for_status() logging.info(f"Response {response.status_code} for {url}") return json.loads(response.text) except Exception as e: logging.error(f"Error during {method.upper()} {url}: {e}") raise