Giant Swarm App Platform
Um servidor para gerenciar implantações do Giant Swarm App Platform usando credenciais Kubernetes.
Documentação
Servidor MCP para Giant Swarm App Platform
Um servidor MCP (Model Context Protocol) que fornece ferramentas e recursos para gerenciar implantações do Giant Swarm App Platform.
Recursos
- Gerenciamento de Apps: Criar, atualizar, listar e excluir apps do Giant Swarm
- Suporte a Catálogos: Navegar e pesquisar catálogos de apps e versões disponíveis
- Gerenciamento de Configuração: Lidar com configurações de apps via ConfigMaps e Secrets
- Suporte a Múltiplos Namespaces: Trabalhar com namespaces baseados em organizações
- Integração com CAPI: Suporte para implantações de apps em clusters de workload
- Prompts: Guias interativos para operações comuns
Pré-requisitos
- Go 1.21 ou posterior
- Acesso a um cluster de gerenciamento Giant Swarm
- Credenciais Kubernetes configuradas (acesso
kubectl)
Instalação
Pré-requisitos
- Go 1.21 ou posterior
- Acesso a um cluster de gerenciamento Giant Swarm
- kubeconfig válido para autenticação
Compilando a partir do código-fonte
# Clone the repository
git clone https://github.com/giantswarm/mcp-giantswarm-apps.git
cd mcp-giantswarm-apps
# Install dependencies
make deps
# Build the server
make build
# Install to $GOPATH/bin
make install
Uso
Executando o Servidor
O servidor é executado usando transporte stdio por padrão:
# Run directly
./build/mcp-giantswarm-apps
# Or if installed
mcp-giantswarm-apps
Configuração
O servidor usa o contexto kubeconfig atual por padrão. Você pode especificar um contexto diferente:
export KUBECONFIG=/path/to/kubeconfig
mcp-giantswarm-apps
Integração com Assistentes de IA
Para usar com Claude Desktop ou outros clientes compatíveis com MCP, adicione à sua configuração:
{
"mcpServers": {
"giantswarm-apps": {
"command": "mcp-giantswarm-apps",
"args": []
}
}
}
Ferramentas Disponíveis
Gerenciamento de Apps
app_list- Listar apps do Giant Swarm com opções de filtroapp_get- Obter informações detalhadas sobre um app específicoapp_create- Criar um novo app do Giant Swarmapp_update- Atualizar um app existenteapp_delete- Excluir um app
Gerenciamento de Catálogos
catalog_list- Listar catálogos de apps disponíveiscatalog_get- Obter informações detalhadas do catálogocatalog_refresh- Atualizar entradas do catálogocatalog_search- Pesquisar apps em todos os catálogos
Entradas de Catálogo de Apps
appcatalogentry_list- Listar apps dos catálogosappcatalogentry_get- Obter informações detalhadas do appappcatalogentry_versions- Listar versões disponíveisappcatalogentry_search- Pesquisar entradas do catálogo
Gerenciamento de Configuração
config_get- Obter configuração do appconfig_create- Criar nova configuraçãoconfig_update- Atualizar configuraçãoconfig_values- Obter valores de configuração
Gerenciamento de Organizações
organization_list- Listar organizaçõesorganization_namespaces- Listar namespaces de organizaçõesorganization_info- Obter detalhes do namespaceorganization_validate_access- Verificar permissões de acesso
Gerenciamento de Clusters (CAPI)
cluster_list- Listar clusters de workload disponíveiscluster_get- Obter informações detalhadas do clustercluster_apps- Listar apps implantados em um cluster específico
Ferramentas do Sistema
health- Verificar a saúde do servidor e da conexãokubernetes_contexts- Listar contextos disponíveis
Recursos Disponíveis
O servidor expõe vários recursos:
app://{namespace}/{name}- Detalhes e status do appcatalog://{name}- Informações do catálogoconfig://{namespace}/{app}/values- Configuração do app
Exemplos de Uso
Listar clusters de workload
# List all clusters
mcp cluster_list
# List clusters for an organization
mcp cluster_list --organization giantswarm
# List only ready clusters
mcp cluster_list --ready-only
Implantar app em cluster de workload
# Deploy app to a specific workload cluster
mcp app_create \
--name nginx-ingress \
--namespace org-giantswarm \
--catalog giantswarm \
--app nginx-ingress-controller \
--version 2.1.0 \
--cluster prod-cluster
Listar apps em um cluster de workload
# List all apps in a specific cluster
mcp cluster_apps --cluster prod-cluster --organization giantswarm
Desenvolvimento
Estrutura do Projeto
.
├── cmd/mcp-server/ # Main server entry point
├── pkg/
│ ├── app/ # App management logic
│ ├── catalog/ # Catalog handling
│ └── config/ # Configuration management
├── internal/
│ └── k8s/ # Kubernetes client utilities
└── Makefile # Build automation
Executando Testes
make test
Contribuindo
Consulte CONTRIBUTING.md para obter as diretrizes.
Licença
Este projeto é licenciado sob a Apache License 2.0 — consulte o arquivo LICENSE para obter detalhes.
Suporte
Para problemas e solicitações de recursos, use o rastreador de problemas do GitHub.