workspace-mcp 1.1.3__tar.gz → 1.1.4__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 (43) hide show
  1. {workspace_mcp-1.1.3/workspace_mcp.egg-info → workspace_mcp-1.1.4}/PKG-INFO +29 -9
  2. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/README.md +28 -8
  3. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/auth/scopes.py +10 -1
  4. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/auth/service_decorator.py +8 -2
  5. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/core/server.py +3 -0
  6. workspace_mcp-1.1.4/gTasks/__init__.py +5 -0
  7. workspace_mcp-1.1.4/gTasks/tasks_tools.py +732 -0
  8. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/main.py +6 -4
  9. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/pyproject.toml +2 -2
  10. workspace_mcp-1.1.4/tests/test_oauth_callback_server.py +41 -0
  11. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4/workspace_mcp.egg-info}/PKG-INFO +29 -9
  12. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/workspace_mcp.egg-info/SOURCES.txt +5 -0
  13. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/workspace_mcp.egg-info/top_level.txt +1 -0
  14. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/LICENSE +0 -0
  15. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/auth/__init__.py +0 -0
  16. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/auth/google_auth.py +0 -0
  17. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/auth/oauth_callback_server.py +0 -0
  18. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/auth/oauth_responses.py +0 -0
  19. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/core/__init__.py +0 -0
  20. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/core/comments.py +0 -0
  21. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/core/context.py +0 -0
  22. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/core/utils.py +0 -0
  23. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gcalendar/__init__.py +0 -0
  24. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gcalendar/calendar_tools.py +0 -0
  25. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gchat/__init__.py +0 -0
  26. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gchat/chat_tools.py +0 -0
  27. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gdocs/__init__.py +0 -0
  28. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gdocs/docs_tools.py +0 -0
  29. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gdrive/__init__.py +0 -0
  30. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gdrive/drive_tools.py +0 -0
  31. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gforms/__init__.py +0 -0
  32. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gforms/forms_tools.py +0 -0
  33. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gmail/__init__.py +0 -0
  34. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gmail/gmail_tools.py +0 -0
  35. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gsheets/__init__.py +0 -0
  36. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gsheets/sheets_tools.py +0 -0
  37. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gslides/__init__.py +0 -0
  38. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/gslides/slides_tools.py +0 -0
  39. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/setup.cfg +0 -0
  40. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/tests/test_auth.py +0 -0
  41. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/workspace_mcp.egg-info/dependency_links.txt +0 -0
  42. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/workspace_mcp.egg-info/entry_points.txt +0 -0
  43. {workspace_mcp-1.1.3 → workspace_mcp-1.1.4}/workspace_mcp.egg-info/requires.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: workspace-mcp
3
- Version: 1.1.3
3
+ Version: 1.1.4
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
@@ -53,7 +53,9 @@ Dynamic: license-file
53
53
 
54
54
  **This is the single most feature-complete Google Workspace MCP server**
55
55
 
56
- *Full natural language control over Google Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, and Chat through all MCP clients, AI assistants and developer tools*
56
+ *Full natural language control over Google Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Tasks, and Chat through all MCP clients, AI assistants and developer tools.*
57
+
58
+ ###### Support for all free Google accounts (Gmail, Docs, Drive etc) & Google Workspace plans (Starter, Standard, Plus, Enterprise, Non Profit etc) with their expanded app options like Chat & Spaces.
57
59
 
58
60
  </div>
59
61
 
@@ -85,11 +87,11 @@ Dynamic: license-file
85
87
  > In this case, Sonnet 4 took a pass & a human (me) verified them 6/28/25.
86
88
 
87
89
 
88
- ## 🌐 Overview
90
+ ## Overview
89
91
 
90
92
  A production-ready MCP server that integrates all major Google Workspace services with AI assistants. Built with FastMCP for optimal performance, featuring advanced authentication handling, service caching, and streamlined development patterns.
91
93
 
