giantswarm/mcp-giantswarm-apps
If you are the rightful owner of mcp-giantswarm-apps and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
An MCP server designed for managing Giant Swarm App Platform deployments, providing tools and resources for efficient app management.
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 (
kubectl
access)
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 for guidelines.
License
This project is licensed under the Apache License 2.0 - see the file for details.
Support
For issues and feature requests, please use the GitHub issue tracker.