makechartswithai
Make Charts With AI — MCP 服务器
Make Charts With AI MCP 服务器将 AI 驱动的图表推荐与生成能力,以标准模型上下文协议(MCP)工具的形式,提供给 AI 智能体——Claude Desktop、Cursor、Antigravity、VS Code 等。
npm 包:makechartswithai
⚡ 快速开始
1. 获取 API 密钥
访问 makechartswithai.online/mcp 并生成一个免费的匿名 API 密钥(每个密钥可执行 5 次工具调用)。
2. 添加到你的 MCP 客户端
将以下内容添加到你的 MCP 客户端配置文件中(claude_desktop_config.json、mcp_config.json 等):
{
"mcpServers": {
"makechartswithai": {
"command": "npx",
"args": ["-y", "makechartswithai"],
"env": {
"MAKECHARTSWITHAI_API_KEY": "mcwai_ak_your_key_here",
"MAKECHARTSWITHAI_BACKEND_URL": "https://makechartswithai.online"
}
}
}
}就这样——你的 AI 智能体现在可以推荐和生成图表了。
Related MCP server: Data Analytics MCP Toolkit
🛠️ 可用的 MCP 工具
1. recommend_charts
分析原始数据集(JSON、CSV、Markdown 表格或自然语言提示),并推荐最佳图表类型,同时给出置信度分数和理由。
输入:
dataset_json(字符串,可选):原始 JSON 数据数组或对象字符串。dataset_content(字符串,可选):CSV、Markdown 表格或纯文本数据。user_intent(字符串,可选):关于你想要可视化的内容的自然语言说明。focus_columns(字符串[],可选):需要优先处理的目标列名。
2. generate_chart
生成一份生产就绪的图表规范,并按照你选择的格式(share_link、svg、png)返回输出。渲染引擎(vegalite、echarts、chartjs)会根据图表类型的能力自动确定。
输入:
dataset_json(字符串,可选):原始 JSON 数据字符串。dataset_content(字符串,可选):表格数据集(CSV、Markdown)。user_intent(字符串,可选):自然语言可视化提示。preferred_chart_type(字符串枚举,可选):46 种受支持的图表类型之一(Bar Chart、Grouped Bar Chart、Stacked Bar Chart、Line Chart、Scatter Plot、Pie Chart、Area Chart、Heatmap、Radar Chart、Sunburst Chart、Sankey Diagram等)。output_format(枚举,可选:"share_link"|"svg"|"png",默认值:"share_link"):"share_link":返回 makechartswithai.online 上的公开查看和编辑 URL。"svg":渲染并返回矢量 SVG XML 标记字符串。"png":渲染并返回高分辨率 PNG 图像载荷(image/pngbase64 + 保存的文件产物)。
🔑 环境变量
变量 | 是否必需 | 描述 |
| ✅ | 你的 API 密钥来自 makechartswithai.online/mcp |
| 否 | 后端 URL(默认为 |
📊 支持的图表类型(46)
Area Chart, Bar Chart, Bar Table, Boxplot, Bubble Chart, Bullet Chart, Bump Chart, Calendar Heatmap, Candlestick Chart, Choropleth, Combo Chart, Connected Scatter Plot, Density Plot, Doughnut Chart, ECDF Plot, Funnel Chart, Gantt Chart, Gauge Chart, Grouped Bar Chart, Heatmap, Histogram, KPI Card, Line Chart, Lollipop Chart, Map, Network Graph, Parallel Coordinates, Pie Chart, Pyramid Chart, Radar Chart, Range Area Chart, Ranged Dot Plot, Regression, Rose Chart, Sankey Diagram, Scatter Plot, Slope Chart, Sparkline, Stacked Bar Chart, Streamgraph, Strip Plot, Sunburst Chart, Tree, Treemap, Violin Plot, Waterfall Chart.
🔗 链接
Available Tools
2 toolsgenerate_chartA
Generates a production-ready chart specification and returns it in the requested format (share_link, svg, or png). Engine selection is automatically determined by chart type.
| Name | Required | Description | Default |
|---|---|---|---|
| user_intent | No | Natural language visualization query or prompt. | |
| dataset_json | No | Raw JSON data string. | |
| focus_columns | No | Key data column names to prioritize. | |
| output_format | No | Desired output format for the chart: "share_link" (public web URLs), "svg" (vector SVG markup), or "png" (rasterized image). Defaults to "share_link". | share_link |
| dataset_content | No | CSV, Markdown, or raw text dataset. | |
| unnecessary_columns | No | Column names to prune from dataset payload. | |
| preferred_chart_type | No | Preferred chart type from supported visualization catalog. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already carry the mutation/open-world signals, and the description adds one extra behavioral fact: engine selection is decided automatically from chart type. However, it does not note side effects such as data being sent to an external engine or a share_link being publicly accessible, so disclosure is only partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact, front-loaded sentences contain the core action, the available output formats, and a useful implementation detail. There is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema covers parameter semantics well, and the description states the main purpose and output modes. But given the missing output schema and the presence of a recommendation sibling, the description should also explain the expected workflow—e.g., when to call recommend_charts first and how the two dataset inputs relate—so the agent can plan correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All seven parameters have thorough descriptions in the schema, so the baseline is 3 and the description need not repeat them. The description does not add any parameter-specific semantics beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Generates'), a concrete deliverable ('production-ready chart specification'), and the three possible return formats. This clearly differentiates it from the sibling tool recommend_charts, which would recommend chart types rather than produce the chart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use generate_chart versus the sibling recommend_charts, or whether recommend_charts should be called first when preferred_chart_type is absent. The automatic-engine note is implementation detail, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_chartsARead-onlyIdempotent
Analyzes dataset structure or user prompt to recommend suitable chart types, confidence scores, and column classifications (requiredColumns, optionalColumns, unnecessaryColumns).
| Name | Required | Description | Default |
|---|---|---|---|
| user_intent | No | Natural language explanation of what you want to visualize. | |
| dataset_json | No | Raw JSON data array or object to analyze. | |
| focus_columns | No | Key data column names to prioritize. | |
| dataset_content | No | Tabular dataset in CSV, Markdown table, or raw text format. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior, so the safety profile is clear. The description adds that the tool returns confidence scores and column classifications in addition to chart types, which goes beyond the annotations, but it does not disclose anything about output shape, limits, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is a single, front-loaded sentence with no filler. It immediately states the action and then lists all relevant output categories in a compact, readable way, including the parenthesized column classification names.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The four parameters are all optional and there is no output schema, so an agent relies on the description to understand what will be returned. The description lists chart types, confidence scores, and column classifications, but it does not specify the return JSON structure, confidence scale, or how requiredColumns relates to optionalColumns. This leaves some ambiguity for programmatic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is already documented. The description vaguely maps to user_intent and dataset_json/dataset_content with 'dataset structure or user prompt', but it adds no additional meaning about parameter formats, relationships, or precedence. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Analyzes') and clearly names the resource and outputs: dataset structure or user prompt, and the recommendations of chart types, confidence scores, and column classifications. This is distinct from the sibling generate_chart, which implies actually producing a chart rather than recommending one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool by saying it analyzes dataset structure or user prompt to make recommendations, but it never explicitly mentions the sibling generate_chart or says when not to use this tool. Context is present, but there is no direct guidance on alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v1.0.1- First observed
generate_chart - First observed
recommend_charts
TDQS
Scored across 2 tools
recommend_charts and generate_chart have clearly distinct roles: one analyzes the dataset and suggests chart types, the other produces the actual chart artifact. There is no functional overlap, so an agent can confidently select the right tool.
Both tools follow the same verb_noun pattern with clear, action-first names. recommend_charts and generate_chart are predictable and easy to remember.
At only two tools, the server feels thin even though each tool covers an essential step. It is a minimal pipeline rather than a full-featured toolkit, which puts it in the borderline range.
The core recommend-then-generate workflow is covered with no dead ends. The main gap is lack of explicit refinement editing tools, but an agent can call generate again with adjusted parameters.
Maintenance
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
One MCP server that gives your AI agent search, AI answer, social, ad and lead data.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
- mcpOAuthcom.gibsonai
GibsonAI MCP server: manage your databases with natural language
Related MCP Servers
- AlicenseAqualityCmaintenanceAn open-source MCP server that connects to various data sources (SQL databases, CSV, Parquet files), allowing AI models to execute SQL queries and generate data visualizations for analytics and business intelligence.1275MIT
- FlicenseBqualityDmaintenanceAn MCP server that provides data visualization and machine learning tools, featuring automated intent-based pipeline routing for data cleaning and model training. It enables LLMs to process CSV or JSON data to generate visual charts, perform regressions, or execute clustering analysis.16-
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to create, update, and publish Datawrapper charts through natural language. It provides tools for data synchronization, visual configuration, and retrieving chart images or editor links.8MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server for data analysis and visualization supporting CSV and Excel files. It enables users to generate statistical summaries and create multi-dimensional charts like heatmaps and bar plots through natural language.-