Design
Extract design tokens — colors, numbers, font sizes and strings — from an ECharts theme JSON and export them straight into your design system. Paste a theme object (the kind registered via echarts.init(dom, themeName)) and the tool walks every leaf, tagging each color (with optional named/rgb → hex normalization), spacing number, font size and string, then emits clean CSS variables, a Tailwind theme.extend config, Style Dictionary tokens.json, or SCSS variables. Bridges the gap between an ECharts visualization theme and Figma/CSS/Tailwind design tokens without copying each value by hand.
Call this tool from your code in three languages.
curl -X POST 'https://api.elysiatools.com/en/api/tools/echarts-theme-token-extractor' \
-H 'Content-Type: application/json' \
-d '{"themeJson":"{\n \"color\": [\"#5470c6\", \"#91cc75\", \"#fac858\"],\n \"backgroundColor\": \"rgb(255, 255, 255)\",\n \"textStyle\": { \"fontSize\": 12, \"color\": \"#333333\" }\n}","format":"css","prefix":"chart","colorMode":"hex"}'Send a POST request with your inputs as JSON. File parameters require a separate upload first.
POST https://api.elysiatools.com/en/api/tools/echarts-theme-token-extractor| Name | Type | Required | Description |
|---|---|---|---|
| themeJson | textarea | Yes | — |
| format | select | No | — |
| prefix | text | No | — |
| colorMode | select | No | — |
HTML result
{
"result": "<div>Processed HTML content</div>",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}Add this tool to your Model Context Protocol server so AI agents can list and call it.
Add this block to your MCP client configuration:
{
"mcpServers": {
"elysiatools-echarts-theme-token-extractor": {
"name": "echarts-theme-token-extractor",
"description": "Extract design tokens — colors, numbers, font sizes and strings — from an ECharts theme JSON and export them straight into your design system. Paste a theme object (the kind registered via echarts.init(dom, themeName)) and the tool walks every leaf, tagging each color (with optional named/rgb → hex normalization), spacing number, font size and string, then emits clean CSS variables, a Tailwind theme.extend config, Style Dictionary tokens.json, or SCSS variables. Bridges the gap between an ECharts visualization theme and Figma/CSS/Tailwind design tokens without copying each value by hand.",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=echarts-theme-token-extractor",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}After connecting to the SSE endpoint, list the exposed tools:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoke the tool by its id, passing arguments built from its parameters:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "echarts-theme-token-extractor",
"arguments": {
"themeJson": "{\n \"color\": [\"#5470c6\", \"#91cc75\", \"#fac858\"],\n \"backgroundColor\": \"rgb(255, 255, 255)\",\n \"textStyle\": { \"fontSize\": 12, \"color\": \"#333333\" }\n}",
"format": "css",
"prefix": "chart",
"colorMode": "hex"
}
}
}Questions or issues? Contact [email protected]