Compares 2 or 3 lists and draws a Venn diagram, with a CSV table of the region of each item.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the user wants to know which items 2 or 3 lists share and which are unique, without a diagram, for example "which names are on both lists" or "compare these three guest lists". Takes 2 or 3 named lists (up to 500 items each, 80 characters per item) and a case option. Returns each region (only A, only B, A and B, ...) with its count and items, the overlap percentage for each pair, and a CSV with each item's region. Does not read files, does not fuzzy-match spellings, and does not draw a diagram.
2 or 3 named lists to compare. Each set: {"name":"Team A","items":["Ann","Bo","Cy"]}. Names up to 40 characters; up to 500 items per set, each up to 80 characters.
false (default): "Apple" and "apple" are the same item. true: case matters.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http venn-diagram https://venn-diagram.zovo.one/mcp
Use this when the user wants to know which items 2 or 3 lists share and which are unique, without a diagram, for example "which names are on both lists" or "compare these three guest lists". Takes 2 or 3 named lists (up to 500 items each, 80 characters per item) and a case option. Returns each region (only A, only B, A and B, ...) with its count and items, the overlap percentage for each pair, and a CSV with each item's region. Does not read files, does not fuzzy-match spellings, and does not draw a diagram.
| Argument | Type | Description |
|---|---|---|
| sets* | array | 2 or 3 named lists to compare. Each set: {"name":"Team A","items":["Ann","Bo","Cy"]}. Names up to 40 characters; up to 500 items per set, each up to 80 characters. |
| case_sensitive | boolean | false (default): "Apple" and "apple" are the same item. true: case matters. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sets"
],
"properties": {
"sets": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"maxItems": 10,
"description": "2 or 3 named lists to compare. Each set: {\"name\":\"Team A\",\"items\":[\"Ann\",\"Bo\",\"Cy\"]}. Names up to 40 characters; up to 500 items per set, each up to 80 characters."
},
"case_sensitive": {
"type": "boolean",
"description": "false (default): \"Apple\" and \"apple\" are the same item. true: case matters."
}
}
}Use this when the user wants a Venn diagram of 2 or 3 lists or groups, for example "Venn diagram of these two customer lists" or "draw the overlap of skills for 3 candidates". Takes 2 or 3 named sets of items (up to 500 per set, 80 characters per item) or only region counts, a layout (symmetric, or proportional for 2 sets) and a case option. Returns the count of each region, which items are drawn, a check that each drawn label sits inside its region, an interactive diagram, and SVG, PDF and CSV downloads. Does not read files or images, and does not draw 4 or more sets. Lists are not kept after the call; download files of large diagrams are stored for 1 hour.
| Argument | Type | Description |
|---|---|---|
| sets | array | 2 or 3 named lists to compare. Each set: {"name":"Team A","items":["Ann","Bo","Cy"]}. Names up to 40 characters; up to 500 items per set, each up to 80 characters. Give this or set_names with region_counts. |
| title | string | Diagram title, e.g. "Skills of two candidates". Up to 80 characters. Default: the set names joined with "vs". |
| layout | string | symmetric (default): circles of equal size, areas not to scale. proportional: 2 sets only, both with at least one item, circle and overlap areas to scale with the counts. |
| set_names | array | Only with region_counts: the 2 or 3 set names in order a, b, c, e.g. ["Email","SMS"]. |
| region_counts | object | Use when only the counts are known, not the items. Keys name one region each: 2 sets a, b, ab; 3 sets a, b, c, ab, ac, bc, abc (a = only the first set; ab = in the first and second set but not the third). Example: {"a":120,"b":80,"ab":45}. |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 8, 2026.
| case_sensitive | boolean | false (default): "Apple" and "apple" are the same item. true: case matters. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"sets": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"maxItems": 10,
"description": "2 or 3 named lists to compare. Each set: {\"name\":\"Team A\",\"items\":[\"Ann\",\"Bo\",\"Cy\"]}. Names up to 40 characters; up to 500 items per set, each up to 80 characters. Give this or set_names with region_counts."
},
"title": {
"type": "string",
"maxLength": 400,
"description": "Diagram title, e.g. \"Skills of two candidates\". Up to 80 characters. Default: the set names joined with \"vs\"."
},
"layout": {
"enum": [
"symmetric",
"proportional"
],
"type": "string",
"description": "symmetric (default): circles of equal size, areas not to scale. proportional: 2 sets only, both with at least one item, circle and overlap areas to scale with the counts."
},
"set_names": {
"type": "array",
"items": {
"type": "string",
"maxLength": 400
},
"maxItems": 10,
"description": "Only with region_counts: the 2 or 3 set names in order a, b, c, e.g. [\"Email\",\"SMS\"]."
},
"region_counts": {
"type": "object",
"description": "Use when only the counts are known, not the items. Keys name one region each: 2 sets a, b, ab; 3 sets a, b, c, ab, ac, bc, abc (a = only the first set; ab = in the first and second set but not the third). Example: {\"a\":120,\"b\":80,\"ab\":45}.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"case_sensitive": {
"type": "boolean",
"description": "false (default): \"Apple\" and \"apple\" are the same item. true: case matters."
}
}
}