You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(kiali): consolidate kiali tools from 20 to 6 (#496)
* feat(kiali): Consolidate tools
Signed-off-by: Alberto Gutierrez <aljesusg@gmail.com>
* Address Marc comments
Signed-off-by: Alberto Gutierrez <aljesusg@gmail.com>
Co-authored-by: Marc Nuri <marc@marcnuri.com>
---------
Signed-off-by: Alberto Gutierrez <aljesusg@gmail.com>
Co-authored-by: Marc Nuri <marc@marcnuri.com>
Copy file name to clipboardExpand all lines: README.md
+26-99Lines changed: 26 additions & 99 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -348,92 +348,38 @@ In case multi-cluster support is enabled (default) and you have access to multip
348
348
349
349
<summary>kiali</summary>
350
350
351
-
-**kiali_graph** - Check the status of my mesh by querying Kiali graph
351
+
-**kiali_get_mesh_graph** - Returns the topology of a specific namespaces, health, status of the mesh and namespaces. Use this for high-level overviews
352
+
-`graphType` (`string`) - Type of graph to return: 'versionedApp', 'app', 'service', 'workload', 'mesh'. Default: 'versionedApp'
352
353
-`namespace` (`string`) - Optional single namespace to include in the graph (alternative to namespaces)
353
354
-`namespaces` (`string`) - Optional comma-separated list of namespaces to include in the graph
354
-
355
-
-**kiali_mesh_status** - Get the status of mesh components including Istio, Kiali, Grafana, Prometheus and their interactions, versions, and health status
356
-
357
-
-**kiali_istio_config** - Get all Istio configuration objects in the mesh including their full YAML resources and details
358
-
359
-
-**kiali_istio_object_details** - Get detailed information about a specific Istio object including validation and help information
360
-
-`group` (`string`) **(required)** - API group of the Istio object (e.g., 'networking.istio.io', 'gateway.networking.k8s.io')
361
-
-`kind` (`string`) **(required)** - Kind of the Istio object (e.g., 'DestinationRule', 'VirtualService', 'HTTPRoute', 'Gateway')
362
-
-`name` (`string`) **(required)** - Name of the Istio object
363
-
-`namespace` (`string`) **(required)** - Namespace containing the Istio object
364
-
-`version` (`string`) **(required)** - API version of the Istio object (e.g., 'v1', 'v1beta1')
365
-
366
-
-**kiali_istio_object_patch** - Modify an existing Istio object using PATCH method. The JSON patch data will be applied to the existing object.
367
-
-`group` (`string`) **(required)** - API group of the Istio object (e.g., 'networking.istio.io', 'gateway.networking.k8s.io')
368
-
-`json_patch` (`string`) **(required)** - JSON patch data to apply to the object
369
-
-`kind` (`string`) **(required)** - Kind of the Istio object (e.g., 'DestinationRule', 'VirtualService', 'HTTPRoute', 'Gateway')
370
-
-`name` (`string`) **(required)** - Name of the Istio object
371
-
-`namespace` (`string`) **(required)** - Namespace containing the Istio object
372
-
-`version` (`string`) **(required)** - API version of the Istio object (e.g., 'v1', 'v1beta1')
373
-
374
-
-**kiali_istio_object_create** - Create a new Istio object using POST method. The JSON data will be used to create the new object.
375
-
-`group` (`string`) **(required)** - API group of the Istio object (e.g., 'networking.istio.io', 'gateway.networking.k8s.io')
376
-
-`json_data` (`string`) **(required)** - JSON data for the new object
377
-
-`kind` (`string`) **(required)** - Kind of the Istio object (e.g., 'DestinationRule', 'VirtualService', 'HTTPRoute', 'Gateway')
378
-
-`namespace` (`string`) **(required)** - Namespace where the Istio object will be created
379
-
-`version` (`string`) **(required)** - API version of the Istio object (e.g., 'v1', 'v1beta1')
380
-
381
-
-**kiali_istio_object_delete** - Delete an existing Istio object using DELETE method.
382
-
-`group` (`string`) **(required)** - API group of the Istio object (e.g., 'networking.istio.io', 'gateway.networking.k8s.io')
383
-
-`kind` (`string`) **(required)** - Kind of the Istio object (e.g., 'DestinationRule', 'VirtualService', 'HTTPRoute', 'Gateway')
384
-
-`name` (`string`) **(required)** - Name of the Istio object
385
-
-`namespace` (`string`) **(required)** - Namespace containing the Istio object
386
-
-`version` (`string`) **(required)** - API version of the Istio object (e.g., 'v1', 'v1beta1')
387
-
388
-
-**kiali_validations_list** - List all the validations in the current cluster from all namespaces
389
-
-`namespace` (`string`) - Optional single namespace to retrieve validations from (alternative to namespaces)
390
-
-`namespaces` (`string`) - Optional comma-separated list of namespaces to retrieve validations from
391
-
392
-
-**kiali_namespaces** - Get all namespaces in the mesh that the user has access to
393
-
394
-
-**kiali_services_list** - Get all services in the mesh across specified namespaces with health and Istio resource information
-**kiali_manage_istio_config** - Manages Istio configuration objects (Gateways, VirtualServices, etc.). Can list (objects and validations), get, create, patch, or delete objects
358
+
-`action` (`string`) **(required)** - Action to perform: list, get, create, patch, or delete
359
+
-`group` (`string`) - API group of the Istio object (e.g., 'networking.istio.io', 'gateway.networking.k8s.io')
360
+
-`json_data` (`string`) - JSON data to apply or create the object
361
+
-`kind` (`string`) - Kind of the Istio object (e.g., 'DestinationRule', 'VirtualService', 'HTTPRoute', 'Gateway')
362
+
-`name` (`string`) - Name of the Istio object
363
+
-`namespace` (`string`) - Namespace containing the Istio object
364
+
-`version` (`string`) - API version of the Istio object (e.g., 'v1', 'v1beta1')
365
+
366
+
-**kiali_get_resource_details** - Gets lists or detailed info for Kubernetes resources (services, workloads) within the mesh
395
367
-`namespaces` (`string`) - Comma-separated list of namespaces to get services from (e.g. 'bookinfo' or 'bookinfo,default'). If not provided, will list services from all accessible namespaces
368
+
-`resource_name` (`string`) - Name of the resource to get details for (optional string - if provided, gets details; if empty, lists all).
369
+
-`resource_type` (`string`) - Type of resource to get details for (service, workload)
396
370
397
-
-**kiali_service_details** - Get detailed information for a specific service in a namespace, including validation, health status, and configuration
398
-
-`namespace` (`string`) **(required)** - Namespace containing the service
399
-
-`service` (`string`) **(required)** - Name of the service to get details for
400
-
401
-
-**kiali_service_metrics** - Get metrics for a specific service in a namespace. Supports filtering by time range, direction (inbound/outbound), reporter, and other query parameters
402
-
-`byLabels` (`string`) - Comma-separated list of labels to group metrics by (e.g., 'source_workload,destination_service'). Optional
403
-
-`direction` (`string`) - Traffic direction: 'inbound' or 'outbound'. Optional, defaults to 'outbound'
404
-
-`duration` (`string`) - Duration of the query period in seconds (e.g., '1800' for 30 minutes). Optional, defaults to 1800 seconds
405
-
-`namespace` (`string`) **(required)** - Namespace containing the service
406
-
-`quantiles` (`string`) - Comma-separated list of quantiles for histogram metrics (e.g., '0.5,0.95,0.99'). Optional
407
-
-`rateInterval` (`string`) - Rate interval for metrics (e.g., '1m', '5m'). Optional, defaults to '1m'
408
-
-`reporter` (`string`) - Metrics reporter: 'source', 'destination', or 'both'. Optional, defaults to 'source'
-`service` (`string`) **(required)** - Name of the service to get metrics for
411
-
-`step` (`string`) - Step between data points in seconds (e.g., '15'). Optional, defaults to 15 seconds
412
-
413
-
-**kiali_workloads_list** - Get all workloads in the mesh across specified namespaces with health and Istio resource information
414
-
-`namespaces` (`string`) - Comma-separated list of namespaces to get workloads from (e.g. 'bookinfo' or 'bookinfo,default'). If not provided, will list workloads from all accessible namespaces
415
-
416
-
-**kiali_workload_details** - Get detailed information for a specific workload in a namespace, including validation, health status, and configuration
417
-
-`namespace` (`string`) **(required)** - Namespace containing the workload
418
-
-`workload` (`string`) **(required)** - Name of the workload to get details for
419
-
420
-
-**kiali_workload_metrics** - Get metrics for a specific workload in a namespace. Supports filtering by time range, direction (inbound/outbound), reporter, and other query parameters
371
+
-**kiali_get_metrics** - Gets lists or detailed info for Kubernetes resources (services, workloads) within the mesh
421
372
-`byLabels` (`string`) - Comma-separated list of labels to group metrics by (e.g., 'source_workload,destination_service'). Optional
422
373
-`direction` (`string`) - Traffic direction: 'inbound' or 'outbound'. Optional, defaults to 'outbound'
423
-
-`duration` (`string`) - Duration of the query period in seconds (e.g., '1800' for 30 minutes). Optional, defaults to 1800 seconds
424
-
-`namespace` (`string`) **(required)** - Namespace containing the workload
374
+
-`duration` (`string`) - Time range to get metrics for (optional string - if provided, gets metrics; if empty, get default 1800s).
375
+
-`namespace` (`string`) **(required)** - Namespace to get resources from
425
376
-`quantiles` (`string`) - Comma-separated list of quantiles for histogram metrics (e.g., '0.5,0.95,0.99'). Optional
426
377
-`rateInterval` (`string`) - Rate interval for metrics (e.g., '1m', '5m'). Optional, defaults to '1m'
427
378
-`reporter` (`string`) - Metrics reporter: 'source', 'destination', or 'both'. Optional, defaults to 'source'
-`resource_name` (`string`) **(required)** - Name of the resource to get details for (optional string - if provided, gets details; if empty, lists all).
381
+
-`resource_type` (`string`) **(required)** - Type of resource to get details for (service, workload)
429
382
-`step` (`string`) - Step between data points in seconds (e.g., '15'). Optional, defaults to 15 seconds
430
-
-`workload` (`string`) **(required)** - Name of the workload to get metrics for
431
-
432
-
-**kiali_health** - Get health status for apps, workloads, and services across specified namespaces in the mesh. Returns health information including error rates and status for the requested resource type
433
-
-`namespaces` (`string`) - Comma-separated list of namespaces to get health from (e.g. 'bookinfo' or 'bookinfo,default'). If not provided, returns health for all accessible namespaces
434
-
-`queryTime` (`string`) - Unix timestamp (in seconds) for the prometheus query. If not provided, uses current time. Optional
-`type` (`string`) - Type of health to retrieve: 'app', 'service', or 'workload'. Default: 'app'
437
383
438
384
-**workload_logs** - Get logs for a specific workload's pods in a namespace. Only requires namespace and workload name - automatically discovers pods and containers. Optionally filter by container name, time range, and other parameters. Container is auto-detected if not specified.
439
385
-`container` (`string`) - Optional container name to filter logs. If not provided, automatically detects and uses the main application container (excludes istio-proxy and istio-init)
@@ -442,36 +388,17 @@ In case multi-cluster support is enabled (default) and you have access to multip
442
388
-`tail` (`integer`) - Number of lines to retrieve from the end of logs (default: 100)
443
389
-`workload` (`string`) **(required)** - Name of the workload to get logs for
444
390
445
-
-**kiali_app_traces** - Get distributed tracing data for a specific app in a namespace. Returns trace information including spans, duration, and error details for troubleshooting and performance analysis.
446
-
-`app` (`string`) **(required)** - Name of the app to get traces for
391
+
-**kiali_get_traces** - Gets traces for a specific resource (app, service, workload) in a namespace
447
392
-`clusterName` (`string`) - Cluster name for multi-cluster environments (optional)
448
393
-`endMicros` (`string`) - End time for traces in microseconds since epoch (optional)
449
394
-`limit` (`integer`) - Maximum number of traces to return (default: 100)
450
395
-`minDuration` (`integer`) - Minimum trace duration in microseconds (optional)
451
-
-`namespace` (`string`) **(required)** - Namespace containing the app
396
+
-`namespace` (`string`) **(required)** - Namespace to get resources from
397
+
-`resource_name` (`string`) **(required)** - Name of the resource to get details for (optional string - if provided, gets details; if empty, lists all).
398
+
-`resource_type` (`string`) **(required)** - Type of resource to get metrics for (app, service, workload)
452
399
-`startMicros` (`string`) - Start time for traces in microseconds since epoch (optional)
453
400
-`tags` (`string`) - JSON string of tags to filter traces (optional)
454
401
455
-
-**kiali_service_traces** - Get distributed tracing data for a specific service in a namespace. Returns trace information including spans, duration, and error details for troubleshooting and performance analysis.
456
-
-`clusterName` (`string`) - Cluster name for multi-cluster environments (optional)
457
-
-`endMicros` (`string`) - End time for traces in microseconds since epoch (optional)
458
-
-`limit` (`integer`) - Maximum number of traces to return (default: 100)
459
-
-`minDuration` (`integer`) - Minimum trace duration in microseconds (optional)
460
-
-`namespace` (`string`) **(required)** - Namespace containing the service
461
-
-`service` (`string`) **(required)** - Name of the service to get traces for
462
-
-`startMicros` (`string`) - Start time for traces in microseconds since epoch (optional)
463
-
-`tags` (`string`) - JSON string of tags to filter traces (optional)
464
-
465
-
-**kiali_workload_traces** - Get distributed tracing data for a specific workload in a namespace. Returns trace information including spans, duration, and error details for troubleshooting and performance analysis.
466
-
-`clusterName` (`string`) - Cluster name for multi-cluster environments (optional)
467
-
-`endMicros` (`string`) - End time for traces in microseconds since epoch (optional)
468
-
-`limit` (`integer`) - Maximum number of traces to return (default: 100)
469
-
-`minDuration` (`integer`) - Minimum trace duration in microseconds (optional)
470
-
-`namespace` (`string`) **(required)** - Namespace containing the workload
471
-
-`startMicros` (`string`) - Start time for traces in microseconds since epoch (optional)
472
-
-`tags` (`string`) - JSON string of tags to filter traces (optional)
473
-
-`workload` (`string`) **(required)** - Name of the workload to get traces for
474
-
475
402
</details>
476
403
477
404
@@ -492,4 +419,4 @@ Compile the project and run the Kubernetes MCP server with [mcp-inspector](https
492
419
make build
493
420
# Run the Kubernetes MCP server with mcp-inspector
0 commit comments