A side-by-side look at the MCP Server Chart and Markmap MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose MCP Server Chart for data visualization work as a local process; choose Markmap MCP Server for data visualization as a local process. You can also run both side by side in one mcpServers block.
generate_area_chart, generate_bar_chart, generate_boxplot_chart.markdown_to_mindmap, list_mindmaps, get_mindmap.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Data Visualization | Data Visualization |
| Quality signal | 71/100 · Great | 67/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | No auth required | No auth required |
| Pricing | Free | Free |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 4,394 | 289 |
| Directory activity | 5 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | 27 | 4 |
| Full listing | View MCP Server Chart | View Markmap MCP Server |
generate_area_chartGenerate a area chart to show data trends under continuous independent variables and observe the overall data trend, such as, displacement = velocity (average or instantaneous) × time: s = v × t. If the x-axis is time (t) and the y-axis is velocity (v) at each moment, an area chart allows you to observe the trend of velocity over time and infer the distance traveled by the area's size.generate_bar_chartGenerate a horizontal bar chart to show data for numerical comparisons among different categories, such as, comparing categorical data and for horizontal comparisons.generate_boxplot_chartGenerate a boxplot chart to show data for statistical summaries among different categories, such as, comparing the distribution of data points across categories.generate_column_chartGenerate a column chart, which are best for comparing categorical data, such as, when values are close, column charts are preferable because our eyes are better at judging height than other visual elements like area or angles.generate_district_mapGenerates regional distribution maps, which are usually used to show the administrative divisions and coverage of a dataset. It is not suitable for showing the distribution of specific locations, such as urban administrative divisions, GDP distribution maps of provinces and cities across the country, etc. This tool is limited to generating data maps within China.generate_dual_axes_chartGenerate a dual axes chart which is a combination chart that integrates two different chart types, typically combining a bar chart with a line chart to display both the trend and comparison of data, such as, the trend of sales and profit over time.generate_fishbone_diagramGenerate a fishbone diagram chart to uses a fish skeleton, like structure to display the causes or effects of a core problem, with the problem as the fish head and the causes/effects as the fish bones. It suits problems that can be split into multiple related factors.generate_flow_diagramGenerate a flow diagram chart to show the steps and decision points of a process or system, such as, scenarios requiring linear process presentation.generate_funnel_chartGenerate a funnel chart to visualize the progressive reduction of data as it passes through stages, such as, the conversion rates of users from visiting a website to completing a purchase.generate_histogram_chartGenerate a histogram chart to show the frequency of data points within a certain range. It can observe data distribution, such as, normal and skewed distributions, and identify data concentration areas and extreme points.generate_line_chartGenerate a line chart to show trends over time, such as, the ratio of Apple computer sales to Apple's profits changed from 2000 to 2016.generate_liquid_chartGenerate a liquid chart to visualize a single value as a percentage, such as, the current occupancy rate of a reservoir or the completion percentage of a project.markdown_to_mindmapConvert structured Markdown (headings # and nested lists -) into an interactive mind map HTML file, with optional server-side PNG/JPG/SVG export.
Use when the user wants a visual mind map/outline of structured content (architecture, plans, notes, hierarchies), or asks to visualize / mindmap / diagram. Do not use for flat unstructured text (restructure first), or to list/read existing outputs (use list_mindmaps / get_mindmap).
Behavior:
- WRITES files under the configured output dir. HTML is always written; image formats write an extra file. Reusing filename overwrites.
- html is fast (<1s). png/svg/jpg launch headless Chromium via Playwright (5–15s; requires: npm install playwright && npx playwright install chromium).
- Local only — no external APIs or third-party keys. Open mode=never: The server never opens the browser.
- Offline=false (server config).
Response:
- JSON {"htmlFilePath":"<path>","filePath":"<path>"} — htmlFilePath is always the HTML source; filePath is the primary artifact (HTML or image).
- Return mode=path: Paths JSON only — no inline content.
- Errors: isError:true with {"error","message"}.list_mindmapsList markmap* files (html/png/jpg/jpeg/svg) in the output directory, newest first. Read-only — no side effects. Missing/empty dirs return {"files":[]}.
Returns: {"outputDir","files":[{"name","filePath","size","mtimeMs","mtime"}]} (mtime is ISO 8601).
Use before get_mindmap to discover paths, or before cleanup_mindmaps to preview targets. Not for generating new mind maps (use markdown_to_mindmap).get_mindmapRetrieve a generated mind map file by absolute path. Read-only — no side effects. Only paths inside the configured output directory are allowed (path traversal denied).
Returns JSON {"filePath","mimeType","size"}. For text/html or image/svg+xml under 200KB, also appends a text content block. PNG/JPG return metadata only (no image block) — re-export via markdown_to_mindmap with format=png|jpg if the agent needs pixels.
On error: isError:true with {"error":"Failed to retrieve mind map","message"}.
Use list_mindmaps first to obtain a valid filePath. Prefer this over regenerating when the file already exists.cleanup_mindmapsPermanently delete markmap* files from the output directory. DESTRUCTIVE and irreversible when dryRun is false.
dryRun defaults to false — omitting it WILL delete. Always call once with dryRun=true to preview, then again with dryRun=false to commit. Prefer list_mindmaps beforehand.
Returns {"deleted":["<path>",...],"kept":<n>}; dryRun responses also include dryRun:true and do not delete.
Use instead of manual file deletion when pruning old generated mind maps.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"antv-mcp-server-chart": {
"command": "npx",
"args": [
"-y",
"@antv/mcp-server-chart"
]
}
}
}
{
"mcpServers": {
"jinzcdev-markmap-mcp-server": {
"command": "npx",
"args": [
"-y",
"@jinzcdev/markmap-mcp-server"
]
}
}
}