C
Chart MCP Server
custom chart mcp server ,.An implementation of https://www.modelscope.cn/mcp/servers/antvis/mcp-server-chart
Created 12/26/2025
Updated about 6 hours ago
README
Repository documentation and setup instructions
图表MCP服务器
一个基于 Model Context Protocol (MCP) 的图表生成服务器,提供15种不同类型的图表生成功能,支持AI智能配色和优雅设计。
复刻:https://www.modelscope.cn/mcp/servers/antvis/mcp-server-chart
功能特性
本服务器提供以下15种图表生成工具:
- generate_area_chart - 生成面积图
- generate_bar_chart - 生成柱状图(水平)
- generate_column_chart - 生成柱状图(垂直)
- generate_dual_axes_chart - 生成双轴图表
- generate_fishbone_diagram - 生成鱼骨图(因果分析图)
- generate_flow_diagram - 生成流程图
- generate_histogram_chart - 生成直方图
- generate_line_chart - 生成线图
- generate_mind_map - 生成思维导图
- generate_network_graph - 生成网络图
- generate_pie_chart - 生成饼图
- generate_radar_chart - 生成雷达图
- generate_scatter_chart - 生成散点图
- generate_treemap_chart - 生成树形图
- generate_word_cloud_chart - 生成词云图
🎨 AI智能配色
- 自动配色: AI根据图表类型和数据上下文自动选择优雅配色方案
- 主题系统: 内置5种优雅配色主题(海洋蓝、日落、森林、紫色、珊瑚)
- 智能映射: 不同类型的数据自动匹配最适合的颜色主题
- 自定义支持: 可通过palette参数指定特定调色板
安装依赖
pip install -e .
或使用 pip 安装依赖:
pip install fastmcp plotly pandas kaleido pillow wordcloud matplotlib numpy
运行服务器
python src/main_optimized.py
使用示例
折线图(AI自动配色)
data = [
{"date": "12-17", "temperature": 5},
{"date": "12-18", "temperature": 3},
{"date": "12-19", "temperature": 2}
]
result = generate_line_chart(
data=data,
x_field="date",
y_field="temperature",
title="温度变化趋势"
)
柱状图(AI自动配色)
data = [
{"month": "1月", "sales": 120},
{"month": "2月", "sales": 98},
{"month": "3月", "sales": 145}
]
result = generate_column_chart(
data=data,
x_field="month",
y_field="sales",
title="月度销售额统计"
)
饼图(AI自动配色)
data = [
{"category": "移动端", "value": 45},
{"category": "桌面端", "value": 30},
{"category": "平板", "value": 15}
]
result = generate_pie_chart(
data=data,
label_field="category",
value_field="value",
title="市场份额分布"
)
双轴图(AI自动配色)
data = [
{"month": "1月", "revenue": 120, "users": 1000},
{"month": "2月", "revenue": 150, "users": 1200},
{"month": "3月", "revenue": 180, "users": 1500}
]
result = generate_dual_axes_chart(
data=data,
x_field="month",
y1_field="revenue",
y2_field="users",
title="收入与用户增长对比"
)
输出说明
所有图表工具返回的结果格式如下:
{
"success": True, # 是否成功
"image_url": "http://127.0.0.1:8081/xxx.png", # 图像URL
"message": "生成成功" # 消息
}
如果生成失败:
{
"success": False,
"error": "错误信息"
}
图像访问
- 静态文件服务器: http://127.0.0.1:8081/
- 访问限制: 仅允许访问.png格式文件
- 安全提示: 访问非PNG文件将返回404错误
图像文件
- 所有生成的图像保存在
images/目录中 - 文件名格式:
{chart_type}_YYYYMMDD_XXXXXXXX.png - 图像分辨率:1400x900,2倍缩放(高清晰度)
技术栈
- FastMCP - MCP服务器框架
- Plotly - 交互式图表库
- Pandas - 数据处理
- Matplotlib - 静态图表绘制
- WordCloud - 词云生成
- NetworkX - 网络图生成
- Kaleido - 图像导出引擎
设计特性
- 优雅边框: 只显示左边和下边框,移除重复边框线
- 现代配色: 采用现代UI设计趋势的配色方案
- 响应式布局: 图表布局自适应不同数据量
- 高清晰度: 2倍缩放确保在各种设备上清晰显示
注意事项
- 确保已安装
kaleido库,用于将 Plotly 图表导出为图像 - 首次运行可能需要安装系统字体(用于 Matplotlib)
- 图像文件会保存在
images/目录中,请确保有写入权限 - 服务器启动后会同时启动图像静态文件服务器(端口8081)
许可证
MIT License
Quick Setup
Installation guide for this server
Install Package (if required)
uvx chart-mcp-server
Cursor configuration (mcp.json)
{
"mcpServers": {
"qingfeng0512-chart-mcp-server": {
"command": "uvx",
"args": [
"chart-mcp-server"
]
}
}
}