From 3fc81ac5d87f2f216be3250a8b78308cd289a698 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 3 Apr 2026 18:08:38 +0100 Subject: [PATCH] fix: clean error --- application/api/user/tools/mcp.py | 34 +++++++++++++++++++++++----- application/api/user/tools/routes.py | 8 +++---- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/application/api/user/tools/mcp.py b/application/api/user/tools/mcp.py index c38031ce..249b151e 100644 --- a/application/api/user/tools/mcp.py +++ b/application/api/user/tools/mcp.py @@ -123,18 +123,39 @@ class TestMCPServerConfig(Resource): result = mcp_tool.test_connection() if result.get("requires_oauth"): - return make_response(jsonify(result), 200) + safe_result = { + k: v + for k, v in result.items() + if k in ("success", "requires_oauth", "auth_url") + } + return make_response(jsonify(safe_result), 200) - if not result.get("success") and "message" in result: + if not result.get("success"): current_app.logger.error( f"MCP connection test failed: {result.get('message')}" ) - result["message"] = "Connection test failed" + return make_response( + jsonify( + { + "success": False, + "message": "Connection test failed", + "tools_count": 0, + } + ), + 200, + ) - return make_response(jsonify(result), 200) + safe_result = { + "success": True, + "message": result.get("message", "Connection successful"), + "tools_count": result.get("tools_count", 0), + "tools": result.get("tools", []), + } + return make_response(jsonify(safe_result), 200) except ValueError as e: + current_app.logger.warning(f"Invalid MCP server test request: {e}") return make_response( - jsonify({"success": False, "error": str(e)}), + jsonify({"success": False, "error": "Invalid MCP server configuration"}), 400, ) except Exception as e: @@ -305,8 +326,9 @@ class MCPServerSave(Resource): } return make_response(jsonify(response_data), 200) except ValueError as e: + current_app.logger.warning(f"Invalid MCP server save request: {e}") return make_response( - jsonify({"success": False, "error": str(e)}), + jsonify({"success": False, "error": "Invalid MCP server configuration"}), 400, ) except Exception as e: diff --git a/application/api/user/tools/routes.py b/application/api/user/tools/routes.py index 70b76c1e..23014845 100644 --- a/application/api/user/tools/routes.py +++ b/application/api/user/tools/routes.py @@ -244,9 +244,9 @@ class CreateTool(Resource): if server_url: try: validate_url(server_url) - except SSRFError as exc: + except SSRFError: return make_response( - jsonify({"success": False, "message": f"Invalid server URL: {exc}"}), + jsonify({"success": False, "message": "Invalid server URL"}), 400, ) tool_instance = tool_manager.tools.get(data["name"]) @@ -439,9 +439,9 @@ class UpdateToolConfig(Resource): if server_url: try: validate_url(server_url) - except SSRFError as exc: + except SSRFError: return make_response( - jsonify({"success": False, "message": f"Invalid server URL: {exc}"}), + jsonify({"success": False, "message": "Invalid server URL"}), 400, ) tool_instance = tool_manager.tools.get(tool_name)