get_rainbow_chart
Analyze Bitcoin market sentiment and identify overvaluation or undervaluation using a logarithmic growth curve with color bands. Part of the Desk3 MCP Server.
Instructions
The Bitcoin Rainbow Chart uses a logarithmic growth curve with a color band to illustrate market sentiment and highlight potential buy or sell areas. It is not suitable for short-term predictions, but helps to identify overvaluation or undervaluation from history
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/desk3_service/server.py:187-196 (handler)The core handler function that fetches the Bitcoin Rainbow Chart data from the external API endpoint via request_api.async def get_rainbow_chart() -> dict[str, Any]: """ Get Bitcoin Rainbow Price Chart data. :return: Bitcoin Rainbow Chart data using logarithmic growth curve with color bands to illustrate market sentiment """ url = 'https://mcp.desk3.io/v1/market/rainbow' try: return request_api('get', url) except Exception as e: raise RuntimeError(f"Failed to fetch Bitcoin Rainbow Chart data: {e}")
- src/desk3_service/server.py:657-661 (schema)Input JSON schema for the tool, specifying no required properties.inputSchema={ "type": "object", "properties": {}, "required": [], },
- src/desk3_service/server.py:654-662 (registration)Registration of the tool in the MCP server's list_tools() method, including name, description, and input schema.types.Tool( name="get_rainbow_chart", description="The Bitcoin Rainbow Chart uses a logarithmic growth curve with a color band to illustrate market sentiment and highlight potential buy or sell areas. It is not suitable for short-term predictions, but helps to identify overvaluation or undervaluation from history", inputSchema={ "type": "object", "properties": {}, "required": [], }, ),
- src/desk3_service/server.py:850-860 (registration)Tool execution handler in the MCP server's call_tool() method, which invokes the core handler and formats the response.case "get_rainbow_chart": try: data = await get_rainbow_chart() return [ types.TextContent( type="text", text=json.dumps(data, indent=2), ) ] except Exception as e: raise RuntimeError(f"Failed to fetch Bitcoin Rainbow Chart data: {e}")