rootly-mcp-server 2.2.0__py3-none-any.whl → 2.2.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -386,15 +386,20 @@ class AuthenticatedHTTPXClient:
386
386
  if "params" in kwargs:
387
387
  kwargs["params"] = self._transform_params(kwargs["params"])
388
388
 
389
- # Ensure Content-Type and Accept headers are always set correctly for Rootly API
390
- # This is critical because FastMCP may pass headers from the MCP client request
391
- # (e.g., Content-Type: application/json from SSE) which would override our defaults
392
- if "headers" in kwargs:
393
- headers = dict(kwargs["headers"]) if kwargs["headers"] else {}
394
- # Always use JSON-API content type for Rootly API
395
- headers["Content-Type"] = "application/vnd.api+json"
396
- headers["Accept"] = "application/vnd.api+json"
397
- kwargs["headers"] = headers
389
+ # ALWAYS ensure Content-Type and Accept headers are set correctly for Rootly API
390
+ # This is critical because:
391
+ # 1. FastMCP's get_http_headers() returns LOWERCASE header keys (e.g., "content-type")
392
+ # 2. We must remove any existing content-type/accept and set the correct JSON-API values
393
+ # 3. Handle both lowercase and mixed-case variants to be safe
394
+ headers = dict(kwargs.get("headers") or {})
395
+ # Remove any existing content-type and accept headers (case-insensitive)
396
+ headers_to_remove = [k for k in headers if k.lower() in ("content-type", "accept")]
397
+ for key in headers_to_remove:
398
+ del headers[key]
399
+ # Set the correct JSON-API headers
400
+ headers["Content-Type"] = "application/vnd.api+json"
401
+ headers["Accept"] = "application/vnd.api+json"
402
+ kwargs["headers"] = headers
398
403
 
399
404
  # Call the underlying client's request method and let it handle everything
400
405
  return await self.client.request(method, url, **kwargs)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rootly-mcp-server
3
- Version: 2.2.0
3
+ Version: 2.2.2
4
4
  Summary: Secure Model Context Protocol server for Rootly APIs with AI SRE capabilities, comprehensive error handling, and input validation
5
5
  Project-URL: Homepage, https://github.com/Rootly-AI-Labs/Rootly-MCP-server
6
6
  Project-URL: Issues, https://github.com/Rootly-AI-Labs/Rootly-MCP-server/issues
@@ -6,14 +6,14 @@ rootly_mcp_server/monitoring.py,sha256=k1X7vK65FOTrCrOsLUXrFm6AJxKpXt_a0PzL6xdPu
6
6
  rootly_mcp_server/och_client.py,sha256=6UBP7MLkaDOGcJ78hQgSqTyrtr41XwDTqOOfUnoMJkc,2861
7
7
  rootly_mcp_server/pagination.py,sha256=2hZSO4DLUEJZbdF8oDfIt2_7X_XGBG1jIxN8VGmeJBE,2420
8
8
  rootly_mcp_server/security.py,sha256=YkMoVALZ3XaKnMu3yF5kVf3SW_jdKHllSMwVLk1OlX0,11556
9
- rootly_mcp_server/server.py,sha256=neVjS-7AmEPIK7U2IfQ5TdAchHPnOaLONH_0nAHDX6g,163869
9
+ rootly_mcp_server/server.py,sha256=bfaShoTBRfRNHq_oNLVNB_l2lLPvwb6HJccwaibvCyE,164141
10
10
  rootly_mcp_server/smart_utils.py,sha256=c7S-8H151GfmDw6dZBDdLH_cCmR1qiXkKEYSKc0WwUY,23481
11
11
  rootly_mcp_server/texttest.json,sha256=KV9m13kWugmW1VEpU80Irp50uCcLgJtV1YT-JzMogQg,154182
12
12
  rootly_mcp_server/utils.py,sha256=TWG1MaaFKrU1phRhU6FgHuZAEv91JOe_1w0L2OrPJMY,4406
13
13
  rootly_mcp_server/validators.py,sha256=z1Lvel2SpOFLo1cPdQGSrX2ySt6zqR42w0R6QV9c2Cc,4092
14
14
  rootly_mcp_server/data/__init__.py,sha256=KdWD6hiRssHXt0Ywgj3wjNHY1sx-XSPEqVHqrTArf54,143
15
- rootly_mcp_server-2.2.0.dist-info/METADATA,sha256=0sXGTYmYNvifnLHGoOPC7VJppxKDVWcZio-EbUVy3-0,9907
16
- rootly_mcp_server-2.2.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
17
- rootly_mcp_server-2.2.0.dist-info/entry_points.txt,sha256=NE33b8VgigVPGBkboyo6pvN1Vz35HZtLybxMO4Q03PI,70
18
- rootly_mcp_server-2.2.0.dist-info/licenses/LICENSE,sha256=c9w9ZZGl14r54tsP40oaq5adTVX_HMNHozPIH2ymzmw,11341
19
- rootly_mcp_server-2.2.0.dist-info/RECORD,,
15
+ rootly_mcp_server-2.2.2.dist-info/METADATA,sha256=aGgPxMn396G_CWz_FAs2t8D3nSvISulu74OO0y4kN2M,9907
16
+ rootly_mcp_server-2.2.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
17
+ rootly_mcp_server-2.2.2.dist-info/entry_points.txt,sha256=NE33b8VgigVPGBkboyo6pvN1Vz35HZtLybxMO4Q03PI,70
18
+ rootly_mcp_server-2.2.2.dist-info/licenses/LICENSE,sha256=c9w9ZZGl14r54tsP40oaq5adTVX_HMNHozPIH2ymzmw,11341
19
+ rootly_mcp_server-2.2.2.dist-info/RECORD,,