EChart Server
Un servicio en Go que genera dinámicamente páginas de gráficos ECharts a partir de configuraciones JSON.
Documentación
mcp-server-echart
Un servicio Go construido sobre el framework mcp-go, que proporciona una herramienta para generar dinámicamente páginas de gráficos ECharts.
✨ Características
- Generación dinámica de gráficos: Al invocar la herramienta y pasar la configuración JSON de ECharts, se genera una página HTML independiente con el gráfico.
- Altamente configurable: Admite personalizar el título, ancho y alto del gráfico.
- Página moderna: Las páginas de gráficos generadas tienen una apariencia limpia y moderna.
- Soporte Docker: Proporciona
Dockerfilepara construir fácilmente imágenes Docker ligeras y portátiles. - Configuración flexible: Se configura mediante variables de entorno o el archivo
.env, adaptándose fácilmente a diferentes entornos.
🚀 Inicio rápido
1. Requisitos previos
2. Clonar y configurar
Clone este repositorio en su máquina local:
git clone https://github.com/cnkanwei/mcp-server-echart.git
cd mcp-server-echart
Copie la plantilla del archivo de configuración y modifíquela según sea necesario:
cp .env.example .env
El archivo .env contiene los siguientes elementos de configuración:
PORT: Puerto de escucha del servicio (predeterminado:8989)PUBLIC_URL: Ruta raíz de la URL expuesta externamente (por ejemplo,http://localhost:8989ohttps://your.domain.com)LOG_LEVEL: Nivel de registro (por ejemplo,info,debug)STATIC_DIR: Directorio donde se almacenan los archivos HTML estáticos generados (predeterminado:static)
3. Instalar dependencias
go mod tidy
📦 Cómo ejecutar
Ejecutar localmente
go run main.go
Una vez que el servicio se inicia, escucha en el puerto PORT configurado en el archivo .env (predeterminado: 8989).
Ejecutar con Docker
-
Construir la imagen Docker:
docker build -t mcp-server-echart . -
Ejecutar el contenedor Docker:
# 基础运行 docker run -p 8989:8989 -d --name my-echart-server mcp-server-echart # 自定义端口和对外 URL docker run -p 9090:9090 \ -e PORT=9090 \ -e PUBLIC_URL="https://my.domain.com" \ -d --name my-echart-server mcp-server-echart
🛠️ API de la herramienta
Este servicio proporciona una herramienta llamada generate_echarts_page.
Parámetros
title(string, obligatorio): Título de la página del gráfico.inputSchema(object, obligatorio): Objeto de configuración JSON de ECharts.width(number, opcional): Ancho del gráfico en píxeles, predeterminado 800.height(number, opcional): Alto del gráfico en píxeles, predeterminado 600.
Valor de retorno
Tras una invocación exitosa, la herramienta devuelve una URL que apunta a la página del gráfico recién generada.
💻 Cómo usarlo
Este servicio se puede invocar desde cualquier cliente MCP que admita Server-Sent Events (SSE).
Configuración del cliente
Si su cliente MCP admite la conexión al servidor mediante un archivo de configuración, puede agregar la siguiente configuración para conectarse a este servicio.
Agregue mcp-server-echart a la configuración de su cliente y apunte la URL a la dirección de escucha de este servicio (predeterminado: http://localhost:8989/sse).
Configuración de ejemplo (client-config.json):
{
"mcpServers": {
"mcp-server-echart": {
"url": "http://localhost:8989/sse"
}
}
}
Otro ejemplo (por ejemplo, para entornos de navegador):
{
"mcpServers": {
"browser-use-mcp-server": {
"url": "http://localhost:8000/sse"
}
}
}
Nota:
- La URL debe coincidir con
PORTyPUBLIC_URLconfigurados en el archivo.env.- El endpoint predeterminado para las invocaciones de la herramienta
mcp-goes/sse, no/.
Configuración del cliente (mediante comando Docker)
Si su cliente MCP admite iniciar servicios mediante comandos, también puede configurarlo para ejecutar directamente la imagen de Docker Hub. Esto gestiona el servicio como un subproceso, y el cliente se comunica con él a través de la entrada/salida estándar (stdin/stdout).
Esto es conveniente para el desarrollo local o para distribuir el servicio a otras personas.
Configuración de ejemplo (client-config.json):
{
"mcpServers": {
"mcp-server-echart-docker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-p",
"8989:8989",
"-e",
"PORT=8989",
"-e",
"PUBLIC_URL=http://localhost:8989",
"cnkanwei/mcp-server-echart:latest"
]
}
}
}
Nota:
-p 8989:8989mapea el puerto 8989 del contenedor al puerto 8989 del host, para que pueda ver los gráficos generados desde el navegador.cnkanwei/mcp-server-echart:latestes la imagen pública publicada en Docker Hub.
📜 Licencia
Este proyecto está bajo la Licencia MIT.