From 30cef7297200e9264e5a63be34f440e46f9cff49 Mon Sep 17 00:00:00 2001 From: duwenxin Date: Mon, 2 Feb 2026 16:28:07 -0500 Subject: [PATCH] resolve comments --- internal/server/api.go | 12 +++++++----- internal/server/mcp/v20241105/method.go | 4 ++++ internal/server/mcp/v20250326/method.go | 4 ++++ internal/server/mcp/v20250618/method.go | 4 ++++ internal/server/mcp/v20251125/method.go | 3 +++ 5 files changed, 22 insertions(+), 5 deletions(-) diff --git a/internal/server/api.go b/internal/server/api.go index 3ae24b362d..21c63fc8e5 100644 --- a/internal/server/api.go +++ b/internal/server/api.go @@ -235,11 +235,8 @@ func toolInvokeHandler(s *Server, w http.ResponseWriter, r *http.Request) { if err != nil { // If auth error, return 401 errMsg := fmt.Sprintf("error parsing authenticated parameters from ID token: %w", err) - if errors.Is(err, util.NewClientServerError( - errMsg, - http.StatusUnauthorized, - nil, - )) { + var clientServerErr *util.ClientServerError + if errors.As(err, &clientServerErr) && clientServerErr.Code == http.StatusUnauthorized { s.logger.DebugContext(ctx, errMsg) _ = render.Render(w, r, newErrResponse(err, http.StatusUnauthorized)) return @@ -300,6 +297,11 @@ func toolInvokeHandler(s *Server, w http.ResponseWriter, r *http.Request) { _ = render.Render(w, r, newErrResponse(err, statusCode)) return } + } else { + // Unknown error -> 500 + s.logger.ErrorContext(ctx, fmt.Sprintf("Tool invocation unknown error: %v", err)) + _ = render.Render(w, r, newErrResponse(err, http.StatusInternalServerError)) + return } } diff --git a/internal/server/mcp/v20241105/method.go b/internal/server/mcp/v20241105/method.go index 1b81de170a..8b3a65dfcb 100644 --- a/internal/server/mcp/v20241105/method.go +++ b/internal/server/mcp/v20241105/method.go @@ -180,6 +180,7 @@ func toolsCallHandler(ctx context.Context, id jsonrpc.RequestId, resourceMgr *re http.StatusUnauthorized, nil, ) + return jsonrpc.NewError(id, jsonrpc.INVALID_REQUEST, err.Error(), nil), err } logger.DebugContext(ctx, "tool invocation authorized") @@ -234,6 +235,9 @@ func toolsCallHandler(ctx context.Context, id jsonrpc.RequestId, resourceMgr *re } return jsonrpc.NewError(id, rpcCode, err.Error(), nil), err } + } else { + // Unknown error -> 500 + return jsonrpc.NewError(id, jsonrpc.INTERNAL_ERROR, err.Error(), nil), err } } diff --git a/internal/server/mcp/v20250326/method.go b/internal/server/mcp/v20250326/method.go index 792f9f847e..51ebd14db4 100644 --- a/internal/server/mcp/v20250326/method.go +++ b/internal/server/mcp/v20250326/method.go @@ -180,6 +180,7 @@ func toolsCallHandler(ctx context.Context, id jsonrpc.RequestId, resourceMgr *re http.StatusUnauthorized, nil, ) + return jsonrpc.NewError(id, jsonrpc.INVALID_REQUEST, err.Error(), nil), err } logger.DebugContext(ctx, "tool invocation authorized") @@ -234,6 +235,9 @@ func toolsCallHandler(ctx context.Context, id jsonrpc.RequestId, resourceMgr *re } return jsonrpc.NewError(id, rpcCode, err.Error(), nil), err } + } else { + // Unknown error -> 500 + return jsonrpc.NewError(id, jsonrpc.INTERNAL_ERROR, err.Error(), nil), err } } content := make([]TextContent, 0) diff --git a/internal/server/mcp/v20250618/method.go b/internal/server/mcp/v20250618/method.go index ad643c8475..ab5b8e408d 100644 --- a/internal/server/mcp/v20250618/method.go +++ b/internal/server/mcp/v20250618/method.go @@ -174,6 +174,7 @@ func toolsCallHandler(ctx context.Context, id jsonrpc.RequestId, resourceMgr *re http.StatusUnauthorized, nil, ) + return jsonrpc.NewError(id, jsonrpc.INVALID_REQUEST, err.Error(), nil), err } logger.DebugContext(ctx, "tool invocation authorized") @@ -228,6 +229,9 @@ func toolsCallHandler(ctx context.Context, id jsonrpc.RequestId, resourceMgr *re } return jsonrpc.NewError(id, rpcCode, err.Error(), nil), err } + } else { + // Unknown error -> 500 + return jsonrpc.NewError(id, jsonrpc.INTERNAL_ERROR, err.Error(), nil), err } } diff --git a/internal/server/mcp/v20251125/method.go b/internal/server/mcp/v20251125/method.go index c17ddc528f..5fe5188862 100644 --- a/internal/server/mcp/v20251125/method.go +++ b/internal/server/mcp/v20251125/method.go @@ -228,6 +228,9 @@ func toolsCallHandler(ctx context.Context, id jsonrpc.RequestId, resourceMgr *re } return jsonrpc.NewError(id, rpcCode, err.Error(), nil), err } + } else { + // Unknown error -> 500 + return jsonrpc.NewError(id, jsonrpc.INTERNAL_ERROR, err.Error(), nil), err } }