From 31dfa8d29551470b0117c8d35b7051325b625a84 Mon Sep 17 00:00:00 2001 From: leokun Date: Thu, 27 Aug 2026 11:11:13 +0800 Subject: [PATCH] refactor: improve MCP parameter normalization and test clarity - Changed `normalize_mcp_parameters` to avoid mutating the input parameters. - Updated the test name to better reflect its purpose of preserving the cursor object union schema. - Adjusted assertions in the test to compare the entire schema instead of individual fields. --- server/src/cursor/request/context.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/server/src/cursor/request/context.rs b/server/src/cursor/request/context.rs index 65ad05b..24cd256 100644 --- a/server/src/cursor/request/context.rs +++ b/server/src/cursor/request/context.rs @@ -478,9 +478,9 @@ pub fn dynamic_mcp( Ok(output) } -fn normalize_mcp_parameters(tool_name: &str, mut parameters: Value) -> Result { +fn normalize_mcp_parameters(tool_name: &str, parameters: Value) -> Result { let schema = parameters - .as_object_mut() + .as_object() .ok_or_else(|| invalid_mcp_parameters(tool_name))?; match schema.get("type") { Some(Value::String(schema_type)) if schema_type == "object" => return Ok(parameters), @@ -505,7 +505,6 @@ fn normalize_mcp_parameters(tool_name: &str, mut parameters: Value) -> Result