Marc Nuri
f80d8df3c4
feat(auth): authorize user from custom SSE header (96)
...
feat(auth): Authorize user from custom SSE header
PoC to show how we can propagate an Authorization Bearer token
from the MCP client up to the Kubernetes API by passing a custom
header (Kubernetes-Authorization-Bearer-Token).
A new Derived client is necessary for each request due to the incompleteness
of some of the client-go clients.
This might add some overhead for each prompt.
Ideally, the issue with the discoveryclient and others should be fixed to
allow reading the authorization header from the request context.
To use the feature, the MCP Server still needs to be started with a basic
configuration (either provided InCluster by a service account or locally by
a .kube/config file) so that it's able to infer the server settings.
---
test(auth): added tests to verify header propagation
---
refactor(auth): minor improvements for derived client
2025-05-29 17:07:28 +02:00
Marc Nuri
9830e2249d
refactor(auth): oidc auth plugin import location
2025-05-29 11:21:46 +02:00
Ziad
714d2ba56f
fix(auth): ensure OIDC auth plugin is included in compiled binary
2025-05-29 11:20:25 +02:00
Marc Nuri
e6f20fc777
feat(config): --disable-destructive exposes tools not annotated with destructiveHint=true
2025-05-26 18:36:45 +02:00
Marc Nuri
5f279a81d8
feat(config): --read-only mode flag exposes only read-only annotated tools
2025-05-26 16:13:36 +02:00
dependabot[bot]
69c521b892
build(deps): bump github.com/mark3labs/mcp-go from 0.28.0 to 0.29.0 (88)
...
build(deps): bump github.com/mark3labs/mcp-go from 0.28.0 to 0.29.0
Bumps [github.com/mark3labs/mcp-go](https://github.com/mark3labs/mcp-go ) from 0.28.0 to 0.29.0.
- [Release notes](https://github.com/mark3labs/mcp-go/releases )
- [Commits](https://github.com/mark3labs/mcp-go/compare/v0.28.0...v0.29.0 )
---
updated-dependencies:
- dependency-name: github.com/mark3labs/mcp-go
dependency-version: 0.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
---
fix(deps): resolve breaking changes in mcp-go 0.29.0
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marc Nuri <marc@marcnuri.com >
2025-05-21 11:06:55 +02:00
Marc Nuri
3753f98ecc
feat: added tool annotations
2025-05-21 10:53:31 +02:00
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