From ee398df774b6ec2bbc6668914f7e8d50fd3c3220 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A0=20Arrufat?= Date: Tue, 5 May 2026 09:34:43 +0200 Subject: [PATCH] mcp: simplify handleCall parameter handling --- src/mcp/tools.zig | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/mcp/tools.zig b/src/mcp/tools.zig index d0ae859b..eb3d0aca 100644 --- a/src/mcp/tools.zig +++ b/src/mcp/tools.zig @@ -27,21 +27,18 @@ pub fn handleList(server: *Server, arena: std.mem.Allocator, req: protocol.Reque } pub fn handleCall(server: *Server, arena: std.mem.Allocator, req: protocol.Request) !void { - if (req.params == null or req.id == null) { - return server.transport.sendError(req.id orelse .{ .integer = -1 }, .InvalidParams, "Missing params"); - } + const id = req.id orelse return; + const params = req.params orelse return server.transport.sendError(id, .InvalidParams, "Missing params"); const CallParams = struct { name: []const u8, arguments: ?std.json.Value = null, }; - const call_params = std.json.parseFromValueLeaky(CallParams, arena, req.params.?, .{ .ignore_unknown_fields = true }) catch { - return server.transport.sendError(req.id.?, .InvalidParams, "Invalid params"); + const call_params = std.json.parseFromValueLeaky(CallParams, arena, params, .{ .ignore_unknown_fields = true }) catch { + return server.transport.sendError(id, .InvalidParams, "Invalid params"); }; - const id = req.id.?; - const action = std.meta.stringToEnum(browser_tools.Action, call_params.name) orelse { return server.transport.sendError(id, .MethodNotFound, "Tool not found"); };