Data Visualization
Generate GitHub-style calendar heatmaps to visualize activity patterns over time, perfect for tracking yearly contributions, habits, or metrics
Call this tool from your code in three languages.
curl -X POST 'https://api.elysiatools.com/en/api/tools/calendar-heatmap' \
-H 'Content-Type: application/json' \
-d '{"chartData":"JSON format:\n[{"date": "2024-01-01", "value": 10, "label": "Commits"},\n{"date": "2024-01-02", "value": 15, "label": "Commits"}]\n\nor text format:\n2024-01-01|10|Commits\n2024-01-02|15|Commits","chartTitle":"Enter chart title...","colorScheme":"green","year":0,"startColor":"#c6e48b","endColor":"#239a3b","emptyColor":"#ebedf0","borderColor":"#ffffff","cellSize":"12","cellSpacing":"2","animationDuration":"800","backgroundColor":"#ffffff","showValues":false,"showLegend":true,"showMonthLabels":true,"showDayLabels":true,"showStats":true,"showTooltip":true}'Send a POST request with your inputs as JSON. File parameters require a separate upload first.
POST https://api.elysiatools.com/en/api/tools/calendar-heatmap| Name | Type | Required | Description |
|---|---|---|---|
| chartData | textarea | Yes | Activity data for the calendar heatmap. Format: date|value|label (YYYY-MM-DD format) |
| chartTitle | text | No | Title that will be displayed above the heatmap |
| colorScheme | select | No | — |
| year | number | No | Year for the calendar (leave empty for current year) |
| startColor | color | No | Start color for custom color scheme (requires Custom Colors selection) |
| endColor | color | No | End color for custom color scheme (requires Custom Colors selection) |
| emptyColor | color | No | Color for days with no activity |
| borderColor | color | No | Border color for cells |
| cellSize | number | No | Size of each day cell in pixels (8-20) |
| cellSpacing | number | No | Spacing between cells in pixels (1-5) |
| animationDuration | number | No | Animation duration in milliseconds |
| backgroundColor | color | No | Background color for the chart container |
| showValues | checkbox | No | Display values inside the cells (works better with larger cells) |
| showLegend | checkbox | No | Display the color intensity legend |
| showMonthLabels | checkbox | No | Display month names above the calendar |
| showDayLabels | checkbox | No | Display day of week labels |
| showStats | checkbox | No | Display activity statistics below the chart |
| showTooltip | checkbox | No | Enable hover tooltips for cells |
HTML result
{
"result": "<div>Processed HTML content</div>",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}Add this tool to your Model Context Protocol server so AI agents can list and call it.
Add this block to your MCP client configuration:
{
"mcpServers": {
"elysiatools-calendar-heatmap": {
"name": "calendar-heatmap",
"description": "Generate GitHub-style calendar heatmaps to visualize activity patterns over time, perfect for tracking yearly contributions, habits, or metrics",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=calendar-heatmap",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}After connecting to the SSE endpoint, list the exposed tools:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoke the tool by its id, passing arguments built from its parameters:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "calendar-heatmap",
"arguments": {
"chartData": "JSON format:\n[{"date": "2024-01-01", "value": 10, "label": "Commits"},\n{"date": "2024-01-02", "value": 15, "label": "Commits"}]\n\nor text format:\n2024-01-01|10|Commits\n2024-01-02|15|Commits",
"chartTitle": "Enter chart title...",
"colorScheme": "green",
"year": 0,
"startColor": "#c6e48b",
"endColor": "#239a3b",
"emptyColor": "#ebedf0",
"borderColor": "#ffffff",
"cellSize": "12",
"cellSpacing": "2",
"animationDuration": "800",
"backgroundColor": "#ffffff",
"showValues": false,
"showLegend": true,
"showMonthLabels": true,
"showDayLabels": true,
"showStats": true,
"showTooltip": true
}
}
}Questions or issues? Contact [email protected]