spark-mcp-go

Um servidor Model Context Protocol (MCP) que executa código PySpark.

GitHubスター

0

ユーザー評価

未評価

お気に入り

0

閲覧数

4

フォーク

0

イシュー

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