diff --git a/client/src/components/ToolsTab.tsx b/client/src/components/ToolsTab.tsx index b7e2cc1..320366c 100644 --- a/client/src/components/ToolsTab.tsx +++ b/client/src/components/ToolsTab.tsx @@ -5,7 +5,6 @@ import { Label } from "@/components/ui/label"; import { TabsContent } from "@/components/ui/tabs"; import { Textarea } from "@/components/ui/textarea"; import { - CallToolResult, ListToolsResult, Tool, CallToolResultSchema, @@ -41,7 +40,24 @@ const ToolsTab = ({ if (!toolResult) return null; if ("content" in toolResult) { - const structuredResult = CallToolResultSchema.parse(toolResult); + const parsedResult = CallToolResultSchema.safeParse(toolResult); + if (!parsedResult.success) { + return ( + <> +

Invalid Tool Result:

+
+              {JSON.stringify(toolResult, null, 2)}
+            
+

Errors:

+ {parsedResult.error.errors.map((error) => ( +
+                {JSON.stringify(error, null, 2)}
+              
+ ))} + + ); + } + const structuredResult = parsedResult.data; const isError = structuredResult.isError ?? false; return (