Data Visualization
Generate customizable Venn diagrams to visualize set relationships, intersections, exclusions, and hierarchical structures
Call this tool from your code in three languages.
curl -X POST 'https://api.elysiatools.com/en/api/tools/euler-diagram-generator' \
-H 'Content-Type: application/json' \
-d '{"chartData":"New simplified format:\n{\n "element": [\n {"name": "A", "count": 150},\n {"name": "B", "count": 120},\n {"name": "C", "count": 80}\n ],\n "Intersecting": [\n {"names": "A,B", "count": 50}\n ]\n}\n\nParent-child example (intersection equals smaller set):\n{\n "element": [\n {"name": "Animals", "count": 100},\n {"name": "Mammals", "count": 80}\n ],\n "Intersecting": [\n {"names": "Animals,Mammals", "count": 80}\n ]\n}\n\nor simple text format:\nA|150\nB|120\nC|80","chartTitle":"Enter chart title...","borderStyle":"solid","colorScheme":"default","customColors":"#3b82f6,#ef4444,#10b981","circleOpacity":"0.4","fontSize":"14","chartWidth":"700","chartHeight":"600","animationDuration":"1200","backgroundColor":"#ffffff","gridColor":"#f0f0f0","showGrid":false,"showLabels":true,"showValues":true,"showLegend":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/euler-diagram-generator| Name | Type | Required | Description |
|---|---|---|---|
| chartData | textarea | Yes | Simplified format for Venn diagram. Layout is auto-detected: intersection=smaller set → parent-child; otherwise overlapping; 3+ sets with no intersections → disjoint. |
| chartTitle | text | No | Title that will be displayed above the diagram |
| borderStyle | select | No | — |
| colorScheme | select | No | — |
| customColors | text | No | Custom hex colors for sets (comma-separated). Overrides color scheme. |
| circleOpacity | number | No | Opacity of the circles (0.2 to 1.0) |
| fontSize | number | No | Font size for labels in pixels |
| chartWidth | number | No | Width of the chart in pixels |
| chartHeight | number | No | Height of the chart in pixels |
| animationDuration | number | No | Duration of animation in milliseconds |
| backgroundColor | color | No | Background color for the chart container |
| gridColor | color | No | Color for the background grid |
| showGrid | checkbox | No | Display background grid for better positioning |
| showLabels | checkbox | No | Display set names on the diagram |
| showValues | checkbox | No | Display element counts in the circles |
| showLegend | checkbox | No | Display a legend below the diagram |
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-euler-diagram-generator": {
"name": "euler-diagram-generator",
"description": "Generate customizable Venn diagrams to visualize set relationships, intersections, exclusions, and hierarchical structures",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=euler-diagram-generator",
"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": "euler-diagram-generator",
"arguments": {
"chartData": "New simplified format:\n{\n "element": [\n {"name": "A", "count": 150},\n {"name": "B", "count": 120},\n {"name": "C", "count": 80}\n ],\n "Intersecting": [\n {"names": "A,B", "count": 50}\n ]\n}\n\nParent-child example (intersection equals smaller set):\n{\n "element": [\n {"name": "Animals", "count": 100},\n {"name": "Mammals", "count": 80}\n ],\n "Intersecting": [\n {"names": "Animals,Mammals", "count": 80}\n ]\n}\n\nor simple text format:\nA|150\nB|120\nC|80",
"chartTitle": "Enter chart title...",
"borderStyle": "solid",
"colorScheme": "default",
"customColors": "#3b82f6,#ef4444,#10b981",
"circleOpacity": "0.4",
"fontSize": "14",
"chartWidth": "700",
"chartHeight": "600",
"animationDuration": "1200",
"backgroundColor": "#ffffff",
"gridColor": "#f0f0f0",
"showGrid": false,
"showLabels": true,
"showValues": true,
"showLegend": true
}
}
}Questions or issues? Contact [email protected]