Giant Swarm App Platform
A server for managing Giant Swarm App Platform deployments using Kubernetes credentials.
MCP Server for Giant Swarm App Platform
An MCP (Model Context Protocol) server that provides tools and resources for managing Giant Swarm App Platform deployments.
Features
- App Management: Create, update, list, and delete Giant Swarm apps
- Catalog Support: Browse and search app catalogs and available app versions
- Configuration Management: Handle app configurations via ConfigMaps and Secrets
- Multi-namespace Support: Work with organization-based namespaces
- CAPI Integration: Support for workload cluster app deployments
- Prompts: Interactive guides for common operations
Prerequisites
- Go 1.21 or later
- Access to a Giant Swarm management cluster
- Kubernetes credentials configured (
kubectlaccess)
Installation
Prerequisites
- Go 1.21 or later
- Access to a Giant Swarm management cluster
- Valid kubeconfig for authentication
Building from Source
# 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
Usage
Running the Server
The server runs using stdio transport by default:
# Run directly
./build/mcp-giantswarm-apps
# Or if installed
mcp-giantswarm-apps
Configuration
The server uses your current kubeconfig context by default. You can specify a different context:
export KUBECONFIG=/path/to/kubeconfig
mcp-giantswarm-apps
Integration with AI Assistants
To use with Claude Desktop or other MCP-compatible clients, add to your configuration:
{
"mcpServers": {
"giantswarm-apps": {
"command": "mcp-giantswarm-apps",
"args": []
}
}
}
Available Tools
App Management
app_list- List Giant Swarm apps with filtering optionsapp_get- Get detailed information about a specific appapp_create- Create a new Giant Swarm appapp_update- Update an existing appapp_delete- Delete an app
Catalog Management
catalog_list- List available app catalogscatalog_get- Get detailed catalog informationcatalog_refresh- Refresh catalog entriescatalog_search- Search for apps across catalogs
App Catalog Entries
appcatalogentry_list- List apps from catalogsappcatalogentry_get- Get detailed app informationappcatalogentry_versions- List available versionsappcatalogentry_search- Search catalog entries
Configuration Management
config_get- Get app configurationconfig_create- Create new configurationconfig_update- Update configurationconfig_values- Get configuration values
Organization Management
organization_list- List organizationsorganization_namespaces- List organization namespacesorganization_info- Get namespace detailsorganization_validate_access- Check access permissions
Cluster Management (CAPI)
cluster_list- List available workload clusterscluster_get- Get detailed cluster informationcluster_apps- List apps deployed to a specific cluster
System Tools
health- Check server and connection healthkubernetes_contexts- List available contexts
Available Resources
The server exposes various resources:
app://{namespace}/{name}- App details and statuscatalog://{name}- Catalog informationconfig://{namespace}/{app}/values- App configuration
Usage Examples
List workload clusters
# 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
Deploy app to workload cluster
# 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
List apps in a workload cluster
# List all apps in a specific cluster
mcp cluster_apps --cluster prod-cluster --organization giantswarm
Development
Project Structure
.
├── 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
Running Tests
make test
Contributing
Please see CONTRIBUTING.md for guidelines.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Support
For issues and feature requests, please use the GitHub issue tracker.
Related Servers
Qovery
An MCP server for Qovery AI Copilot that enables deploying apps and managing Kubernetes on AWS, GCP, Azure, and On-Premise infrastructure with natural language
Bitpin Exchange
Interact with the Bitpin cryptocurrency exchange API to manage wallets, view market data, and execute orders.
Valhalla MCP Server
A server for the Valhalla routing engine, offering routing, isochrone, health, and tile services.
AI Image MCP Server
AI-powered image analysis using OpenAI's Vision API.
Salesforce MCP
Interact with Salesforce orgs securely and modularly using LLM-driven tools.
Spring AI Weather Server
An MCP server providing weather tools from the National Weather Service (weather.gov) API, built with Spring Boot.
Eyevinn Open Source Cloud
Interact with the Eyevinn Open Source Cloud API. Requires a Personal Access Token (OSC_ACCESS_TOKEN).
YouTube MCP
Manage YouTube videos, create Shorts, and get analytics using the YouTube API.
kubectl MCP Plugin
An MCP server for kubectl, enabling AI assistants to interact with Kubernetes clusters through a standardized protocol.
Azure Resource Graph MCP Server
Query and retrieve Azure resource information across subscriptions using Azure Resource Graph.