92
- ## Features
94
+ ## Features
93
95
 
94
96
  - **🔐 Advanced OAuth 2.0**: Secure authentication with automatic token refresh, transport-aware callback handling, session management, and centralized scope management
95
97
  - **📅 Google Calendar**: Full calendar management with event CRUD operations
@@ -99,6 +101,7 @@ A production-ready MCP server that integrates all major Google Workspace service
99
101
  - **📊 Google Sheets**: Comprehensive spreadsheet management with flexible cell operations and comment management
100
102
  - **🖼️ Google Slides**: Presentation management with slide creation, updates, content manipulation, and comment management
101
103
  - **📝 Google Forms**: Form creation, retrieval, publish settings, and response management
104
+ - **✓ Google Tasks**: Complete task and task list management with hierarchy, due dates, and status tracking
102
105
  - **💬 Google Chat**: Space management and messaging capabilities
103
106
  - **🔄 Multiple Transports**: HTTP with SSE fallback, OpenAPI compatibility via `mcpo`
104
107
  - **⚡ High Performance**: Service caching, thread-safe sessions, FastMCP integration
@@ -121,7 +124,7 @@ export GOOGLE_OAUTH_CLIENT_SECRET="your-client-secret"
121
124
  uvx workspace-mcp
122
125
 
123
126
  # Start with specific tools only
124
- uvx workspace-mcp --tools gmail drive calendar
127
+ uvx workspace-mcp --tools gmail drive calendar tasks
125
128
 
126
129
  # Start in HTTP mode for debugging
127
130
  uvx workspace-mcp --transport streamable-http
@@ -149,7 +152,7 @@ uv run main.py
149
152
 
150
153
  1. **Google Cloud Setup**:
