mcp-highcharts
mcp-highcharts
Отображайте интерактивные диаграммы Highcharts прямо в ИИ-чате — VS Code, GitHub Copilot, Claude Desktop или любом другом MCP-клиенте с поддержкой MCP Apps.
Настройка
Нажмите на значок выше или добавьте конфигурацию в свой MCP:
{
"mcp": {
"servers": {
"highcharts": {
"command": "npx",
"args": ["-y", "mcp-highcharts@latest"]
}
}
}
}Добавьте в claude_desktop_config.json:
{
"mcpServers": {
"highcharts": {
"command": "npx",
"args": ["-y", "mcp-highcharts@latest"]
}
}
}npx mcp-highcharts@latest --http # http://localhost:3001/mcp
PORT=8080 npx mcp-highcharts@latest --http # custom portИнструменты
Инструмент | Описание |
| Любой тип диаграммы — линейная, столбчатая, круговая, точечная, тепловая карта, диаграмма Санки, датчик, древовидная карта, облако слов и еще 60+ |
| Финансовые графики с навигатором, селектором диапазона и более чем 40 техническими индикаторами |
| Макеты с несколькими компонентами, включая диаграммы, KPI и сетки данных |
| Хороплеты, пузырьковые карты, точечные карты (автоматически загружает данные карт из CDN) |
| Временные шкалы проектов с задачами, зависимостями и вехами |
| Автономные таблицы данных с сортировкой, пагинацией и форматированием |
Все инструменты принимают полный API опций Highcharts.
Промпты
Промпт | Что он делает |
| Вставьте данные → получите лучшую диаграмму |
| Создайте каркас дашборда |
| Японские свечи + объем + индикаторы |
| Шаблоны для сравнения бок о бок |
| Диаграмма Ганта с зависимостями |
| Диаграмма с обновлением в реальном времени из URL данных |
Конфигурация
Темизация
Диаграммы автоматически адаптируются к светлой/темной теме хоста. Переопределите их с помощью переменных окружения:
{
"env": {
"HIGHCHARTS_THEME": "dark-unica",
"HIGHCHARTS_OPTIONS": "./my-theme.json"
}
}HIGHCHARTS_OPTIONS принимает .json, .js, .mjs, .ts или встроенный JSON.
Встроенные темы: adaptive (по умолчанию), avocado, brand-dark, brand-light, dark-blue, dark-green, dark-unica, gray, grid, grid-light, high-contrast-dark, high-contrast-light, sand-signika, skies, sunset
Глубина схемы
Управляет объемом информации о типах, отправляемой LLM:
{ "env": { "SCHEMA_DEPTH": "1" } }Глубина | Описание |
| Только имена свойств — нулевые накладные расходы на контекст |
| Типы верхнего уровня + описания + примеры |
| Один уровень типизированных дочерних элементов |
| Два уровня в глубину — полное рекурсивное дерево типов Highcharts |
Источники данных
Для диаграмм с обновлением в реальном времени используйте модуль данных Highcharts с data.csvURL и data.enablePolling: true.
Экспорт изображений (резервный вариант для не-приложений)
Для MCP-клиентов, которые не поддерживают MCP Apps, включите экспорт изображений на стороне сервера, чтобы добавить PNG-скриншот каждой диаграммы в ответ инструмента:
{
"env": {
"IMAGE_EXPORT": "true"
}
}Диаграммы рендерятся как PNG и возвращаются в виде блоков контента с изображениями в формате base64. Интерактивное приложение MCP по-прежнему включено для поддерживающих его клиентов.
Стратегия рендеринга (автоматическая):
Локально (Puppeteer) — если установлен
highcharts-export-server, диаграммы рендерятся локально через headless-браузер. Никаких сетевых вызовов, самый быстрый вариант.Удаленный резервный вариант — если локальный вариант недоступен, конфигурация диаграммы отправляется POST-запросом на сервер экспорта Highcharts.
Чтобы включить локальный рендеринг, установите опциональную зависимость:
npm install highcharts-export-serverЧтобы использовать собственный удаленный сервер экспорта:
{
"env": {
"IMAGE_EXPORT": "true",
"EXPORT_SERVER_URL": "https://your-export-server.example.com/"
}
}Вы также можете включить это программно: createServer({ imageExport: true }).
Примечание: Экспорт изображений работает для стандартных диаграмм, биржевых графиков и диаграмм Ганта. Дашборды, сетки данных и карты со строковыми ключами (например,
"custom/world") не подлежат экспорту и вернут только текстовые результаты.
Разработка
npm install
node scripts/generate-from-tree.mjs --multi # generate Zod schemas at depths 0, 1, 2
npm run build
npm testСтруктура проекта
main.ts Entry point (stdio + HTTP transports)
server.ts MCP server — tool registrations and handlers
src/
export-image.ts Server-side PNG export (local Puppeteer + remote fallback)
input-schema.ts Depth-based schema selection + LLM-friendly overrides
mcp-app.ts Client-side Highcharts rendering
module-loader.ts Dynamic Highcharts module loading
generated/ Auto-generated from Highcharts API (do not edit)
highcharts-depth-{0,1,2}.gen.ts Zod schemas at each depth
module-map.json Chart type → Highcharts module mapping
scripts/
generate-from-tree.mjs Generate Zod schemas from Highcharts tree.json
generate-module-map.mjs Generate module-map.json from Highcharts
example-providers.mjs Example extraction for schema generation
measure-schema.ts Measure tool context size at each depthТипы диаграмм, сопоставления модулей и схемы генерируются автоматически из установленной версии Highcharts — просто выполните npm update highcharts и перегенерируйте их.
Лицензия
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
- render_chartBApp
- render_dashboardBApp
- render_ganttBApp
- render_gridAApp
- render_mapBApp
- render_stock_chartBApp
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/austenstone/mcp-highcharts'
If you have feedback or need assistance with the MCP directory API, please join our Discord server