该项目展示了如何实现Apache ECharts的MCP(模型上下文协议)服务器。
基本工作流程是从LLM获取图表类型、数据和其他参数,并返回生成的ECharts图表的云图像URL。
支持的ECharts系列类型:'bar', 'line', 'pie', 'scatter', 'funnel', 'tree', 'treemap', 'sunburst'。
npm install
创建一个.env文件。参考.env.example。您需要拥有baidubce/bce-sdk-js账户的访问权限,以便将图像存储在云端。
# 运行MCP服务器
npm run dev
# 在另一个终端运行检查器
npm run inspect
默认情况下,它使用baidubce/bce-sdk-js来存储生成的图像并返回云上的图像URL。如果您希望使用其他云存储,请更改src/storage.js中的实现。
查看src/chart.js中的registerTheme和registerFont注释。
src/index.js中的inputSchemasrc/chart.js中规范化data欢迎提交拉取请求。
为了制作Apache ECharts的MCP服务器,有三种常见的方法:
方法1的优势在于它有可能生成ECharts支持的所有类型的图表。但这种方法可能不够稳定,特别是对于不常用的图表类型。
方法2允许从提示中自由改变图表主题。例如,您可以要求LLM“生成具有红色条形的数据...的图表”。但是,此方法需要大量参数以支持如此多的ECharts选项,并且随着参数数量的增长,它会退化为方法1。
方法3要求LLM提供最小参数,如系列类型、数据、系列名称、标题和轴名称。图表主题在应用程序中定义,因此只有该应用程序的开发者而不是用户可以更改主题。我们相信这是提供稳定结果的最佳方式,因此我们在本项目中采用了这种方法。