mcp-sharepoint-us 2.0.5__tar.gz → 2.0.7__tar.gz

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.

Potentially problematic release.


This version of mcp-sharepoint-us might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-sharepoint-us
3
- Version: 2.0.5
3
+ Version: 2.0.7
4
4
  Summary: SharePoint MCP Server with Modern Azure AD Authentication
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://github.com/mdev26/mcp-sharepoint-us
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mcp-sharepoint-us"
7
- version = "2.0.5"
7
+ version = "2.0.7"
8
8
  description = "SharePoint MCP Server with Modern Azure AD Authentication"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -7,6 +7,7 @@ import logging
7
7
  import time
8
8
  import random
9
9
  from typing import Optional
10
+ from urllib.parse import urlparse
10
11
  from office365.sharepoint.client_context import ClientContext
11
12
  from office365.runtime.auth.client_credential import ClientCredential
12
13
  import msal
@@ -69,12 +70,22 @@ class SharePointAuthenticator:
69
70
  # Optional: enable MSAL token cache (in-memory). Helps reduce calls.
70
71
  self._token_cache = getattr(self, "_token_cache", msal.SerializableTokenCache())
71
72
 
72
- self._msal_app = msal.ConfidentialClientApplication(
73
- authority=authority_url,
74
- client_id=self.client_id,
75
- client_credential=self.client_secret,
76
- token_cache=self._token_cache,
77
- )
73
+ # For government cloud, disable instance discovery to prevent
74
+ # MSAL from trying to connect to commercial cloud endpoints
75
+ msal_params = {
76
+ "authority": authority_url,
77
+ "client_id": self.client_id,
78
+ "client_credential": self.client_secret,
79
+ "token_cache": self._token_cache,
80
+ }
81
+
82
+ # Disable instance discovery for sovereign clouds to avoid
83
+ # hitting login.microsoftonline.com endpoints
84
+ if self.cloud in ("government", "us"):
85
+ msal_params["validate_authority"] = False
86
+ logger.info("Disabled authority validation for government cloud")
87
+
88
+ self._msal_app = msal.ConfidentialClientApplication(**msal_params)
78
89
  self._authority_url = authority_url
79
90
 
80
91
  # Small in-memory access-token cache (avoid repeated acquire calls)
@@ -83,7 +94,13 @@ class SharePointAuthenticator:
83
94
  self._access_token = None
84
95
  self._access_token_exp = 0
85
96
 
86
- scopes = [f"{self.site_url}/.default"]
97
+ # Extract root SharePoint URL for scope
98
+ # For https://tenant.sharepoint.us/sites/SiteName -> https://tenant.sharepoint.us
99
+ parsed = urlparse(self.site_url)
100
+ sharepoint_root = f"{parsed.scheme}://{parsed.netloc}"
101
+ scopes = [f"{sharepoint_root}/.default"]
102
+
103
+ logger.info(f"Using SharePoint root scope: {sharepoint_root}/.default")
87
104
 
88
105
  def acquire_token() -> str:
89
106
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-sharepoint-us
3
- Version: 2.0.5
3
+ Version: 2.0.7
4
4
  Summary: SharePoint MCP Server with Modern Azure AD Authentication
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://github.com/mdev26/mcp-sharepoint-us