ECharts MCP
本项目展示了如何实现Apache ECharts的MCP(模型上下文协议)服务器。
基本工作流程是从LLM获取图表类型、数据和其他参数,并返回生成的ECharts图表的云图URL。
支持的ECharts系列类型: 'bar', 'line', 'pie', 'scatter', 'funnel', 'tree', 'treemap', 'sunburst'.
设置
npm install创建一个 .env 文件。看 .env.example 以供参考。您需要有权访问 baiducce/bce-sdk-js 帐户将图像存储在云端。
跑
# Run the MCP server
npm run dev
# Run the inspector in another terminal
npm run inspect常见问题解答
如何更改图像云存储?
默认情况下,它使用 baiducce/bce-sdk-js 将生成的图像存储在云端并返回图像的URL。如果要使用其他云存储,请更改中的实现 src/storage.js.
如何更改ECharts主题?
看 registerTheme 和 registerFont 评论在 src/chart.js.
如何支持更多系列类型?
- 改变
inputSchema在……里面src/index.js - 规范化
data在……里面src/chart.js
欢迎您提出pull请求。
实施讨论
要制作Apache ECharts的MCP服务器,有三种常见方法:
- 要求LLM提供完整的ECharts选项
- 要求LLM提供预定义的参数,包括图表主题
- 要求LLM提供预定义的最小参数
方法1的优点是它有可能制作ECharts支持的各种图表。但它可能不稳定,特别是对于不太常用的图表类型。
方法2提供了从提示更改图表主题的自由。例如,您可以要求法学硕士 generate a chart with red bars of data ...但这种方法需要很多参数来支持如此多的ECharts选项。随着参数数量的增加,它会退化到接近1。
方法3要求LLM提供最小的参数,如序列类型、数据、序列名、标题和axisName。图表主题在应用程序中定义,因此只有此应用程序的开发人员,而不是用户可以更改主题。我们认为这是提供稳定结果的最佳方式,因此这是我们在这个项目中采取的方法。
