workspace-mcp 1.0.4__tar.gz → 1.0.5__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.
Files changed (40) hide show
  1. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/PKG-INFO +1 -1
  2. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/main.py +11 -11
  3. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/pyproject.toml +1 -1
  4. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/workspace_mcp.egg-info/PKG-INFO +1 -1
  5. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/LICENSE +0 -0
  6. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/README.md +0 -0
  7. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/auth/__init__.py +0 -0
  8. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/auth/google_auth.py +0 -0
  9. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/auth/oauth_callback_server.py +0 -0
  10. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/auth/oauth_responses.py +0 -0
  11. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/auth/scopes.py +0 -0
  12. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/auth/service_decorator.py +0 -0
  13. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/core/__init__.py +0 -0
  14. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/core/comments.py +0 -0
  15. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/core/context.py +0 -0
  16. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/core/server.py +0 -0
  17. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/core/utils.py +0 -0
  18. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gcalendar/__init__.py +0 -0
  19. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gcalendar/calendar_tools.py +0 -0
  20. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gchat/__init__.py +0 -0
  21. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gchat/chat_tools.py +0 -0
  22. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gdocs/__init__.py +0 -0
  23. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gdocs/docs_tools.py +0 -0
  24. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gdrive/__init__.py +0 -0
  25. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gdrive/drive_tools.py +0 -0
  26. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gforms/__init__.py +0 -0
  27. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gforms/forms_tools.py +0 -0
  28. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gmail/__init__.py +0 -0
  29. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gmail/gmail_tools.py +0 -0
  30. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gsheets/__init__.py +0 -0
  31. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gsheets/sheets_tools.py +0 -0
  32. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gslides/__init__.py +0 -0
  33. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/gslides/slides_tools.py +0 -0
  34. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/setup.cfg +0 -0
  35. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/tests/test_auth.py +0 -0
  36. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/workspace_mcp.egg-info/SOURCES.txt +0 -0
  37. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/workspace_mcp.egg-info/dependency_links.txt +0 -0
  38. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/workspace_mcp.egg-info/entry_points.txt +0 -0
  39. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/workspace_mcp.egg-info/requires.txt +0 -0
  40. {workspace_mcp-1.0.4 → workspace_mcp-1.0.5}/workspace_mcp.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: workspace-mcp
3
- Version: 1.0.4
3
+ Version: 1.0.5
4
4
  Summary: Comprehensive, highly performant Google Workspace Streamable HTTP & SSE MCP Server for Calendar, Gmail, Docs, Sheets, Slides & Drive
5
5
  Author-email: Taylor Wilsdon <taylor@taylorwilsdon.com>
6
6
  License: MIT
@@ -35,9 +35,9 @@ except Exception as e:
35
35
 
36
36
  def safe_print(text):
37
37
  try:
38
- print(text)
38
+ print(text, file=sys.stderr)
39
39
  except UnicodeEncodeError:
40
- print(text.encode('ascii', errors='replace').decode())
40
+ print(text.encode('ascii', errors='replace').decode(), file=sys.stderr)
41
41
 
42
42
  def main():
43
43
  """
@@ -73,7 +73,7 @@ def main():
73
73
  safe_print(f" 🔐 OAuth Callback: {base_uri}:{port}/oauth2callback")
74
74
  safe_print(f" 👤 Mode: {'Single-user' if args.single_user else 'Multi-user'}")
75
75
  safe_print(f" 🐍 Python: {sys.version.split()[0]}")
76
- print()
76
+ print(file=sys.stderr)
77
77
 
78
78
  # Import tool modules to register them with the MCP server via decorators
79
79
  tool_imports = {
@@ -104,29 +104,29 @@ def main():
104
104
  for tool in tools_to_import:
105
105
  tool_imports[tool]()
106
106
  safe_print(f" {tool_icons[tool]} {tool.title()} - Google {tool.title()} API integration")
107
- print()
107
+ print(file=sys.stderr)
108
108
 
109
109
  safe_print(f"📊 Configuration Summary:")
110
110
  safe_print(f" 🔧 Tools Enabled: {len(tools_to_import)}/{len(tool_imports)}")
111
111
  safe_print(f" 🔑 Auth Method: OAuth 2.0 with PKCE")
112
112
  safe_print(f" 📝 Log Level: {logging.getLogger().getEffectiveLevel()}")
113
- print()
113
+ print(file=sys.stderr)
114
114
 
115
115
  # Set global single-user mode flag
116
116
  if args.single_user:
117
117
  os.environ['MCP_SINGLE_USER_MODE'] = '1'
118
118
  safe_print("🔐 Single-user mode enabled")
119
- print()
119
+ print(file=sys.stderr)
120
120
 
121
121
  # Check credentials directory permissions before starting
122
122
  try:
123
123
  safe_print("🔍 Checking credentials directory permissions...")
124
124
  check_credentials_directory_permissions()
125
125
  safe_print("✅ Credentials directory permissions verified")
126
- print()
126
+ print(file=sys.stderr)
127
127
  except (PermissionError, OSError) as e:
128
128
  safe_print(f"❌ Credentials directory permission check failed: {e}")
129
- print(" Please ensure the service has write permissions to create/access the .credentials directory")
129
+ print(" Please ensure the service has write permissions to create/access the .credentials directory", file=sys.stderr)
130
130
  logger.error(f"Failed credentials directory permission check: {e}")
131
131
  sys.exit(1)
132
132
 
@@ -141,12 +141,12 @@ def main():
141
141
  # Start minimal OAuth callback server for stdio mode
142
142
  from auth.oauth_callback_server import ensure_oauth_callback_available
143
143
  if ensure_oauth_callback_available('stdio', port, base_uri):
144
- print(f" OAuth callback server started on {base_uri}:{port}/oauth2callback")
144
+ print(f" OAuth callback server started on {base_uri}:{port}/oauth2callback", file=sys.stderr)
145
145
  else:
146
146
  safe_print(" ⚠️ Warning: Failed to start OAuth callback server")
147
147
 
148
- print(" Ready for MCP connections!")
149
- print()
148
+ print(" Ready for MCP connections!", file=sys.stderr)
149
+ print(file=sys.stderr)
150
150
 
151
151
  if args.transport == 'streamable-http':
152
152
  # The server is already configured with port and server_url in core/server.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "workspace-mcp"
7
- version = "1.0.4"
7
+ version = "1.0.5"
8
8
  description = "Comprehensive, highly performant Google Workspace Streamable HTTP & SSE MCP Server for Calendar, Gmail, Docs, Sheets, Slides & Drive"
9
9
  readme = "README.md"
10
10
  keywords = [ "mcp", "google", "workspace", "llm", "ai", "claude", "model", "context", "protocol", "server"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: workspace-mcp
3
- Version: 1.0.4
3
+ Version: 1.0.5
4
4
  Summary: Comprehensive, highly performant Google Workspace Streamable HTTP & SSE MCP Server for Calendar, Gmail, Docs, Sheets, Slides & Drive
5
5
  Author-email: Taylor Wilsdon <taylor@taylorwilsdon.com>
6
6
  License: MIT
File without changes
File without changes
File without changes