diff --git a/surfsense_mcp/mcp_server/core/client.py b/surfsense_mcp/mcp_server/core/client.py index 9ae446ae2..d65b47b7e 100644 --- a/surfsense_mcp/mcp_server/core/client.py +++ b/surfsense_mcp/mcp_server/core/client.py @@ -61,13 +61,17 @@ class SurfSenseClient: json: Any | None = None, data: dict[str, Any] | None = None, files: Any | None = None, + headers: dict[str, str] | None = None, ) -> Any: - """Send a request and return the parsed body, or raise ``ToolError``.""" + """Send a request and return the parsed body, or raise ``ToolError``. + + ``headers`` overrides the client defaults for this call. + """ # Omit unset query params: sending them empty makes the API parse "" # as a value (e.g. int("") on folder_id) and fail. if params is not None: params = {key: value for key, value in params.items() if value is not None} - headers = self._auth_headers() + headers = {**self._auth_headers(), **(headers or {})} try: response = await self._http.request( method,