workspace-mcp 1.1.5__py3-none-any.whl → 1.1.6__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.
gtasks/tasks_tools.py CHANGED
@@ -13,12 +13,14 @@ from googleapiclient.errors import HttpError
13
13
 
14
14
  from auth.service_decorator import require_google_service
15
15
  from core.server import server
16
+ from core.utils import handle_http_errors
16
17
 
17
18
  logger = logging.getLogger(__name__)
18
19
 
19
20
 
20
21
  @server.tool()
21
22
  @require_google_service("tasks", "tasks_read")
23
+ @handle_http_errors("list_task_lists")
22
24
  async def list_task_lists(
23
25
  service,
24
26
  user_google_email: str,
@@ -78,6 +80,7 @@ async def list_task_lists(
78
80
 
79
81
  @server.tool()
80
82
  @require_google_service("tasks", "tasks_read")
83
+ @handle_http_errors("get_task_list")
81
84
  async def get_task_list(
82
85
  service,
83
86
  user_google_email: str,
@@ -121,6 +124,7 @@ async def get_task_list(
121
124
 
122
125
  @server.tool()
123
126
  @require_google_service("tasks", "tasks")
127
+ @handle_http_errors("create_task_list")
124
128
  async def create_task_list(
125
129
  service,
126
130
  user_google_email: str,
@@ -168,6 +172,7 @@ async def create_task_list(
168
172
 
169
173
  @server.tool()
170
174
  @require_google_service("tasks", "tasks")
175
+ @handle_http_errors("update_task_list")
171
176
  async def update_task_list(
172
177
  service,
173
178
  user_google_email: str,
@@ -217,6 +222,7 @@ async def update_task_list(
217
222
 
218
223
  @server.tool()
219
224
  @require_google_service("tasks", "tasks")
225
+ @handle_http_errors("delete_task_list")
220
226
  async def delete_task_list(
221
227
  service,
222
228
  user_google_email: str,
@@ -256,6 +262,7 @@ async def delete_task_list(
256
262
 
257
263
  @server.tool()
258
264
  @require_google_service("tasks", "tasks_read")
265
+ @handle_http_errors("list_tasks")
259
266
  async def list_tasks(
260
267
  service,
261
268
  user_google_email: str,
@@ -361,6 +368,7 @@ async def list_tasks(
361
368
 
362
369
  @server.tool()
363
370
  @require_google_service("tasks", "tasks_read")
371
+ @handle_http_errors("get_task")
364
372
  async def get_task(
365
373
  service,
366
374
  user_google_email: str,
@@ -421,6 +429,7 @@ async def get_task(
421
429
 
422
430
  @server.tool()
423
431
  @require_google_service("tasks", "tasks")
432
+ @handle_http_errors("create_task")
424
433
  async def create_task(
425
434
  service,
426
435
  user_google_email: str,
@@ -495,6 +504,7 @@ async def create_task(
495
504
 
496
505
  @server.tool()
497
506
  @require_google_service("tasks", "tasks")
507
+ @handle_http_errors("update_task")
498
508
  async def update_task(
499
509
  service,
500
510
  user_google_email: str,
@@ -576,6 +586,7 @@ async def update_task(
576
586
 
577
587
  @server.tool()
578
588
  @require_google_service("tasks", "tasks")
589
+ @handle_http_errors("delete_task")
579
590
  async def delete_task(
580
591
  service,
581
592
  user_google_email: str,
@@ -617,6 +628,7 @@ async def delete_task(
617
628
 
618
629
  @server.tool()
619
630
  @require_google_service("tasks", "tasks")
631
+ @handle_http_errors("move_task")
620
632
  async def move_task(
621
633
  service,
622
634
  user_google_email: str,
@@ -695,6 +707,7 @@ async def move_task(
695
707
 
696
708
  @server.tool()
697
709
  @require_google_service("tasks", "tasks")
710
+ @handle_http_errors("clear_completed_tasks")
698
711
  async def clear_completed_tasks(
699
712
  service,
700
713
  user_google_email: str,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: workspace-mcp
3
- Version: 1.1.5
3
+ Version: 1.1.6
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
@@ -47,11 +47,11 @@ Dynamic: license-file
47
47
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
48
48
  [![Python 3.11+](https://img.shields.io/badge/Python-3.11%2B-blue.svg)](https://www.python.org/downloads/)
49
49
  [![PyPI](https://img.shields.io/pypi/v/workspace-mcp.svg)](https://pypi.org/project/workspace-mcp/)
50
- [![UV](https://img.shields.io/badge/Package%20Installer-UV-blueviolet)](https://github.com/astral-sh/uv)
50
+ [![PyPI Downloads](https://static.pepy.tech/badge/workspace-mcp/month)](https://pepy.tech/projects/workspace-mcp)
51
51
  [![Website](https://img.shields.io/badge/Website-workspacemcp.com-green.svg)](https://workspacemcp.com)
52
52
  [![Verified on MseeP](https://mseep.ai/badge.svg)](https://mseep.ai/app/eebbc4a6-0f8c-41b2-ace8-038e5516dba0)
53
53
 
54
- **This is the single most feature-complete Google Workspace MCP server**
54
+ **This is the single most feature-complete Google Workspace MCP server** now with 1-click Claude installation
55
55
 
56
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
57
 
@@ -122,11 +122,12 @@ A production-ready MCP server that integrates all major Google Workspace service
122
122
 
123
123
  >
124
124
  **Why DXT?**
125
- > Desktop Extensions (`.dxt`) bundle the server, dependencies, and manifest so users go from download → working MCP in **three clicks** – no terminal, no JSON editing, no version conflicts.
125
+ > Desktop Extensions (`.dxt`) bundle the server, dependencies, and manifest so users go from download → working MCP in **one click** – no terminal, no JSON editing, no version conflicts.
126
126
 
127
127
  #### Required Configuration
128
128
  <details>
129
129
  <summary>Environment - you will configure these in Claude itself, see screenshot:</summary>
130
+
130
131
  | Variable | Purpose |
131
132
  |----------|---------|
132
133
  | `GOOGLE_OAUTH_CLIENT_ID` | OAuth client ID from Google Cloud |
@@ -136,8 +137,10 @@ A production-ready MCP server that integrates all major Google Workspace service
136
137
 
137
138
  Claude Desktop stores these securely in the OS keychain; set them once in the extension pane.
138
139
  </details>
139
- Screenshot here
140
140
 
141
+ <div align="center">
142
+ <video width="832" src="https://github.com/user-attachments/assets/83cca4b3-5e94-448b-acb3-6e3a27341d3a"></video>
143
+ </div>
141
144
  ---
142
145
 
143
146
  ### 2. Advanced / Cross-Platform Installation
@@ -308,8 +311,12 @@ After running the script, just restart Claude Desktop and you're ready to go.
308
311
  "mcpServers": {
309
312
  "google_workspace": {
310
313
  "command": "uv",
311
- "args": ["run", "main.py"],
312
- "cwd": "/path/to/google_workspace_mcp",
314
+ "args": [
315
+ "run",
316
+ "--directory",
317
+ "/path/to/repo/google_workspace_mcp",
318
+ "main.py"
319
+ ],
313
320
  "env": {
314
321
  "GOOGLE_OAUTH_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
315
322
  "GOOGLE_OAUTH_CLIENT_SECRET": "your-client-secret",
@@ -9,28 +9,28 @@ core/__init__.py,sha256=AHVKdPl6v4lUFm2R-KuGuAgEmCyfxseMeLGtntMcqCs,43
9
9
  core/comments.py,sha256=vVfZYjH0kwqFyXcwvBx3m0Ko4WmfTJTkfD3dCQbucuc,11215
10
10
  core/context.py,sha256=zNgPXf9EO2EMs9sQkfKiywoy6sEOksVNgOrJMA_c30Y,768
11
11
  core/server.py,sha256=En_sV6Z19kWx8SO4KAnh8Qg5v2HYw8f9f_WJdEGMDSA,9301
12
- core/utils.py,sha256=sUNPhM0xh3tqgyCZxTcoje37Et-pbNJTksybTatDyho,10127
12
+ core/utils.py,sha256=QLgyM-XNJiAqmr-ac9SLXJBWpN8VxvNurxdW0Ib2N7s,13096
13
13
  gcalendar/__init__.py,sha256=D5fSdAwbeomoaj7XAdxSnIy-NVKNkpExs67175bOtfc,46
14
- gcalendar/calendar_tools.py,sha256=DYbvwqfyFlRQTXIxqezie_2u_2PLGXczhofvkLmNhOU,22136
14
+ gcalendar/calendar_tools.py,sha256=mlWIn26dw7fNGqiIb8NUQNnPsP0b0RJGzp4BvvC85Fk,22193
15
15
  gchat/__init__.py,sha256=XBjH4SbtULfZHgFCxk3moel5XqG599HCgZWl_veIncg,88
16
16
  gchat/chat_tools.py,sha256=cIeXBBxWkFCdQNJ23BkX8IoDho6J8ZcfLsPjctUWyfA,7274
17
17
  gdocs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- gdocs/docs_tools.py,sha256=x7YfzDAgy3bRgZt0P9TfSF0HLP2Yp8SkCeRl7hAvEuc,8437
18
+ gdocs/docs_tools.py,sha256=WrCjya2-MvM7b-DwFAhoXPcV2kNxq4I0V_xaqV3a1ZI,8494
19
19
  gdrive/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- gdrive/drive_tools.py,sha256=l-6IpHTstRMKIY2CU4DFTTNfEQ5rVbafgwo8BrbJ9Bk,15257
20
+ gdrive/drive_tools.py,sha256=NWna_uQ7dmXV4kRPX01A0P7so0sjRfq5awWczg6sloU,15310
21
21
  gforms/__init__.py,sha256=pL91XixrEp9YjpM-AYwONIEfeCP2OumkEG0Io5V4boE,37
22
- gforms/forms_tools.py,sha256=2kV2ZZTMCLcLdP9l-X6Ob9HRSYbPrYezKDc8lOwnRjU,9540
22
+ gforms/forms_tools.py,sha256=0zxXFd1JnHPjCHJp_d1id9UYGxbW3UCklBmVlZTRLHo,9597
23
23
  gmail/__init__.py,sha256=l8PZ4_7Oet6ZE7tVu9oQ3-BaRAmI4YzAO86kf9uu6pU,60
24
- gmail/gmail_tools.py,sha256=7Rbzh8MJ8UwfQ8Gmpu9fustv7vXZ2JWZ5b35Fe28D00,24709
24
+ gmail/gmail_tools.py,sha256=3RpnrjFX_E5d8KUKsyx_K8fWMkDdj01mxha9vZBGwn4,28825
25
25
  gsheets/__init__.py,sha256=jFfhD52w_EOVw6N5guf_dIc9eP2khW_eS9UAPJg_K3k,446
26
- gsheets/sheets_tools.py,sha256=TVlJ-jcIvJ_sJt8xO4-sBWIshb8rabJhjTmZfzHIJsU,11898
26
+ gsheets/sheets_tools.py,sha256=dUXtlpjxhRnPTN4Y0mklrMtW4noqezBfj8Rga2ivw74,11954
27
27
  gslides/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
- gslides/slides_tools.py,sha256=wil3XRyUMzUbpBUMqis0CW5eRuwOrP0Lp7-6WbF4QVU,10117
28
+ gslides/slides_tools.py,sha256=m9FifqBLPFo_tdxH6mvH1-fDUarAnr_ejJ9oMlgKiYQ,10094
29
29
  gtasks/__init__.py,sha256=qwOWUzQbkYLSBrdhCqEkAWPH2lEOljk1mLtrlab9YZc,107
30
- gtasks/tasks_tools.py,sha256=Gy_j1VTeaa4HD2HQe0U1QjG3dQrkijtPNe0dUq5mAZQ,26021
31
- workspace_mcp-1.1.5.dist-info/licenses/LICENSE,sha256=bB8L7rIyRy5o-WHxGgvRuY8hUTzNu4h3DTkvyV8XFJo,1070
32
- workspace_mcp-1.1.5.dist-info/METADATA,sha256=MYM6nexE1H11xoH07B_AVg3E8M5LeQ0n8LlD00W6e7U,23325
33
- workspace_mcp-1.1.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
34
- workspace_mcp-1.1.5.dist-info/entry_points.txt,sha256=kPiEfOTuf-ptDM0Rf2OlyrFudGW7hCZGg4MCn2Foxs4,44
35
- workspace_mcp-1.1.5.dist-info/top_level.txt,sha256=uAg7uV2mETWYRw5g80XtO1lhxVO1sY6_IihNdG_4n24,80
36
- workspace_mcp-1.1.5.dist-info/RECORD,,
30
+ gtasks/tasks_tools.py,sha256=6zmZsZ-8JWUpOIDhvxuBIJsjB9bH8LrdUX0yVlsjlM8,26508
31
+ workspace_mcp-1.1.6.dist-info/licenses/LICENSE,sha256=bB8L7rIyRy5o-WHxGgvRuY8hUTzNu4h3DTkvyV8XFJo,1070
32
+ workspace_mcp-1.1.6.dist-info/METADATA,sha256=OnRwHLeLW-2UsdM-8SxSEkeVCelG-a-4l_plaMqI-dA,23544
33
+ workspace_mcp-1.1.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
34
+ workspace_mcp-1.1.6.dist-info/entry_points.txt,sha256=kPiEfOTuf-ptDM0Rf2OlyrFudGW7hCZGg4MCn2Foxs4,44
35
+ workspace_mcp-1.1.6.dist-info/top_level.txt,sha256=uAg7uV2mETWYRw5g80XtO1lhxVO1sY6_IihNdG_4n24,80
36
+ workspace_mcp-1.1.6.dist-info/RECORD,,