EChart Server
Um serviço Go que gera dinamicamente páginas de gráficos ECharts a partir de configurações JSON.
Documentação
mcp-server-echart
Um serviço Go construído com o framework mcp-go, que fornece uma ferramenta para gerar dinamicamente páginas de gráficos ECharts.
✨ Recursos
- Geração dinâmica de gráficos: Ao chamar a ferramenta e passar a configuração JSON do ECharts, uma página HTML independente de gráfico é gerada.
- Altamente configurável: Suporta personalização do título, largura e altura do gráfico.
- Página moderna: A página de gráfico gerada possui uma aparência limpa e moderna.
- Suporte a Docker: Fornece
Dockerfile, permitindo criar facilmente imagens Docker leves e portáteis. - Configuração flexível: Configure por meio de variáveis de ambiente ou do arquivo
.env, adaptando-se facilmente a diferentes ambientes.
🚀 Início Rápido
1. Pré-requisitos
2. Clonar e Configurar
Clone este repositório para o seu ambiente local:
git clone https://github.com/cnkanwei/mcp-server-echart.git
cd mcp-server-echart
Copie o modelo de arquivo de configuração e modifique conforme necessário:
cp .env.example .env
O arquivo .env contém os seguintes itens de configuração:
PORT: Porta de escuta do serviço (padrão:8989)PUBLIC_URL: Caminho raiz da URL exposta externamente (por exemplo,http://localhost:8989ouhttps://your.domain.com)LOG_LEVEL: Nível de log (por exemplo,info,debug)STATIC_DIR: Diretório onde os arquivos HTML estáticos gerados são armazenados (padrão:static)
3. Instalar Dependências
go mod tidy
📦 Como Executar
Executar Localmente
go run main.go
Após a inicialização do serviço, ele escutará na porta PORT configurada no arquivo .env (padrão: 8989).
Executar com Docker
-
Construir a imagem Docker:
docker build -t mcp-server-echart . -
Executar o contêiner 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 da Ferramenta
Este serviço fornece uma ferramenta chamada generate_echarts_page.
Parâmetros
title(string, obrigatório): Título da página do gráfico.inputSchema(objeto, obrigatório): Objeto de configuração JSON do ECharts.width(número, opcional): Largura do gráfico em pixels, padrão 800.height(número, opcional): Altura do gráfico em pixels, padrão 600.
Valor de Retorno
Após uma chamada bem-sucedida, a ferramenta retorna uma URL apontando para a página do gráfico recém-gerada.
💻 Como Usar
Este serviço pode ser chamado por qualquer cliente MCP que suporte Server-Sent Events (SSE).
Configuração do Cliente
Se o seu cliente MCP suportar conexão ao servidor por meio de arquivos de configuração, você pode adicionar a seguinte configuração para se conectar a este serviço.
Adicione mcp-server-echart à configuração do seu cliente e aponte a URL para o endereço de escuta deste serviço (padrão: http://localhost:8989/sse).
Exemplo de configuração (client-config.json):
{
"mcpServers": {
"mcp-server-echart": {
"url": "http://localhost:8989/sse"
}
}
}
Outro exemplo (por exemplo, para ambiente de navegador):
{
"mcpServers": {
"browser-use-mcp-server": {
"url": "http://localhost:8000/sse"
}
}
}
Observação:
- A URL deve ser consistente com o
PORTe oPUBLIC_URLconfigurados no arquivo.env.- O endpoint padrão para chamadas da ferramenta
mcp-goé/sse, não/.
Configuração do Cliente (via comando Docker)
Se o seu cliente MCP suportar iniciar o serviço por meio de comandos, você também pode configurá-lo para executar diretamente a imagem no Docker Hub. Isso gerencia o serviço como um subprocesso, e o cliente se comunica com ele por meio de entrada/saída padrão (stdin/stdout).
Isso é conveniente para desenvolvimento local ou para distribuir o serviço a outras pessoas.
Exemplo de configuração (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"
]
}
}
}
Observação:
-p 8989:8989mapeia a porta 8989 do contêiner para a porta 8989 do host, permitindo que você acesse os gráficos gerados pelo navegador.cnkanwei/mcp-server-echart:latesté uma imagem pública publicada no Docker Hub.
📜 Licença
Este projeto é licenciado sob a Licença MIT.