GitHub Stars
0
User Rating
Not Rated
Favorites
0
Views
22
Forks
0
Issues
0
README
Spark MCP Go Server
Um servidor Model Context Protocol (MCP) que executa código PySpark.
Estrutura do Projeto (Clean Code)
O projeto foi organizado seguindo princípios de Clean Code:
spark-mcp-go/
├── cmd/
│ └── server/ # Ponto de entrada alternativo
├── pkg/
│ ├── server/ # Configuração do servidor MCP
│ │ ├── config.go # Definições de configuração
│ │ └── env.go # Carregamento de variáveis de ambiente
│ ├── spark/ # Serviço de execução do Spark
│ │ ├── config.go # Configuração do Spark
│ │ ├── service.go # Implementação do serviço
│ │ └── service_test.go # Testes do serviço
│ └── tool/ # Definições de ferramentas MCP
│ └── spark.go # Definição da ferramenta Spark
├── .gitignore # Arquivos ignorados pelo Git
├── example.env # Exemplo de variáveis de ambiente
├── go.mod # Gerenciamento de dependências Go
├── go.sum # Lock file de dependências
├── main.go # Ponto de entrada principal
├── Makefile # Comandos para build, teste, etc.
├── README.md # Documentação do projeto
└── sample.py # Exemplo de código PySpark
Características
- Execução de código PySpark via spark-submit
- Implementação seguindo princípios de Clean Code
- Estrutura modular e organizada
- Interface JSON baseada no protocolo MCP
- Configuração via variáveis de ambiente
- Testes unitários e de integração
Configuração
O servidor pode ser configurado através de variáveis de ambiente. Veja example.env para todas as opções disponíveis.
Variáveis de Ambiente Principais:
SPARK_MASTER: Define o mestre do Spark (padrão: "local[*]")SPARK_SUBMIT_BIN: Caminho para o binário spark-submit (padrão: "spark-submit")SPARK_MCP_NAME: Nome do servidor (padrão: "Spark Local Executor 🚀")SPARK_MCP_VERSION: Versão do servidor (padrão: "1.0.0")
Como Usar
Compilação e Execução
# Instalar dependências
make install-deps
# Compilar o projeto
make build
# Executar o servidor
make run
# Ou diretamente com Go
go run main.go
Executando Testes
# Testes unitários
make test
# Testes de integração (requer Spark)
make integration-test
Exemplo
Veja o arquivo sample.py para um exemplo de código PySpark que pode ser executado através deste servidor.
Dependências
- PySpark e Spark instalados e configurados no ambiente
- Go 1.23 ou superior
Author Information
5
Followers
54
Repositories
10
Gists
0
Total Contributions