Skip to content

Commit 95fe725

Browse files
committed
Update docs about Kiali
Signed-off-by: Alberto Gutierrez <aljesusg@gmail.com>
1 parent 22ebe97 commit 95fe725

File tree

3 files changed

+62
-1
lines changed

3 files changed

+62
-1
lines changed

README.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ Enabling only the toolsets you need can help reduce the context size and improve
204204

205205
### Available Toolsets
206206

207-
The following sets of tools are available (all on by default):
207+
The following sets of tools are available (all on by default).
208208

209209
<!-- AVAILABLE-TOOLSETS-START -->
210210

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

217218
<!-- AVAILABLE-TOOLSETS-END -->
218219

220+
See more info about Kiali integration in [docs/KIALI_INTEGRATION.md](docs/KIALI_INTEGRATION.md).
221+
219222
### Tools
220223

221224
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.
@@ -244,6 +247,11 @@ In case multi-cluster support is enabled (default) and you have access to multip
244247

245248
- **projects_list** - List all the OpenShift projects in the current cluster
246249

250+
- **nodes_log** - Get logs from a Kubernetes node (kubelet, kube-proxy, or other system logs). This accesses node logs through the Kubernetes API proxy to the kubelet
251+
- `log_path` (`string`) - Path to the log file on the node (e.g. 'kubelet.log', 'kube-proxy.log'). Default is 'kubelet.log'
252+
- `name` (`string`) **(required)** - Name of the node to get logs from
253+
- `tail` (`integer`) - Number of lines to retrieve from the end of the logs (Optional, 0 means all logs)
254+
247255
- **pods_list** - List all the Kubernetes pods in the current cluster from all namespaces
248256
- `labelSelector` (`string`) - Optional Kubernetes label selector (e.g. 'app=myapp,env=prod' or 'app in (myapp,yourapp)'), use this option when you want to filter the pods by label
249257

@@ -331,6 +339,14 @@ In case multi-cluster support is enabled (default) and you have access to multip
331339

332340
</details>
333341

342+
<details>
343+
344+
<summary>kiali</summary>
345+
346+
- **mesh_status** - Get the status of mesh components including Istio, Kiali, Grafana, Prometheus and their interactions, versions, and health status
347+
348+
</details>
349+
334350

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

docs/KIALI_INTEGRATION.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
## Kiali integration
2+
3+
This server can expose Kiali tools so assistants can query mesh information (e.g., mesh status/graph).
4+
5+
### Enable the Kiali toolset
6+
7+
You can enable the Kiali tools via config or flags.
8+
9+
Config (TOML):
10+
11+
```toml
12+
toolsets = ["core", "kiali"]
13+
14+
[kiali]
15+
url = "https://kiali.example"
16+
# insecure = true # optional: allow insecure TLS
17+
```
18+
19+
Flags:
20+
21+
```bash
22+
kubernetes-mcp-server \
23+
--toolsets core,kiali \
24+
--kiali-url https://kiali.example \
25+
[--kiali-insecure]
26+
```
27+
28+
When the `kiali` toolset is enabled, a Kiali URL is required. Without it, the server will refuse to start.
29+
30+
### How authentication works
31+
32+
- The server uses your existing Kubernetes credentials (from kubeconfig or in-cluster) to set a bearer token for Kiali calls.
33+
- 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.
34+
35+
### Available tools (initial)
36+
37+
- `mesh_status`: retrieves mesh components status from Kiali’s mesh graph endpoint.
38+
39+
### Troubleshooting
40+
41+
- Error: "kiali-url is required when kiali tools are enabled" → provide `--kiali-url` or set `[kiali].url` in the config TOML.
42+
- TLS issues against Kiali → try `--kiali-insecure` or `[kiali].insecure = true` for non-production environments.
43+
44+

internal/tools/update-readme/main.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515
_ "github.com/containers/kubernetes-mcp-server/pkg/toolsets/config"
1616
_ "github.com/containers/kubernetes-mcp-server/pkg/toolsets/core"
1717
_ "github.com/containers/kubernetes-mcp-server/pkg/toolsets/helm"
18+
_ "github.com/containers/kubernetes-mcp-server/pkg/toolsets/kiali"
1819
)
1920

2021
type OpenShift struct{}

0 commit comments

Comments
 (0)