151
154
  - Create OAuth 2.0 credentials (web application) in [Google Cloud Console](https://console.cloud.google.com/)
152
- - Enable APIs: Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Chat
155
+ - Enable APIs: Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Tasks, Chat
153
156
  - Add redirect URI: `http://localhost:8000/oauth2callback`
154
157
  - Configure credentials using one of these methods:
155
158
 
@@ -201,7 +204,7 @@ uv run main.py --transport streamable-http
201
204
  uv run main.py --single-user
202
205
 
203
206
  # Selective tool registration (only register specific tools)
204
- uv run main.py --tools gmail drive calendar
207
+ uv run main.py --tools gmail drive calendar tasks
205
208
  uv run main.py --tools sheets docs
206
209
  uv run main.py --single-user --tools gmail # Can combine with other flags
207
210
 
@@ -210,7 +213,7 @@ docker build -t workspace-mcp .
210
213
  docker run -p 8000:8000 -v $(pwd):/app workspace-mcp --transport streamable-http
211
214
  ```
212
215
 
213
- **Available Tools for `--tools` flag**: `gmail`, `drive`, `calendar`, `docs`, `sheets`, `forms`, `chat`
216
+ **Available Tools for `--tools` flag**: `gmail`, `drive`, `calendar`, `docs`, `sheets`, `forms`, `tasks`, `chat`
214
217
 
215
218
  ### Connect to Claude Desktop
216
219
 
@@ -254,7 +257,7 @@ After running the script, just restart Claude Desktop and you're ready to go.
254
257
 
255
258
  **Get Google OAuth Credentials** (if you don't have them):
256
259
  - Go to [Google Cloud Console](https://console.cloud.google.com/)
257
- - Create a new project and enable APIs: Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Chat
260
+ - Create a new project and enable APIs: Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Tasks, Chat
258
261
  - Create OAuth 2.0 Client ID (Web application) with redirect URI: `http://localhost:8000/oauth2callback`
259
262
 
260
263
  **Development Installation (For Contributors)**:
@@ -392,6 +395,23 @@ When calling a tool:
392
395
  | `get_form_response` | Get individual form response details |
393
396
  | `list_form_responses` | List all responses to a form with pagination |
394
397
 
398
+ ### ✓ Google Tasks ([`tasks_tools.py`](gtasks/tasks_tools.py))
399
+
400
+ | Tool | Description |
401
+ |------|-------------|
402
+ | `list_task_lists` | List all task lists with pagination support |
403
+ | `get_task_list` | Retrieve details of a specific task list |
404
+ | `create_task_list` | Create new task lists with custom titles |
405
+ | `update_task_list` | Modify existing task list titles |
406
+ | `delete_task_list` | Remove task lists and all contained tasks |
407
+ | `list_tasks` | List tasks in a specific list with filtering options |
408
+ | `get_task` | Retrieve detailed information about a specific task |
409
+ | `create_task` | Create new tasks with title, notes, due dates, and hierarchy |
410
+ | `update_task` | Modify task properties including title, notes, status, and due dates |
411
+ | `delete_task` | Remove tasks from task lists |
412
+ | `move_task` | Reposition tasks within lists or move between lists |
413
+ | `clear_completed_tasks` | Hide all completed tasks from a list |
414
+
395
415
  ### 💬 Google Chat ([`chat_tools.py`](gchat/chat_tools.py))
396
416
 
397
417
  | Tool | Description |
@@ -11,7 +11,9 @@
11
11
 
12
12
  **This is the single most feature-complete Google Workspace MCP server**
13
13
 
14
- *Full natural language control over Google Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, and Chat through all MCP clients, AI assistants and developer tools*
14
+ *Full natural language control over Google Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Tasks, and Chat through all MCP clients, AI assistants and developer tools.*
15
+
16
+ ###### Support for all free Google accounts (Gmail, Docs, Drive etc) & Google Workspace plans (Starter, Standard, Plus, Enterprise, Non Profit etc) with their expanded app options like Chat & Spaces.
15
17
 
16
18
  </div>
17
19
 
@@ -43,11 +45,11 @@
43
45
  > In this case, Sonnet 4 took a pass & a human (me) verified them 6/28/25.
44
46
 
45
47
 
46
- ## 🌐 Overview
48
+ ## Overview
47
49
 
48
50
  A production-ready MCP server that integrates all major Google Workspace services with AI assistants. Built with FastMCP for optimal performance, featuring advanced authentication handling, service caching, and streamlined development patterns.
49
51
 
50
- ## Features
52
+ ## Features
51
53
 
52
54
  - **🔐 Advanced OAuth 2.0**: Secure authentication with automatic token refresh, transport-aware callback handling, session management, and centralized scope management
53
55
  - **📅 Google Calendar**: Full calendar management with event CRUD operations
@@ -57,6 +59,7 @@ A production-ready MCP server that integrates all major Google Workspace service
57
59
  - **📊 Google Sheets**: Comprehensive spreadsheet management with flexible cell operations and comment management
58
60
  - **🖼️ Google Slides**: Presentation management with slide creation, updates, content manipulation, and comment management
59
61
  - **📝 Google Forms**: Form creation, retrieval, publish settings, and response management
62
+ - **✓ Google Tasks**: Complete task and task list management with hierarchy, due dates, and status tracking
60
63
  - **💬 Google Chat**: Space management and messaging capabilities
61
64
  - **🔄 Multiple Transports**: HTTP with SSE fallback, OpenAPI compatibility via `mcpo`
62
65
  - **⚡ High Performance**: Service caching, thread-safe sessions, FastMCP integration
@@ -79,7 +82,7 @@ export GOOGLE_OAUTH_CLIENT_SECRET="your-client-secret"
79
82
  uvx workspace-mcp
80
83
 
81
84
  # Start with specific tools only
82
- uvx workspace-mcp --tools gmail drive calendar
85
+ uvx workspace-mcp --tools gmail drive calendar tasks
83
86
 
84
87
  # Start in HTTP mode for debugging
85
88
  uvx workspace-mcp --transport streamable-http
@@ -107,7 +110,7 @@ uv run main.py
107
110
 
108
111
  1. **Google Cloud Setup**:
109
112
  - Create OAuth 2.0 credentials (web application) in [Google Cloud Console](https://console.cloud.google.com/)
110
- - Enable APIs: Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Chat
113
+ - Enable APIs: Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Tasks, Chat
111
114
  - Add redirect URI: `http://localhost:8000/oauth2callback`
112
115
  - Configure credentials using one of these methods:
113
116
 
@@ -159,7 +162,7 @@ uv run main.py --transport streamable-http
159
162
  uv run main.py --single-user
160
163
 
161
164
  # Selective tool registration (only register specific tools)
162
- uv run main.py --tools gmail drive calendar
165
+ uv run main.py --tools gmail drive calendar tasks
163
166
  uv run main.py --tools sheets docs
164
167
  uv run main.py --single-user --tools gmail # Can combine with other flags
165
168
 
@@ -168,7 +171,7 @@ docker build -t workspace-mcp .
168
171
  docker run -p 8000:8000 -v $(pwd):/app workspace-mcp --transport streamable-http
169
172
  ```
170
173
 
171
- **Available Tools for `--tools` flag**: `gmail`, `drive`, `calendar`, `docs`, `sheets`, `forms`, `chat`
174
+ **Available Tools for `--tools` flag**: `gmail`, `drive`, `calendar`, `docs`, `sheets`, `forms`, `tasks`, `chat`
172
175
 
173
176
  ### Connect to Claude Desktop
174
177
 
@@ -212,7 +215,7 @@ After running the script, just restart Claude Desktop and you're ready to go.
212
215
 
213
216
  **Get Google OAuth Credentials** (if you don't have them):
214
217
  - Go to [Google Cloud Console](https://console.cloud.google.com/)
215
- - Create a new project and enable APIs: Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Chat
218
+ - Create a new project and enable APIs: Calendar, Drive, Gmail, Docs, Sheets, Slides, Forms, Tasks, Chat
216
219
  - Create OAuth 2.0 Client ID (Web application) with redirect URI: `http://localhost:8000/oauth2callback`
217
220
 
218
221
  **Development Installation (For Contributors)**:
@@ -350,6 +353,23 @@ When calling a tool:
350
353
  | `get_form_response` | Get individual form response details |
351
354
  | `list_form_responses` | List all responses to a form with pagination |
352
355
 
356
+ ### ✓ Google Tasks ([`tasks_tools.py`](gtasks/tasks_tools.py))
357
+
358
+ | Tool | Description |
359
+ |------|-------------|
360
+ | `list_task_lists` | List all task lists with pagination support |
361
+ | `get_task_list` | Retrieve details of a specific task list |
362
+ | `create_task_list` | Create new task lists with custom titles |
363
+ | `update_task_list` | Modify existing task list titles |
364
+ | `delete_task_list` | Remove task lists and all contained tasks |
365
+ | `list_tasks` | List tasks in a specific list with filtering options |
366
+ | `get_task` | Retrieve detailed information about a specific task |
367
+ | `create_task` | Create new tasks with title, notes, due dates, and hierarchy |
368
+ | `update_task` | Modify task properties including title, notes, status, and due dates |
369
+ | `delete_task` | Remove tasks from task lists |
370
+ | `move_task` | Reposition tasks within lists or move between lists |
371
+ | `clear_completed_tasks` | Hide all completed tasks from a list |
372
+
353
373
  ### 💬 Google Chat ([`chat_tools.py`](gchat/chat_tools.py))
354
374
 
355
375
  | Tool | Description |
@@ -52,6 +52,10 @@ FORMS_RESPONSES_READONLY_SCOPE = 'https://www.googleapis.com/auth/forms.response
52
52
  SLIDES_SCOPE = 'https://www.googleapis.com/auth/presentations'
53
53
  SLIDES_READONLY_SCOPE = 'https://www.googleapis.com/auth/presentations.readonly'
54
54
 
55
+ # Google Tasks API scopes
56
+ TASKS_SCOPE = 'https://www.googleapis.com/auth/tasks'
57
+ TASKS_READONLY_SCOPE = 'https://www.googleapis.com/auth/tasks.readonly'
58
+
55
59
  # Base OAuth scopes required for user identification
56
60
  BASE_SCOPES = [
57
61
  USERINFO_EMAIL_SCOPE,
@@ -104,5 +108,10 @@ SLIDES_SCOPES = [
104
108
  SLIDES_READONLY_SCOPE
105
109
  ]
106
110
 
111
+ TASKS_SCOPES = [
112
+ TASKS_SCOPE,
113
+ TASKS_READONLY_SCOPE
114
+ ]
115
+
107
116
  # Combined scopes for all supported Google Workspace operations
108
- SCOPES = list(set(BASE_SCOPES + CALENDAR_SCOPES + DRIVE_SCOPES + GMAIL_SCOPES + DOCS_SCOPES + CHAT_SCOPES + SHEETS_SCOPES + FORMS_SCOPES + SLIDES_SCOPES))
117
+ SCOPES = list(set(BASE_SCOPES + CALENDAR_SCOPES + DRIVE_SCOPES + GMAIL_SCOPES + DOCS_SCOPES + CHAT_SCOPES + SHEETS_SCOPES + FORMS_SCOPES + SLIDES_SCOPES + TASKS_SCOPES))
@@ -18,7 +18,8 @@ from auth.scopes import (
18
18
  SHEETS_READONLY_SCOPE, SHEETS_WRITE_SCOPE,
19
19
  CHAT_READONLY_SCOPE, CHAT_WRITE_SCOPE, CHAT_SPACES_SCOPE,
20
20
  FORMS_BODY_SCOPE, FORMS_BODY_READONLY_SCOPE, FORMS_RESPONSES_READONLY_SCOPE,
21
- SLIDES_SCOPE, SLIDES_READONLY_SCOPE
21
+ SLIDES_SCOPE, SLIDES_READONLY_SCOPE,
22
+ TASKS_SCOPE, TASKS_READONLY_SCOPE
22
23
  )
23
24
 
24
25
  # Service configuration mapping
@@ -30,7 +31,8 @@ SERVICE_CONFIGS = {
30
31
  "sheets": {"service": "sheets", "version": "v4"},
31
32
  "chat": {"service": "chat", "version": "v1"},
32
33
  "forms": {"service": "forms", "version": "v1"},
33
- "slides": {"service": "slides", "version": "v1"}
34
+ "slides": {"service": "slides", "version": "v1"},
35
+ "tasks": {"service": "tasks", "version": "v1"}
34
36
  }
35
37
 
36
38
 
@@ -72,6 +74,10 @@ SCOPE_GROUPS = {
72
74
  # Slides scopes
73
75
  "slides": SLIDES_SCOPE,
74
76
  "slides_read": SLIDES_READONLY_SCOPE,
77
+
78
+ # Tasks scopes
79
+ "tasks": TASKS_SCOPE,
80
+ "tasks_read": TASKS_READONLY_SCOPE,
75
81
  }
76
82
 
77
83
  # Service cache: {cache_key: (service, cached_time, user_email)}
@@ -49,6 +49,9 @@ from auth.scopes import (
49
49
  SLIDES_SCOPE,
50
50
  SLIDES_READONLY_SCOPE,
51
51
  SLIDES_SCOPES,
52
+ TASKS_SCOPE,
53
+ TASKS_READONLY_SCOPE,
54
+ TASKS_SCOPES,
52
55
  SCOPES
53
56
  )
54
57
 
@@ -0,0 +1,5 @@
1
+ """
2
+ Google Tasks MCP Integration
3
+
4
+ This module provides MCP tools for interacting with Google Tasks API.
5
+ """