Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update docs about Kiali
Signed-off-by: Alberto Gutierrez <[email protected]>
  • Loading branch information
aljesusg committed Nov 5, 2025
commit 1d7541505359c4c4c9cd48d6bb7c572e274924fd
13 changes: 12 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ Enabling only the toolsets you need can help reduce the context size and improve

### Available Toolsets

The following sets of tools are available (all on by default):
The following sets of tools are available (all on by default).

<!-- AVAILABLE-TOOLSETS-START -->

Expand All @@ -213,9 +213,12 @@ The following sets of tools are available (all on by default):
| config | View and manage the current local Kubernetes configuration (kubeconfig) |
| core | Most common tools for Kubernetes management (Pods, Generic Resources, Events, etc.) |
| helm | Tools for managing Helm charts and releases |
| kiali | Most common tools for managing Kiali |

<!-- AVAILABLE-TOOLSETS-END -->

See more info about Kiali integration in [docs/KIALI_INTEGRATION.md](docs/KIALI_INTEGRATION.md).

### Tools

In case multi-cluster support is enabled (default) and you have access to multiple clusters, all applicable tools will include an additional `context` argument to specify the Kubernetes context (cluster) to use for that operation.
Expand Down Expand Up @@ -343,6 +346,14 @@ In case multi-cluster support is enabled (default) and you have access to multip

</details>

<details>

<summary>kiali</summary>

- **mesh_status** - Get the status of mesh components including Istio, Kiali, Grafana, Prometheus and their interactions, versions, and health status

</details>


<!-- AVAILABLE-TOOLSETS-TOOLS-END -->

Expand Down
44 changes: 44 additions & 0 deletions docs/KIALI_INTEGRATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
## Kiali integration

This server can expose Kiali tools so assistants can query mesh information (e.g., mesh status/graph).

### Enable the Kiali toolset

You can enable the Kiali tools via config or flags.

Config (TOML):

```toml
toolsets = ["core", "kiali"]

[kiali]
url = "https://kiali.example"
# insecure = true # optional: allow insecure TLS
```

Flags:

```bash
kubernetes-mcp-server \
--toolsets core,kiali \
--kiali-url https://kiali.example \
[--kiali-insecure]
```

When the `kiali` toolset is enabled, a Kiali URL is required. Without it, the server will refuse to start.

### How authentication works

- The server uses your existing Kubernetes credentials (from kubeconfig or in-cluster) to set a bearer token for Kiali calls.
- If you pass an HTTP Authorization header to the MCP HTTP endpoint, that is not required for Kiali; Kiali calls use the server's configured token.

### Available tools (initial)

- `mesh_status`: retrieves mesh components status from Kiali’s mesh graph endpoint.

### Troubleshooting

- Error: "kiali-url is required when kiali tools are enabled" → provide `--kiali-url` or set `[kiali].url` in the config TOML.
- TLS issues against Kiali → try `--kiali-insecure` or `[kiali].insecure = true` for non-production environments.


1 change: 1 addition & 0 deletions internal/tools/update-readme/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import (
_ "github.com/containers/kubernetes-mcp-server/pkg/toolsets/config"
_ "github.com/containers/kubernetes-mcp-server/pkg/toolsets/core"
_ "github.com/containers/kubernetes-mcp-server/pkg/toolsets/helm"
_ "github.com/containers/kubernetes-mcp-server/pkg/toolsets/kiali"
)

type OpenShift struct{}
Expand Down