174 Commits

Author SHA1 Message Date
Eran Cohen
2994699504 feat: add label selectors to listing tools
This PR introduces the ability to filter Kubernetes resources by label using a labelSelector parameter for the following tools:

 * pods_list
 * pods_list_in_namespace
 * resources_list

This enhancement allows users to retrieve a more specific set of resources based on their labels, improving the flexibility and utility of these tools.

The labelSelector parameter accepts standard Kubernetes label selector syntax, such as app=myapp,env=prod or app in (myapp,yourapp).

Signed-off-by: Eran Cohen <eranco@redhat.com>
2025-05-20 16:34:53 +02:00
Marc Nuri
e0fe25af3c test: add concurrency to OpenShift env setup 2025-05-16 13:14:22 +02:00
Marc Nuri
6c51c9d9e6 test(profiles): test default profile is full 2025-05-16 12:54:41 +02:00
Marc Nuri
d26f896a8e fix(profiles): --help not working after adding viper support 2025-05-16 12:46:28 +02:00
Marc Nuri
20cb33130a test: openshift environment using hooks 2025-05-16 11:49:55 +02:00
Marc Nuri
1f00601f43 test(profiles): bootstrap initial testing support for profiles 2025-05-16 11:30:14 +02:00
Marc Nuri
1f22f5b23f feat(profiles): bootstrap initial support for profiles 2025-05-15 16:55:08 +02:00
Marc Nuri
6afb60f73a feat(helm): support for helm uninstall 2025-05-15 14:53:07 +02:00
Marc Nuri
22669e72be feat(helm): initial support for helm install 2025-05-12 18:15:30 +02:00
Marc Nuri
0284cdce29 refactor(helm): rename some list function 2025-05-12 09:50:54 +02:00
Marc Nuri
b4928f8230 refactor(helm): adapt Helm contribution to project structure 2025-05-10 07:04:30 +02:00
bussyjd
34eabdef13 feat(helm): share kubeconfig/context/namespace with Hel 2025-05-10 07:04:30 +02:00
bussyjd
91dec084f3 feat(helm): initial integration for listing releases 2025-05-10 07:04:30 +02:00
Andre Dietisheim
bcd7712d30 fix: use KUBECONFIG or explicitly given kubeconfig file (#67)
Signed-off-by: Andre Dietisheim <adietish@redhat.com>
2025-05-05 14:44:14 +02:00
Marc Nuri
37d7175cd6 feat(pods): pods_exec supports specifying container
Allows to specify the container where the command will be executed.
Additionally, prevents the command from failing in pods with multiple
containers when the container is not specified (defaults to first).
2025-04-26 07:02:26 +02:00
Marc Nuri
6bbe5e0a9a test: disable config test on windows 2025-04-19 10:06:13 +02:00
Marc Nuri
fa5bb81fe5 feat(kubernetes): added --kubeconfig flag option 2025-04-19 10:01:41 +02:00
Marc Nuri
7cb6e9b7b4 feat: print error message instead of panic 2025-04-17 15:30:43 +02:00
Marc Nuri
79b0f2805c build(deps): bump github.com/mark3labs/mcp-go from 0.20.1 to 0.21.0 2025-04-17 07:21:25 +02:00
Karel Suta
ec82de1712 feat: add optional container parameter for pods_log tool 2025-04-11 13:39:18 +02:00
Marc Nuri
e8722663b5 fix: add timeout for IsOpenShift operation 2025-04-10 14:54:18 +02:00
Marc Nuri
7b9b59a7bc feat: add log trace for server starting 2025-04-10 13:36:08 +02:00
Marc Nuri
8c80cfebab refactor(configuration): prepare for additional tools depending on environment 2025-04-08 09:22:58 +02:00
Marc Nuri
b3f38444ec feat: added nodes to generic resources 2025-04-08 09:22:58 +02:00
Marc Nuri
a276dc20a9 build(deps): bump github.com/mark3labs/mcp-go from 0.16.0 to 0.18.0 2025-04-07 11:12:03 +02:00
Marc Nuri
bea026a13e test: support for 1.24 toolchain 2025-03-31 09:45:41 +02:00
Marc Nuri
fafdf9af5d feat: enable initial support for logging
Closes #32
2025-03-31 09:23:52 +02:00
Marc Nuri
2a11784688 refactor: Kubernetes struct init 2025-03-30 19:30:05 +02:00
Marc Nuri
cbf0299e97 test: pods_exec tests executed from mcp client 2025-03-30 19:25:31 +02:00
Marc Nuri
8dc7160ff0 test: don't use fake clientset 2025-03-30 18:57:33 +02:00
Marc Nuri
61289cf1df test: initial approach to pods_exec 2025-03-30 10:03:50 +02:00
Marc Nuri
b08fe66d56 fix: InClusterConfig uses kubernetes.default.svc as host 2025-03-28 15:38:11 +01:00
Marc Nuri
d5cacb9527 feat: pods_exec minimal implementation 2025-03-28 10:49:21 +01:00
Marc Nuri
72ede2ea10 test: wait for CRD deletion 2025-03-27 19:03:54 +01:00
Marc Nuri
3b60f5dfc1 fix: namespaces_list always available 2025-03-27 17:09:43 +01:00
Marc Nuri
d74398f85b feat: support for listing namespaces and OpenShift projects 2025-03-27 16:50:13 +01:00
Marc Nuri
bf552fe14b fix: ignore config view flatten errors (not available files, etc.) 2025-03-27 06:59:47 +01:00
Marc Nuri
50277ce954 feat: configuration minification is optional 2025-03-27 06:50:14 +01:00
Marc Nuri
a98e69102c feat: watch for configuration changes
Watch kube config files for changes.
Automatically reload kubernetes client and list of tools.

Useful for logins or context changes after an MCP session has started.
2025-03-21 18:05:41 +01:00
Marc Nuri
c9def7dd46 refactor: tools dependent on client config 2025-03-21 15:35:37 +01:00
Marc Nuri
32b388aab3 feat: configuration view works in cluster 2025-03-21 14:57:41 +01:00
Marc Nuri
9248c5d734 feat: support for kubernetes events 2025-03-21 10:55:43 +01:00
Marc Nuri
cb8e402113 fix: missing update in CLI help 2025-03-20 07:15:15 +01:00
Marc Nuri
b0cd15e7ae feat!: base-url is optional
BREAKING CHANGE:
mandatory `sse-public-host` CLI option has been renamed to `sse-base-url`
and is now optional.

Users are expected to provide it using the port if necessary:
--sse-base-url http://localhost:8080
2025-03-20 07:02:07 +01:00
Marc Nuri
3cc4f32ca0 build(deps): bump github.com/mark3labs/mcp-go from 0.11.2 to 0.14.1 2025-03-20 06:38:31 +01:00
Marc Nuri
eacdb95fec feat: SSE support 2025-03-09 07:23:57 +01:00
Marc Nuri
39d21d77b0 test:fix: delete CRDs immediately 2025-03-07 13:14:19 +01:00
Marc Nuri
d7075f2c78 feat: improved prompt efficiency for OpenShift resources 2025-03-07 11:56:57 +01:00
Marc Nuri
7b129281f4 deps: bump github.com/mark3labs/mcp-go from v0.8.5 to v0.11.2 2025-03-07 09:44:02 +01:00
Marc Nuri
fa4c4728f4 feat: improved prompt efficiency for generic resources 2025-03-01 08:43:47 +01:00