Skip to main content
Glama
670,016 tools. Updated 2026-10-17 13:20

"K3s" matching MCP tools:

  • Repair one Kubernetes node of an Ankra-provisioned cluster (Hetzner, OVH, UpCloud, DigitalOcean, or Scaleway) at the OS level over SSH-via-bastion: restarts the node's Kubernetes service unit (k3s / k3s-agent / kubelet) wrapped in Ankra's node-recovery engine, which classifies the failure and applies the matched curated fix (clear a failed unit, extend a start timeout, kill stale listeners, unblock the apiserver firewall, re-bootstrap the kubelet), verifies, and retries once. This is a privileged, not-cleanly-reversible action on a production node and briefly disrupts its workloads, so it requires confirmation. It does NOT run arbitrary commands - only the curated recovery plan. Always call ssh_diagnose_node first to confirm the node is broken at the OS level (not merely unreachable via bastion, which a node reboot - restart_node - addresses instead). Identify the node with node_id (preferred) or node_name. Not available for imported or managed-Kubernetes clusters, nor (yet) Proxmox/HPE Morpheus.
    Connector
    Destructive
    OAuth
  • Create and provision a new self-managed Kubernetes cluster on AWS EC2: k3s or kubeadm on Ubuntu instances reached through a bastion host, with the AWS cloud controller manager, the EBS CSI driver and an NLB-fronted ingress installed. By default Ankra creates the network: a VPC from network_ip_range (default 10.0.0.0/16) with a public /24 and a private /20 per availability zone, an internet gateway and NAT gateways (egress_mode nat_gateway), all torn down with the cluster; omit vpc_id for this and, unless the user names availability_zones, the preflight picks one zone (three when control_plane_count is 3 or more). To adopt an existing VPC instead, pass vpc_id with at least one private node subnet (node_subnet_ids) and a public bastion subnet (bastion_subnet_id); Ankra never modifies an adopted VPC's network. Requires an AWS credential, an SSH key credential, a region and the IPv4 CIDRs allowed to SSH to the bastion. Use list_provider_credentials with provider='aws' and provider='ssh-key' to find the credential ids. There is no chat-side VPC or subnet listing: when adopting, take the vpc_id, node_subnet_ids and bastion_subnet_id from the user (or the AWS console) and confirm with them, before proposing, that every subnet belongs to that VPC and region, the node subnets are private, and the bastion subnet routes to an internet gateway - the same checks the create's preflight enforces. The create runs that preflight first (credential scope; for a created network the CIDR plan, the zones and the VPC / NAT-gateway / elastic-IP quotas, for an adopted VPC the VPC and subnet facts and egress routes; instance-type availability, service quotas) and refuses with every failing item when it cannot proceed; nothing is written on refusal. Instance types are EC2 names (e.g. 't3.medium', 'm6i.large'). Managed EKS creation is create_managed_cluster, not this tool. Only available to organisations with AWS self-managed provisioning enabled.
    Connector
    Destructive
    OAuth
  • Create and provision a new self-managed Kubernetes cluster on Ankra Cloud: k3s or kubeadm on Ankra Cloud servers in one zone, reached through a bastion server that holds the cluster's one public IPv4. Ankra creates a private network (or adopts private_network_id), a router with NAT for the nodes' egress and a firewall that admits only the private network to the nodes; the Ankra Cloud cloud controller manager is always installed. The organisation's built-in Ankra Cloud credential is used unless credential_id names a stored one (list_provider_credentials with provider='ankracloud'). Zones and plans come from list_managed_k8s_options with provider='ankracloud_k8s': its locations are the zones and its node sizes are the plans, with monthly prices. The create runs a preflight first (credential, billing standing of the built-in account, zone offers compute, every plan and the template exist, an adopted network lives in the zone, quota) and refuses with every failing item when it cannot proceed; nothing is written on refusal. A managed Ankra Cloud Kubernetes cluster (Ankra Cloud runs the control plane) is create_managed_cluster with provider='ankracloud_k8s', not this tool. Only available to organisations with Ankra Cloud enabled.
    Connector
    Destructive
    OAuth
  • Import an EXISTING Kubernetes cluster into Ankra - any distribution, any provider, anywhere (EKS, GKE, AKS, k3s, kind, on-premises). This is how a cluster that already runs is brought under Ankra management, and it is NOT the same as the create_*_cluster / create_managed_cluster tools, which provision brand-new billable cloud infrastructure. Use this one whenever the user says import, onboard, connect, add, or bring in a cluster they already have. Two steps by design: this call registers the cluster and returns import_command, the command that installs the Ankra Agent; the operator then runs it against that cluster's kubeconfig, because Ankra has no route into a cluster it has not met. The cluster reports 'offline' until the agent checks in. Only onboards NEW clusters - a name that already exists is refused rather than reconfigured. It does not connect a GitOps repository; use connect_gitops_repository afterwards for that.
    ConnectorOAuth
  • Diagnose one Kubernetes node of an Ankra-provisioned cluster (Hetzner, OVH, UpCloud, DigitalOcean, or Scaleway) at the OS level over SSH-via-bastion, for failures below the Kubernetes layer that kubectl-style tools cannot see: a NotReady node whose kubelet stopped posting status, a node the reconcile history reports as ssh_unreachable, a crash-looping k3s/kubelet service. Returns a read-only diagnostics snapshot (systemd unit state, recent journal, kubectl node view, network and listener state, apiserver firewall drops) plus any node-recovery symptoms detected. If the node cannot be reached over SSH at all, the report instead carries a path_diagnosis naming the hop that failed (bastion or node), the cause class (connect_timeout, connection_refused, no_route, auth_rejected, handshake_failed, tunnel_prohibited, ...) and the verbatim dial error - use it to tell a dead bastion from a dead node from a rejected SSH key before recommending anything. Hetzner diagnoses of an unreachable node additionally include a firewall_inspection: which Hetzner Cloud Firewalls are applied to the bastion and node servers and whether they admit inbound TCP 22 (these firewalls filter the public interface only, so they can block the platform's hop to the bastion but never the private bastion-to-node hop). Runs nothing that changes the node. Identify the node with node_id (preferred, from list_cluster_nodes) or node_name; the bastion/gateway has no kubelet - use diagnose_bastion for it. Use this before ssh_repair_node. Not available for imported or managed-Kubernetes clusters, nor (yet) Proxmox/HPE Morpheus.
    ConnectorOAuth
  • Stop an Ankra-provisioned self-managed cluster (Hetzner, OVH, UpCloud, DigitalOcean, Scaleway, AWS, Proxmox VE, or HPE Morpheus). On Hetzner, OVH, UpCloud, DigitalOcean, Proxmox VE and Morpheus a stop TERMINATES every VM of the cluster at the provider (control planes, workers, bastion/gateway); on Scaleway and AWS the servers are instead powered off and kept with their volumes (etcd and the cluster's state survive; retained storage, gateway and IPs remain billable). On the terminating providers the platform first captures the cluster's state - an encrypted etcd snapshot uploaded to the organisation's backup vault - and tears the VMs down only once it is stored (k3s and kubeadm clusters on Hetzner, OVH, UpCloud, DigitalOcean, Proxmox VE and Morpheus); start_cluster then restores it so Secrets, ConfigMaps, custom resources and PersistentVolume/Claim bindings come back and StatefulSets reattach their existing cloud disks. preserve_state=false skips the capture (data on the VMs' disks is then destroyed; only the cluster's Ankra configuration is preserved and start_cluster re-provisions from it); preserve_state=true refuses a stop whose state cannot be captured. Cloud block volumes are never deleted by a stop. mode 'pause' (k3s on Hetzner, UpCloud and DigitalOcean) instead powers the servers off and keeps them with their disks, exactly like a Scaleway or AWS stop: etcd, local data and the nodes' identities survive and start_cluster powers them back on, at the price of compute and storage still billing while paused - offer it when the user wants a short stop with everything intact, and the default teardown when they want to stop paying for the VMs. Use before change_control_plane on a single-controller cluster (a 3-controller cluster resizes live without stopping). Confirm with the user before calling.
    Connector
    Destructive
    OAuth

Matching MCP Servers

Matching MCP Connectors

  • List the Kubernetes versions the platform currently knows from its upstream version catalog, synced daily from the official kubernetes/kubernetes and k3s release feeds. Returns, per engine (kubeadm = upstream Kubernetes, k3s = the k3s distribution), the latest released version, the platform's conservative default install version (stable_version: newest patch of the previous minor), the supported minor channels (three newest), the recent patch versions per channel with publish dates, and when the catalog last changed. ALWAYS call this before answering any question about the latest, current, or supported Kubernetes/k3s versions, and before picking a version for cluster create or upgrade - never answer version questions from training memory. For upstream details the catalog does not carry (EOL dates, release notes), follow up with web_fetch on kubernetes.io/releases.
    ConnectorOAuth
  • HTTP status and content type for a public URL. Body discarded.
    ConnectorNo auth
  • List the Kubernetes (K3s/Talos) clusters in a region with status, version, node pools, API endpoint and installed applications. Paginated: {page, per_page, pages, items}. Kubeconfigs are redacted. Civo: GET /v2/kubernetes/clusters.
    ConnectorNo auth
  • Account-wide or per-project stats for debugging: live CPU/mem vs the plan caps (Free: 256 MB / 0.2 CPU, Plus: 512 MB / 1 CPU) and deploy history. Omit `project` for all of the caller's projects; pass a project id or slug NaNalso returns `resources.history` — per-project CPU/mem time series over the window (sampled every ~30 s on the k3s platform; absent on stacks without the metrics collector).
    ConnectorNo auth
  • Find a public pay-per-call tool gateway (Monid). Follow start_here.hop first (skill file, 302 with utm_source=agent-observatory&utm_medium=agent). Also returns docs, CLI, and remote MCP hops. Task text discarded.
    ConnectorNo auth
  • Find a living people-search index (Ploid). Follow start_here.hop (302 with utm_source=agent-observatory&utm_medium=agent). Returns CLI setup, docs, API, and remote MCP hops. Query text discarded.
    ConnectorNo auth