rootly-mcp-server 2.2.1__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.
@@ -388,10 +388,15 @@ class AuthenticatedHTTPXClient:
388
388
 
389
389
  # ALWAYS ensure Content-Type and Accept headers are set correctly for Rootly API
390
390
  # This is critical because:
391
- # 1. FastMCP may pass headers from the MCP client request (e.g., Content-Type: application/json)
392
- # 2. Per-request headers override httpx client defaults
393
- # 3. We must force JSON-API content type regardless of what's passed in
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
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
395
400
  headers["Content-Type"] = "application/vnd.api+json"
396
401
  headers["Accept"] = "application/vnd.api+json"
397
402
  kwargs["headers"] = headers
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rootly-mcp-server
3
- Version: 2.2.1
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=d6gkBbj0WCAKeYRwoVeeCtsNvCNnEGxXfd9V9ILOxsA,163845
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.1.dist-info/METADATA,sha256=D3P6Yo00zsIAAgbG2mWKTDY3aRPUe4yK8vdfvYICuYE,9907
16
- rootly_mcp_server-2.2.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
17
- rootly_mcp_server-2.2.1.dist-info/entry_points.txt,sha256=NE33b8VgigVPGBkboyo6pvN1Vz35HZtLybxMO4Q03PI,70
18
- rootly_mcp_server-2.2.1.dist-info/licenses/LICENSE,sha256=c9w9ZZGl14r54tsP40oaq5adTVX_HMNHozPIH2ymzmw,11341
19
- rootly_mcp_server-2.2.1.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,,