generate_echarts_pageLABSCO SUMMARY
Returns a link, not a picture - which is what makes it usable for big charts.
Because the output is a page rather than an image in the reply, the chart can be as large as it needs to be without filling the context window, and it stays open in a browser tab while the conversation moves on. The public URL setting is the one to get right, since that is what determines whether the link you receive actually resolves.
What it is
A small Go server with a single job: take an ECharts JSON configuration, write a self-contained HTML page for it, and return the address where that page can be opened.
What you get
- One tool, generate_echarts_page, that takes a title and an ECharts configuration object
- Optional width and height in pixels, defaulting to 800 by 600
- A URL to the generated page as the return value, so the chart lives outside the conversation
- A published Docker image, so it can run as a container the client starts or as a long-lived service
Requirements
Go 1.24 or newer to build from source, or the published Docker image. Four settings, all environment variables or a .env file: the listening port, which defaults to 8989; the public URL the generated links should use; the log level; and the directory the HTML files are written to. Clients connect over SSE, and the endpoint is /sse rather than the root.
Setup effort
Build from source — git clone https://github.com/cnkanwei/mcp-server-echart.git
USE CASES
Seeing data the assistant just produced
Have it build the ECharts configuration and generate the page, then open the returned link.
Sharing a chart with someone else
Set the public URL to a host the recipients can reach, so the generated link works outside your machine.
Sizing a chart for where it will be shown
Pass explicit width and height rather than accepting the defaults, for a dashboard or a slide.
1 tool
Listed in project docs. Your client may show a different list.
BEFORE YOU INSTALL
What to know first
Tools you get
1 tool named in the project's documentation.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/cnkanwei/mcp-server-echart.git
cd mcp-server-echart
cp .env.example .env
go mod tidy
go run main.goMCP Clients
Any MCP client
Start the server
It runs as an SSE server on port 8989. Use the published Docker Hub image as below, or the go run main.go route above. PUBLIC_URL is the address the chart links it returns will use.
docker run -p 8989:8989 -d --name my-echart-server -e PUBLIC_URL=http://localhost:8989 cnkanwei/mcp-server-echart:latestPoint your client at its SSE endpoint
The endpoint is /sse, not the root.
{
"mcpServers": {
"mcp-server-echart": {
"url": "http://localhost:8989/sse"
}
}
}