-
Notifications
You must be signed in to change notification settings - Fork 391
feat: support customized TLS configuration to mcpserver #1215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
EItanya
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some initial changes necessary, can review more after these changes are made.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR does not change the certs which the actual agents use to connect to the MCP server. You will need to update this translator to do that as well. You can see how it's done for the ModelConfig.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I've already added some client certificate configuration logic for the interaction between ADK and MCP, and built an app image to complete preliminary validation of the MCP server configured with HTTPS in my test cluster.
| if mcpServer.Spec.TransportType == v1alpha1.TransportTypeHTTP && | ||
| mcpServer.Spec.HTTPTransport != nil && | ||
| mcpServer.Spec.HTTPTransport.TLS != nil { | ||
| httpTLS := mcpServer.Spec.HTTPTransport.TLS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where is this field coming from? Did you change kmcp?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, the changes were previously submitted in #114, please help review them, Thanks a lot!
69a8510 to
ab9e1e3
Compare
Signed-off-by: dahu.kdh <dahu.kdh@alibaba-inc.com>
ab9e1e3 to
ca7b2aa
Compare
I tried to deploy an MCPServer. During deployment, the kagent controller attempts to list tools from the MCP backend over HTTPS, but it fails with the following error:
At the moment, MCPServer seems to only support calling the backend server over plain HTTP.
Therefore, I think we should allow users to configure a Secret reference in the MCPServer CRD for the certificates used to connect to the MCP server (I have already opened PR #114 in the kmcp project). The controller reconciler could then use the client certificate specified in the CRD when list tools. An example is shown below:
These initial changes using a local go.mod replace of the kmcp package from #114. The final implementation will depend on the finalized definition in kmcp’s mcpserver_types.