Skip to content

Commit b0cd15e

Browse files
committed
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
1 parent 3cc4f32 commit b0cd15e

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

Diff for: pkg/kubernetes-mcp-server/cmd/root.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Kubernetes Model Context Protocol (MCP) server
4545

4646
var sseServer *server.SSEServer
4747
if ssePort := viper.GetInt("sse-port"); ssePort > 0 {
48-
sseServer = mcpServer.ServeSse(viper.GetString("sse-public-host"), ssePort)
48+
sseServer = mcpServer.ServeSse(viper.GetString("sse-base-url"))
4949
if err := sseServer.Start(fmt.Sprintf(":%d", ssePort)); err != nil {
5050
panic(err)
5151
}
@@ -62,7 +62,7 @@ Kubernetes Model Context Protocol (MCP) server
6262
func init() {
6363
rootCmd.Flags().BoolP("version", "v", false, "Print version information and quit")
6464
rootCmd.Flags().IntP("sse-port", "", 0, "Start a SSE server on the specified port")
65-
rootCmd.Flags().StringP("sse-public-host", "", "localhost", "SSE Public host to use in the server")
65+
rootCmd.Flags().StringP("sse-base-url", "", "", "SSE public base URL to use when sending the endpoint message (e.g. https://example.com)")
6666
_ = viper.BindPFlags(rootCmd.Flags())
6767
}
6868

Diff for: pkg/mcp/mcp.go

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package mcp
22

33
import (
4-
"fmt"
54
"github.com/manusa/kubernetes-mcp-server/pkg/kubernetes"
65
"github.com/manusa/kubernetes-mcp-server/pkg/version"
76
"github.com/mark3labs/mcp-go/mcp"
@@ -49,8 +48,12 @@ func (s *Server) ServeStdio() error {
4948
return server.ServeStdio(s.server)
5049
}
5150

52-
func (s *Server) ServeSse(publicHost string, port int) *server.SSEServer {
53-
return server.NewSSEServer(s.server, server.WithBaseURL(fmt.Sprintf("http://%s:%d", publicHost, port)))
51+
func (s *Server) ServeSse(baseUrl string) *server.SSEServer {
52+
options := make([]server.SSEOption, 0)
53+
if baseUrl != "" {
54+
options = append(options, server.WithBaseURL(baseUrl))
55+
}
56+
return server.NewSSEServer(s.server, options...)
5457
}
5558

5659
func NewTextResult(content string, err error) *mcp.CallToolResult {

0 commit comments

Comments
 (0)