ChartGenerator MCP服务器
该项目是一个模型上下文协议(MCP)服务器,为Cursor等AI助手提供专业的数据可视化工具。使用 FastMCP 和 Matplotlib 生成各种类型的图表(条形图、折线图、饼图和面积图),并将其直接保存到本地目录。
特性
- 多类型图表:支持条形图、折线图、面积图和饼图。
- 可定制的造型:通过工具参数调整标题、颜色、轴标签和网格可见性。
- 自动保存:使用时间戳自动生成唯一的文件名,并将图表保存到指定的输出文件夹。
- FastMCP集成:基于FastMCP框架构建,用于高性能工具执行。
先决条件
在运行服务器之前,请确保安装了以下Python包:
pip install fastmcp uvicorn matplotlib pandas
程序结构
核心逻辑包含在 chart_server.py,执行以下步骤:
- 初始化FastMCP:创建名为的服务器
ChartGenerator. - 环境设置:确保
/app/output目录用于存储生成的图像。 - 工具定义:暴露
create_chart工具具有以下参数:
data:标签和数值字典。chart_type:选项包括bar,line,pie,或area.title:显示在图表顶部的标题。color:数据可视化的主要颜色。xlabel/ylabel:水平轴和垂直轴的标签。show_grid:布尔值用于切换背景网格(饼图自动禁用)。
- 执行:使用启动ASGI应用程序
uvicorn上host 0.0.0.0和port 8000.
如何跑步
- 直接执行:
python chart_server.py
- Docker执行 (建议用于当前设置):
如果使用Docker,请确保您的卷映射到 D:\2026\graphics\charts 以匹配程序的返回消息。
使用示例(光标提示)
服务器连接到Cursor后,您可以询问:
“使用ChartMaker创建 条形图 根据以下数据:{“一月”:45,“二月”:52,“三月”:38}。将颜色设置为“天蓝色”,并命名为“Q1销售业绩”。"
错误处理
该计划包括 try-except 在图表生成过程中捕获异常的块。如果发生错误,服务器将关闭当前绘图以释放资源,并以字符串形式返回错误消息。
