Skip to content

Commit fa5863c

Browse files
merge main
2 parents 89ea80c + 37ac814 commit fa5863c

19 files changed

+2405
-1322
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ func main() {
163163
result = x * y
164164
case "divide":
165165
if y == 0 {
166-
return nil, errors.New("Cannot divide by zero")
166+
return mcp.NewToolResultError("cannot divide by zero"), nil
167167
}
168168
result = x / y
169169
}
@@ -325,7 +325,7 @@ s.AddTool(calculatorTool, func(ctx context.Context, request mcp.CallToolRequest)
325325
result = x * y
326326
case "divide":
327327
if y == 0 {
328-
return nil, errors.New("Division by zero is not allowed")
328+
return mcp.NewToolResultError("cannot divide by zero"), nil
329329
}
330330
result = x / y
331331
}
@@ -370,20 +370,20 @@ s.AddTool(httpTool, func(ctx context.Context, request mcp.CallToolRequest) (*mcp
370370
req, err = http.NewRequest(method, url, nil)
371371
}
372372
if err != nil {
373-
return nil, fmt.Errorf("Failed to create request: %v", err)
373+
return mcp.NewToolResultErrorFromErr("unable to create request", err), nil
374374
}
375375

376376
client := &http.Client{}
377377
resp, err := client.Do(req)
378378
if err != nil {
379-
return nil, fmt.Errorf("Request failed: %v", err)
379+
return mcp.NewToolResultErrorFromErr("unable to execute request", err), nil
380380
}
381381
defer resp.Body.Close()
382382

383383
// Return response
384384
respBody, err := io.ReadAll(resp.Body)
385385
if err != nil {
386-
return nil, fmt.Errorf("Failed to read response: %v", err)
386+
return mcp.NewToolResultErrorFromErr("unable to read request response", err), nil
387387
}
388388

389389
return mcp.NewToolResultText(fmt.Sprintf("Status: %d\nBody: %s", resp.StatusCode, string(respBody))), nil

0 commit comments

Comments
 (0)