DBHub MCP
DBHub is a database MCP server for Postgres, MySQL, SQL Server, Oracle, MariaDB and SQLite, and it describes itself as token conscious.
- MCP server
bytebase · 3,759 stars
MCP server
MCP server published on npm as kubernetes-mcp-server. Transports: stdio, streamable-http. Maintained in containers/kubernetes-mcp-server.
Checked 2026-10-31
claude mcp add kubernetes -- npx -y kubernetes-mcp-servercodex mcp add kubernetes -- npx -y kubernetes-mcp-servergemini mcp add kubernetes npx -y kubernetes-mcp-serverCommands come from the project's own docs or registry entry. Check them against the source before you run them.
Loading poll...
The Kubernetes MCP server, maintained under the containers organisation on GitHub, lets an agent work with Kubernetes and OpenShift clusters. It is a native Go program that calls the cluster API directly, so it needs no kubectl or helm. It is Apache-2.0 licensed. Turn on read_only and deny Secrets before you connect it to anything real. We checked it on 31 October 2026.
Maintainer |
|
License | Apache-2.0 |
Language | Go; ships as native binaries for Linux, macOS and Windows |
Packages | npm |
Transport | stdio by default; HTTP mode with OAuth/OIDC options |
Auth | Your kubeconfig or in-cluster ServiceAccount; OAuth/OIDC (Keycloak, Microsoft Entra ID) in HTTP mode |
Toolsets on by default |
|
Optional toolsets | Helm, Tekton, KubeVirt, Kiali, kcp, NetObserv, and observability for logs, metrics, traces and OpenTelemetry Collector |
Latest release | v0.1.1, 29 Oct 2026 |
Repo last pushed | 30 Oct 2026 |
Price | Free |
Needs | Access to a cluster. No Node or Python if you use the binary |
A note on versioning. The repo tagged v0.0.69 on 23 October and then v0.1.0 and v0.1.1 on 29 October, so it is a fast-moving project in 0.x numbering. Pin a version if you build a workflow on it.
Most people run Kubernetes through kubectl. An agent with a shell can do the same, but it composes strings, parses text output and carries your full shell rights. This server gives the agent typed tools that call the API server directly, and lets you fence them by toolset, read-only mode and denied resources.
The README leans on this point: it is not a wrapper around the command-line tools. It talks to the API itself, which makes it faster and means nothing else has to be installed. The README does not describe how listings are formatted for the model.
The server groups tools into toolsets and enables only some by default. That is a useful design: a smaller tool list costs less context and exposes less.
Toolset | Covers | On by default |
|---|---|---|
| View the kubeconfig, list contexts and targets | Yes |
| Pods, any resource, events, namespaces, nodes, OpenShift projects | Yes |
| Install, list and uninstall Helm releases | No |
| Pipelines, PipelineRuns, Tasks, TaskRuns and troubleshooting | No |
| Virtual machine management | No |
| Service mesh tools through Kiali | No |
| kcp workspaces and multi-tenancy | No |
| Network flows and metrics through the NetObserv console plugin | No |
| Loki log queries | No |
| Prometheus and Alertmanager queries | No |
| Tempo trace search | No |
| OpenTelemetry Collector configuration help | No |
Tool | What it does |
|---|---|
| Find and read pods |
| Read pod logs |
| Pod resource usage |
| Run a command inside a pod |
| Run a container image in a pod, optionally exposing it |
| Delete a pod |
| Read any resource kind |
| Create or change any resource |
| Delete any resource |
| Scale a workload |
| List the resource kinds the cluster serves |
| Events, with field selectors and paging |
| Namespaces and OpenShift projects |
| Node logs and usage |
Paging deserves a mention. Event and list tools take limit and continue arguments, and the server has a max_backend_response_bytes limit, so listing everything in a busy cluster can fail. The tool descriptions tell the model to retry with a smaller limit. That is a sensible guard for large clusters.
The server also publishes prompts. One in the core set is cluster-health-check, which does a health assessment of a cluster, optionally limited to a namespace.
This is our suggested flow, built from the tool list. We did not run it. Say a deployment in the shop namespace keeps restarting.
pods_list_in_namespace for shop and sees one pod in CrashLoopBackOff.events_list with a field selector like involvedObject.name=<pod> shows the warnings: failed probes, an out-of-memory kill or an image pull error. This is the cheapest evidence, so it comes first.pods_log returns the last lines from the crashed container. Ask the agent to quote the first error, not summarise the whole log.pods_top shows whether memory is near its limit, which fits an out-of-memory story.resources_get on the Deployment shows the limits, probes and image tag.resources_create_or_update, and on a read-only setup it simply is not there, which is how you want to learn.Every step in that list is a read. That is the main argument for starting in read-only mode: most of the value in cluster work with an agent is diagnosis, and diagnosis never needs write rights. When you do turn writes on, do it in a dev namespace, with a Role that allows only the verbs and kinds the change needs, and keep the agent's proposed YAML in a pull request or ticket so a person reviews it before it lands.
One more habit for busy clusters: ask the agent to name the namespace in every tool call it explains. A forgotten namespace argument on a list tool means "all namespaces", which is slow and returns far more than you want in the model's context.
You need access to a cluster. Run the server by one of three routes:
npx kubernetes-mcp-server@latest --help
uvx kubernetes-mcp-server@latest --help
./kubernetes-mcp-server --help # a release binaryThe README's entry for Claude Desktop and Cursor:
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["-y", "kubernetes-mcp-server@latest"]
}
}
}It also documents VS Code and VS Code Insiders (a one-click link and a command), Goose CLI, and a dedicated Claude Code guide in its docs folder. For a production-style setup with a dedicated ServiceAccount and read-only access, the README points to a Kubernetes setup guide.
Lines below for agents without a documented entry are our adaptation from each agent's MCP docs.
The README refers to a dedicated Claude Code guide. Our adaptation of the stdio entry:
claude mcp add kubernetes -- npx -y kubernetes-mcp-server@latest --config ~/.config/k8s-mcp/config.tomlWrite the TOML file first (see below), so the agent starts read-only.
Our adaptation, in ~/.codex/config.toml:
[mcp_servers.kubernetes]
command = "npx"
args = ["-y", "kubernetes-mcp-server@latest", "--config", "/Users/you/.config/k8s-mcp/config.toml"]The README's mcpServers entry above works in .cursor/mcp.json. Add the --config argument to start with your TOML file.
Our adaptation. Add the stdio entry under mcpServers in ~/.gemini/config/mcp_config.json using command and args. If you run the server in HTTP mode, Antigravity's serverUrl field takes the URL, and Antigravity's docs say it handles OAuth automatically for servers that support dynamic client registration. We did not test that against this server. Gemini CLI is now for Code Assist enterprise customers only.
Our adaptation, in opencode.json:
{
"mcp": {
"kubernetes": {
"type": "local",
"command": ["npx", "-y", "kubernetes-mcp-server@latest", "--config", "/Users/you/.config/k8s-mcp/config.toml"]
}
}
}The README says runtime settings are in TOML (or existing environment variable names), not command-line flags. The CLI takes --version, --config (a file, or - to read stdin in HTTP mode) and --config-dir (a directory of .toml drop-ins).
The README's own example:
log_level = 2
read_only = true
toolsets = ["core", "config", "helm", "kubevirt"]
# Deny access to sensitive resources
[[denied_resources]]
group = ""
version = "v1"
kind = "Secret"
[telemetry]
endpoint = "http://localhost:4317"What each part does:
helm if the agent should not install charts.The configuration reference also covers dynamic reload on SIGHUP, custom prompts and OAuth/OIDC setup for HTTP mode.
Kubernetes access is the clearest case for layers, because mistakes are expensive. The server gives you two of them. Kubernetes itself gives you the third.
read_only, a short toolsets list and denied_resources.get, list and watch on what the agent needs. The README's Kubernetes guide covers a dedicated ServiceAccount with read-only access.If layer one fails, layers two and three still hold. That is the point of having them.
denied_resources.read_only exposes only tools annotated readOnlyHint=true; it does not say whether pods_exec carries that hint, so check the tool list after you turn it on.helm_install can pull any chart you name. Leave the toolset off unless you need it.context argument. Make sure a prod context is not reachable by accident, or trim your kubeconfig for the agent.Option | Use it when | Page |
|---|---|---|
| You want everything and trust the agent and the credentials | Built in to the agent |
Docker MCP | You work with containers on one host, not a cluster | |
Cloudflare MCP | You deploy to Workers, not Kubernetes | |
AWS MCP servers | You run EKS and want AWS-side tools | |
Datadog MCP | You want metrics and incidents from Datadog |
Other Kubernetes MCP servers exist; the README names a set of "validated Kubernetes ecosystem projects" built on this one. A separate project, Flux159/mcp-server-kubernetes, is not archived and had a push on 26 October 2026. See our MCP server list for more.
We did not run this server for this page. This comes from the README and the repo data.
We like the design choices: a native client instead of a shell wrapper, toolsets that load only on request, read-only mode, a way to deny whole resource kinds, and a README that points to a ServiceAccount setup. For incident work it fits well. Reading events, logs and pod state is exactly the diagnosis loop an agent can speed up, and none of that needs write access.
The caution is the usual one for any cluster tool. The server's switches are good, but RBAC is the line you can trust, so build the ServiceAccount first. Treat pods_exec and the generic create tool as the sharp edges, and keep a prod context out of the kubeconfig the agent sees.
read_only = true, a short toolsets list and Secrets denied.--config.It lets an agent list, read, create, change and delete Kubernetes and OpenShift resources, read pod logs, exec into pods and manage Helm releases, by talking to the cluster API directly.
No. It is a Go program that calls the Kubernetes API server itself. It does not wrap kubectl or helm.
Set read_only = true in its TOML config file. You can also deny whole resource kinds, such as Secrets, with denied_resources.
Those in your kubeconfig, or the in-cluster config. Multi-cluster support is on by default, and tools gain a context argument when you have several clusters.
Only config and core. Helm, Tekton, KubeVirt, Kiali and observability toolsets are off until you enable them.
DBHub is a database MCP server for Postgres, MySQL, SQL Server, Oracle, MariaDB and SQLite, and it describes itself as token conscious.
bytebase · 3,759 stars
This GitLab server exposes 277 tools through the REST and GraphQL APIs, covering projects, merge requests, issues, pipelines and wikis.
zereight · 2,079 stars
Container Use, from Dagger, gives coding agents their own development environments so several can work safely and independently on your preferred stack.
dagger · 4,082 stars
Claude Code Action runs Claude inside GitHub workflows, so it can respond to pull requests and issues.
Anthropic · 9,721 stars
Checked 2026-10-31
Checked 2026-10-31
Checked 2026-10-31
Checked 2026-10-31
Checked 2026-10-31
Tried it with one of these? Vote below: works for me, or not.
It lets an agent list, read, create, change and delete Kubernetes and OpenShift resources, read pod logs, exec into pods and manage Helm releases, by talking to the cluster API directly.
No. It is a Go program that calls the Kubernetes API server itself. It does not wrap kubectl or helm.
Set read_only = true in its TOML config file. You can also deny whole resource kinds, such as Secrets, with denied_resources.
Those in your kubeconfig, or the in-cluster config. Multi-cluster support is on by default, and tools gain a context argument when you have several clusters.
Only config and core. Helm, Tekton, KubeVirt, Kiali and observability toolsets are off until you enable them.
Loading poll...
Loading reviews…
Only members can review this page. Sign in
Browser Use is an open-source Python library for AI browser agents, and our entry covers its MCP route.
browser-use · 119,597 stars
Scrapling is a Python web scraping framework from D4Vinci, described on GitHub as handling everything from a single request to a full-scale crawl, and this entry is its MCP server.
D4Vinci · 90,477 stars
Netdata is an observability platform, and this entry is its hosted MCP endpoint at app.netdata.cloud, reached over streamable HTTP.
netdata · 81,227 stars
Claude Flow is published on npm as claude-flow, and its repository now sits at ruvnet/ruflo, which the GitHub description calls the original agent harness for deploying multi-agent swarms and coordinating autonomous workflows.
ruvnet · 80,298 stars
Context7 is an MCP server from Upstash that serves up-to-date library documentation to coding agents, so the model reads current docs instead of guessing from training data.
upstash · 63,974 stars
MCP server published on npm as chrome-devtools-mcp. Transports: stdio. Maintained in ChromeDevTools/chrome-devtools-mcp.
ChromeDevTools · 54,503 stars
The all-in-one WordPress community stack
Also ours: wbcomdesigns.comvapvarun.combrndle.com