universal-mcp-applications 0.1.17__py3-none-any.whl → 0.1.33__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.

Potentially problematic release.


This version of universal-mcp-applications might be problematic. Click here for more details.

Files changed (143) hide show
  1. universal_mcp/applications/BEST_PRACTICES.md +166 -0
  2. universal_mcp/applications/ahrefs/README.md +3 -3
  3. universal_mcp/applications/airtable/README.md +3 -3
  4. universal_mcp/applications/airtable/app.py +0 -1
  5. universal_mcp/applications/apollo/app.py +0 -1
  6. universal_mcp/applications/asana/README.md +3 -3
  7. universal_mcp/applications/aws_s3/README.md +29 -0
  8. universal_mcp/applications/aws_s3/app.py +40 -39
  9. universal_mcp/applications/bill/README.md +249 -0
  10. universal_mcp/applications/browser_use/README.md +1 -0
  11. universal_mcp/applications/browser_use/__init__.py +0 -0
  12. universal_mcp/applications/browser_use/app.py +71 -0
  13. universal_mcp/applications/calendly/README.md +45 -45
  14. universal_mcp/applications/calendly/app.py +125 -125
  15. universal_mcp/applications/canva/README.md +35 -35
  16. universal_mcp/applications/canva/app.py +95 -99
  17. universal_mcp/applications/clickup/README.md +4 -4
  18. universal_mcp/applications/confluence/app.py +0 -1
  19. universal_mcp/applications/contentful/README.md +1 -2
  20. universal_mcp/applications/contentful/app.py +4 -5
  21. universal_mcp/applications/crustdata/README.md +3 -3
  22. universal_mcp/applications/domain_checker/README.md +2 -2
  23. universal_mcp/applications/domain_checker/app.py +11 -15
  24. universal_mcp/applications/e2b/README.md +4 -4
  25. universal_mcp/applications/e2b/app.py +4 -4
  26. universal_mcp/applications/elevenlabs/README.md +3 -77
  27. universal_mcp/applications/elevenlabs/app.py +18 -15
  28. universal_mcp/applications/exa/README.md +7 -7
  29. universal_mcp/applications/exa/app.py +17 -17
  30. universal_mcp/applications/falai/README.md +13 -12
  31. universal_mcp/applications/falai/app.py +34 -35
  32. universal_mcp/applications/figma/README.md +3 -3
  33. universal_mcp/applications/file_system/README.md +13 -0
  34. universal_mcp/applications/file_system/app.py +9 -9
  35. universal_mcp/applications/firecrawl/README.md +9 -9
  36. universal_mcp/applications/firecrawl/app.py +46 -46
  37. universal_mcp/applications/fireflies/README.md +14 -14
  38. universal_mcp/applications/fireflies/app.py +164 -57
  39. universal_mcp/applications/fpl/README.md +12 -12
  40. universal_mcp/applications/fpl/app.py +54 -55
  41. universal_mcp/applications/ghost_content/app.py +0 -1
  42. universal_mcp/applications/github/README.md +10 -10
  43. universal_mcp/applications/github/app.py +50 -52
  44. universal_mcp/applications/google_calendar/README.md +10 -10
  45. universal_mcp/applications/google_calendar/app.py +50 -49
  46. universal_mcp/applications/google_docs/README.md +14 -14
  47. universal_mcp/applications/google_docs/app.py +307 -233
  48. universal_mcp/applications/google_drive/README.md +54 -57
  49. universal_mcp/applications/google_drive/app.py +270 -261
  50. universal_mcp/applications/google_gemini/README.md +3 -14
  51. universal_mcp/applications/google_gemini/app.py +15 -18
  52. universal_mcp/applications/google_mail/README.md +20 -20
  53. universal_mcp/applications/google_mail/app.py +110 -109
  54. universal_mcp/applications/google_searchconsole/README.md +10 -10
  55. universal_mcp/applications/google_searchconsole/app.py +37 -37
  56. universal_mcp/applications/google_sheet/README.md +25 -25
  57. universal_mcp/applications/google_sheet/app.py +270 -266
  58. universal_mcp/applications/hashnode/README.md +6 -3
  59. universal_mcp/applications/hashnode/app.py +174 -25
  60. universal_mcp/applications/http_tools/README.md +5 -5
  61. universal_mcp/applications/http_tools/app.py +10 -11
  62. universal_mcp/applications/hubspot/api_segments/__init__.py +0 -0
  63. universal_mcp/applications/hubspot/api_segments/api_segment_base.py +54 -0
  64. universal_mcp/applications/hubspot/api_segments/crm_api.py +7337 -0
  65. universal_mcp/applications/hubspot/api_segments/marketing_api.py +1467 -0
  66. universal_mcp/applications/hubspot/app.py +2 -15
  67. universal_mcp/applications/jira/app.py +0 -1
  68. universal_mcp/applications/klaviyo/README.md +0 -36
  69. universal_mcp/applications/linkedin/README.md +18 -4
  70. universal_mcp/applications/linkedin/app.py +763 -162
  71. universal_mcp/applications/mailchimp/README.md +3 -3
  72. universal_mcp/applications/markitdown/app.py +10 -5
  73. universal_mcp/applications/ms_teams/README.md +31 -31
  74. universal_mcp/applications/ms_teams/app.py +151 -151
  75. universal_mcp/applications/neon/README.md +3 -3
  76. universal_mcp/applications/onedrive/README.md +24 -0
  77. universal_mcp/applications/onedrive/__init__.py +1 -0
  78. universal_mcp/applications/onedrive/app.py +338 -0
  79. universal_mcp/applications/openai/README.md +18 -17
  80. universal_mcp/applications/openai/app.py +40 -39
  81. universal_mcp/applications/outlook/README.md +9 -9
  82. universal_mcp/applications/outlook/app.py +307 -225
  83. universal_mcp/applications/perplexity/README.md +4 -4
  84. universal_mcp/applications/perplexity/app.py +4 -4
  85. universal_mcp/applications/posthog/README.md +128 -127
  86. universal_mcp/applications/reddit/README.md +21 -124
  87. universal_mcp/applications/reddit/app.py +51 -68
  88. universal_mcp/applications/resend/README.md +29 -29
  89. universal_mcp/applications/resend/app.py +116 -117
  90. universal_mcp/applications/rocketlane/app.py +0 -1
  91. universal_mcp/applications/scraper/README.md +7 -4
  92. universal_mcp/applications/scraper/__init__.py +1 -1
  93. universal_mcp/applications/scraper/app.py +341 -103
  94. universal_mcp/applications/semrush/README.md +3 -0
  95. universal_mcp/applications/serpapi/README.md +3 -3
  96. universal_mcp/applications/serpapi/app.py +14 -14
  97. universal_mcp/applications/sharepoint/README.md +19 -0
  98. universal_mcp/applications/sharepoint/app.py +285 -173
  99. universal_mcp/applications/shopify/app.py +0 -1
  100. universal_mcp/applications/shortcut/README.md +3 -3
  101. universal_mcp/applications/slack/README.md +23 -0
  102. universal_mcp/applications/slack/app.py +79 -48
  103. universal_mcp/applications/spotify/README.md +3 -3
  104. universal_mcp/applications/supabase/README.md +3 -3
  105. universal_mcp/applications/tavily/README.md +4 -4
  106. universal_mcp/applications/tavily/app.py +4 -4
  107. universal_mcp/applications/twilio/README.md +15 -0
  108. universal_mcp/applications/twitter/README.md +92 -89
  109. universal_mcp/applications/twitter/api_segments/compliance_api.py +13 -15
  110. universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +20 -20
  111. universal_mcp/applications/twitter/api_segments/dm_events_api.py +12 -12
  112. universal_mcp/applications/twitter/api_segments/likes_api.py +12 -12
  113. universal_mcp/applications/twitter/api_segments/lists_api.py +37 -39
  114. universal_mcp/applications/twitter/api_segments/spaces_api.py +24 -24
  115. universal_mcp/applications/twitter/api_segments/trends_api.py +4 -4
  116. universal_mcp/applications/twitter/api_segments/tweets_api.py +105 -105
  117. universal_mcp/applications/twitter/api_segments/usage_api.py +4 -4
  118. universal_mcp/applications/twitter/api_segments/users_api.py +136 -136
  119. universal_mcp/applications/twitter/app.py +15 -11
  120. universal_mcp/applications/whatsapp/README.md +12 -12
  121. universal_mcp/applications/whatsapp/app.py +66 -67
  122. universal_mcp/applications/whatsapp/audio.py +39 -35
  123. universal_mcp/applications/whatsapp/whatsapp.py +176 -154
  124. universal_mcp/applications/whatsapp_business/README.md +23 -23
  125. universal_mcp/applications/whatsapp_business/app.py +92 -92
  126. universal_mcp/applications/yahoo_finance/README.md +17 -0
  127. universal_mcp/applications/yahoo_finance/__init__.py +1 -0
  128. universal_mcp/applications/yahoo_finance/app.py +300 -0
  129. universal_mcp/applications/youtube/README.md +46 -46
  130. universal_mcp/applications/youtube/app.py +208 -195
  131. universal_mcp/applications/zenquotes/README.md +1 -1
  132. universal_mcp/applications/zenquotes/__init__.py +2 -0
  133. universal_mcp/applications/zenquotes/app.py +5 -5
  134. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/METADATA +5 -90
  135. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/RECORD +137 -128
  136. universal_mcp/applications/replicate/README.md +0 -18
  137. universal_mcp/applications/replicate/__init__.py +0 -1
  138. universal_mcp/applications/replicate/app.py +0 -493
  139. universal_mcp/applications/unipile/README.md +0 -28
  140. universal_mcp/applications/unipile/__init__.py +0 -1
  141. universal_mcp/applications/unipile/app.py +0 -827
  142. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/WHEEL +0 -0
  143. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/licenses/LICENSE +0 -0
@@ -4,7 +4,6 @@ from email.message import EmailMessage
4
4
  from typing import Any
5
5
 
6
6
  from loguru import logger
7
-
8
7
  from universal_mcp.applications.application import APIApplication
9
8
  from universal_mcp.integrations import Integration
10
9
 
@@ -24,23 +23,23 @@ class GoogleMailApp(APIApplication):
24
23
  thread_id: str | None = None,
25
24
  ) -> dict[str, Any]:
26
25
  """
27
- Composes and immediately sends an email message via the Gmail API. It can function as a reply within an existing conversation if a `thread_id` is provided. This action is distinct from `send_draft`, which sends a previously saved draft message.
28
-
26
+ Composes and immediately sends an email message via the Gmail API. It can function as a reply within an existing conversation if a `thread_id` is provided. This action is distinct from `send_draft`, which sends a previously saved draft message, or `create_draft`, which only saves an email.
27
+
29
28
  Args:
30
29
  to: The email address of the recipient
31
30
  subject: The subject line of the email
32
31
  body: The content of the email message
33
32
  body_type: The MIME subtype for the body ("plain" or "html"). Defaults to "plain".
34
33
  thread_id: Optional thread ID to make this a reply to an existing conversation
35
-
34
+
36
35
  Returns:
37
36
  A string containing either a success confirmation message or an error description
38
-
37
+
39
38
  Raises:
40
39
  NotAuthorizedError: When Gmail API authentication is not valid or has expired
41
40
  KeyError: When required configuration keys are missing
42
41
  Exception: For any other unexpected errors during the email sending process
43
-
42
+
44
43
  Tags:
45
44
  send, email, api, communication, important, thread, reply, openWorldHint
46
45
  """
@@ -79,23 +78,23 @@ class GoogleMailApp(APIApplication):
79
78
  thread_id: str | None = None,
80
79
  ) -> dict[str, Any]:
81
80
  """
82
- Saves a new draft email in Gmail with a specified recipient, subject, and body. An optional thread ID can be provided to create the draft as a reply within an existing conversation, distinguishing it from `send_email` which sends immediately.
83
-
81
+ Saves a new email draft in Gmail with a specified recipient, subject, and body. An optional thread ID can create the draft as a reply within an existing conversation, distinguishing it from `send_email`, which sends immediately.
82
+
84
83
  Args:
85
84
  to: The email address of the recipient
86
85
  subject: The subject line of the draft email
87
86
  body: The main content/message of the draft email
88
87
  body_type: The MIME subtype for the body ("plain" or "html"). Defaults to "plain".
89
88
  thread_id: Optional thread ID to make this draft a reply to an existing conversation
90
-
89
+
91
90
  Returns:
92
91
  A string containing either a success message with the draft ID or an error message describing the failure
93
-
92
+
94
93
  Raises:
95
94
  NotAuthorizedError: When the user's Gmail API authorization is invalid or expired
96
95
  KeyError: When required configuration keys are missing
97
96
  Exception: For general API errors, network issues, or other unexpected problems
98
-
97
+
99
98
  Tags:
100
99
  create, email, draft, gmail, api, important, thread, reply, html
101
100
  """
@@ -118,19 +117,19 @@ class GoogleMailApp(APIApplication):
118
117
 
119
118
  def send_draft(self, draft_id: str) -> dict[str, Any]:
120
119
  """
121
- Sends a pre-existing Gmail draft identified by its unique ID. It posts to the `/drafts/send` endpoint, converting a saved draft into a sent message. This function acts on drafts created via `create_draft` and differs from `send_email`, which sends a new email in one step.
122
-
120
+ Sends a pre-existing Gmail draft identified by its unique ID. It posts to the `/drafts/send` endpoint, converting a saved draft into a sent message. This function acts on drafts from `create_draft` and differs from `send_email`, which composes and sends an email in one step.
121
+
123
122
  Args:
124
123
  draft_id: The unique identifier of the Gmail draft to be sent
125
-
124
+
126
125
  Returns:
127
126
  A string containing either a success message with the sent message ID or an error message detailing the failure reason
128
-
127
+
129
128
  Raises:
130
129
  NotAuthorizedError: When the user's Gmail API authorization is invalid or expired
131
130
  KeyError: When required configuration keys are missing from the API response
132
131
  Exception: For other unexpected errors during the API request or response handling
133
-
132
+
134
133
  Tags:
135
134
  send, email, api, communication, important, draft
136
135
  """
@@ -148,19 +147,19 @@ class GoogleMailApp(APIApplication):
148
147
  def get_draft(self, draft_id: str, format: str = "full") -> dict[str, Any]:
149
148
  """
150
149
  Retrieves a specific Gmail draft by its unique ID. This function allows specifying the output format (e.g., full, raw) to control the response detail. Unlike `list_drafts`, it fetches a single, known draft rather than a collection of multiple drafts.
151
-
150
+
152
151
  Args:
153
152
  draft_id: String identifier of the draft email to retrieve
154
153
  format: Output format of the draft (options: minimal, full, raw, metadata). Defaults to 'full'
155
-
154
+
156
155
  Returns:
157
156
  A formatted string containing the draft email details (ID, recipient, subject) or an error message if retrieval fails
158
-
157
+
159
158
  Raises:
160
159
  NotAuthorizedError: When the user's Gmail authorization is invalid or expired
161
160
  KeyError: When required configuration keys or response data fields are missing
162
161
  Exception: For any other unexpected errors during draft retrieval
163
-
162
+
164
163
  Tags:
165
164
  retrieve, email, gmail, draft, api, format, important
166
165
  """
@@ -183,21 +182,21 @@ class GoogleMailApp(APIApplication):
183
182
  include_spam_trash: bool = False,
184
183
  ) -> dict[str, Any]:
185
184
  """
186
- Retrieves a list of email drafts from a Gmail account, supporting filtering via search query and limiting results. Can optionally include drafts from spam and trash, returning the raw API response with draft objects and metadata, distinguishing it from `get_draft` which fetches a single, specific draft.
187
-
185
+ Fetches a list of email drafts, allowing filtering by a search query and limiting results. It can optionally include drafts from spam and trash, returning a collection of draft objects. This is distinct from `get_draft`, which retrieves only a single, specific draft by its ID.
186
+
188
187
  Args:
189
188
  max_results: Maximum number of drafts to return (max 500, default 20)
190
189
  q: Search query string to filter drafts using Gmail search syntax (default None)
191
190
  include_spam_trash: Boolean flag to include drafts from spam and trash folders (default False)
192
-
191
+
193
192
  Returns:
194
193
  A formatted string containing the list of draft IDs and count information, or an error message if the request fails
195
-
194
+
196
195
  Raises:
197
196
  NotAuthorizedError: When the Gmail API authentication is missing or invalid
198
197
  KeyError: When required configuration keys are missing
199
198
  Exception: For general errors during API communication or data processing
200
-
199
+
201
200
  Tags:
202
201
  list, email, drafts, gmail, api, search, query, pagination, important
203
202
  """
@@ -221,14 +220,14 @@ class GoogleMailApp(APIApplication):
221
220
 
222
221
  def get_message_details(self, message_id: str) -> dict[str, Any]:
223
222
  """
224
- Retrieves a specific email from Gmail by its ID. It parses the API response to extract and format key details—including sender, recipient, subject, and full body content—into a structured dictionary. This provides detailed data for other functions like `list_messages`.
225
-
223
+ Retrieves a specific email from Gmail by its ID. It parses the API response to extract and format key details—including sender, subject, body, and attachments—into a structured dictionary. This function provides detailed data for a single message, distinguishing it from `list_messages` which fetches multiple messages.
224
+
226
225
  Args:
227
226
  message_id: The unique identifier of the Gmail message to retrieve
228
-
227
+
229
228
  Returns:
230
229
  A dictionary containing the cleaned message details (serializable as JSON)
231
-
230
+
232
231
  Tags:
233
232
  retrieve, email, format, api, gmail, message, important, body, content, attachments
234
233
  """
@@ -265,8 +264,6 @@ class GoogleMailApp(APIApplication):
265
264
  "attachments": attachments,
266
265
  }
267
266
 
268
-
269
-
270
267
  def _extract_email_body(self, payload):
271
268
  """
272
269
  Extracts the email body content from the Gmail API payload.
@@ -332,26 +329,30 @@ class GoogleMailApp(APIApplication):
332
329
  list: List of attachment dictionaries with attachment_id, filename, mime_type, and size
333
330
  """
334
331
  attachments = []
335
-
332
+
336
333
  try:
337
334
  if payload.get("filename") and payload.get("body", {}).get("attachmentId"):
338
- attachments.append({
339
- "attachment_id": payload["body"]["attachmentId"],
340
- "filename": payload["filename"],
341
- "mime_type": payload.get("mimeType", ""),
342
- "size": payload.get("body", {}).get("size", 0)
343
- })
335
+ attachments.append(
336
+ {
337
+ "attachment_id": payload["body"]["attachmentId"],
338
+ "filename": payload["filename"],
339
+ "mime_type": payload.get("mimeType", ""),
340
+ "size": payload.get("body", {}).get("size", 0),
341
+ }
342
+ )
344
343
 
345
344
  parts = payload.get("parts", [])
346
345
  for part in parts:
347
346
  if part.get("filename") and part.get("body", {}).get("attachmentId"):
348
- attachments.append({
349
- "attachment_id": part["body"]["attachmentId"],
350
- "filename": part["filename"],
351
- "mime_type": part.get("mimeType", ""),
352
- "size": part.get("body", {}).get("size", 0)
353
- })
354
-
347
+ attachments.append(
348
+ {
349
+ "attachment_id": part["body"]["attachmentId"],
350
+ "filename": part["filename"],
351
+ "mime_type": part.get("mimeType", ""),
352
+ "size": part.get("body", {}).get("size", 0),
353
+ }
354
+ )
355
+
355
356
  elif part.get("parts"):
356
357
  nested_attachments = self._extract_attachments(part)
357
358
  attachments.extend(nested_attachments)
@@ -387,8 +388,8 @@ class GoogleMailApp(APIApplication):
387
388
  page_token: str | None = None,
388
389
  ) -> dict[str, Any]:
389
390
  """
390
- Fetches a paginated list of detailed email messages from Gmail using optional search queries. It concurrently retrieves the full content (sender, subject, body) for each message, returning the results and a token to access the next page. This differs from `get_message_details` which fetches only one.
391
-
391
+ Fetches a paginated list of detailed email messages using optional search queries. It concurrently retrieves full content (sender, subject, body) for each message, returning the results and a pagination token. This differs from `get_message_details`, which fetches only a single message.
392
+
392
393
  Args:
393
394
  max_results: Maximum number of messages to return (max 500, default 20)
394
395
  q: Search query string to filter messages using Gmail search syntax.
@@ -409,15 +410,15 @@ class GoogleMailApp(APIApplication):
409
410
  - 'has:attachment' for emails with attachments
410
411
  - 'is:unread' for unread emails
411
412
  include_spam_trash: Boolean flag to include messages from spam and trash folders (default False)
412
-
413
+
413
414
  Returns:
414
415
  A dictionary containing the list of messages and next page token for pagination
415
-
416
+
416
417
  Raises:
417
418
  NotAuthorizedError: When the Gmail API authentication is invalid or missing
418
419
  KeyError: When required configuration keys are missing
419
420
  Exception: For general API errors, network issues, or other unexpected problems
420
-
421
+
421
422
  Tags:
422
423
  list, messages, gmail, search, query, pagination, important
423
424
  """
@@ -471,19 +472,19 @@ class GoogleMailApp(APIApplication):
471
472
 
472
473
  def get_email_thread(self, thread_id: str) -> dict[str, Any]:
473
474
  """
474
- Retrieves a complete email conversation from the Gmail API by its thread ID. It returns a dictionary containing all messages and metadata for the entire thread, providing the full context of the conversation.
475
-
475
+ Fetches a complete email conversation by its unique thread ID. Unlike `get_message_details`, which retrieves a single message, this returns all messages and metadata for the entire thread, providing the full context of the conversation.
476
+
476
477
  Args:
477
478
  thread_id: The unique identifier of the Gmail thread to retrieve
478
-
479
+
479
480
  Returns:
480
481
  A dictionary containing the thread details and all messages in the thread
481
-
482
+
482
483
  Raises:
483
484
  NotAuthorizedError: When Gmail API authentication is invalid or missing
484
485
  KeyError: When required configuration keys are missing
485
486
  Exception: For general errors during API communication or data processing
486
-
487
+
487
488
  Tags:
488
489
  retrieve, email, thread, gmail, api, conversation, important, readOnlyHint, openWorldHint
489
490
  """
@@ -494,18 +495,18 @@ class GoogleMailApp(APIApplication):
494
495
 
495
496
  def list_labels(self) -> dict[str, Any]:
496
497
  """
497
- Fetches a complete list of all available labels from the user's Gmail account via the API. This includes both system-defined (e.g., INBOX) and user-created labels, returning details such as their names, IDs, and types after standard response handling.
498
-
498
+ Fetches a complete list of all available labels from the user's Gmail account via the API. It retrieves both system-defined (e.g., INBOX) and user-created labels, returning their names and IDs, complementing management functions like `create_label` and `update_label`.
499
+
499
500
  Args:
500
501
  None: This method takes no arguments
501
-
502
+
502
503
  Returns:
503
504
  A formatted string containing a list of Gmail labels categorized by type (system and user), with their IDs, or an error message if the operation fails.
504
-
505
+
505
506
  Raises:
506
507
  NotAuthorizedError: Raised when the user's Gmail authorization is invalid or missing
507
508
  Exception: Raised when any other unexpected error occurs during the API request or data processing
508
-
509
+
509
510
  Tags:
510
511
  list, gmail, labels, fetch, organize, important, management
511
512
  """
@@ -520,18 +521,18 @@ class GoogleMailApp(APIApplication):
520
521
 
521
522
  def create_label(self, name: str) -> dict[str, Any]:
522
523
  """
523
- Creates a new Gmail label with a specified name. The function hardcodes the label's visibility settings to ensure it appears in both the label and message lists. It returns the API response, which includes the new label's details upon success or an error message on failure.
524
-
524
+ Creates a new Gmail label with a specified name, hardcoding its visibility to ensure it appears in both label and message lists. This function complements `update_label` and `delete_label` by adding new organizational tags to the user's account via the API.
525
+
525
526
  Args:
526
527
  name: The display name of the label to create
527
-
528
+
528
529
  Returns:
529
530
  A formatted string containing the creation status, including the new label's name and ID if successful, or an error message if the creation fails
530
-
531
+
531
532
  Raises:
532
533
  NotAuthorizedError: Raised when the request lacks proper Gmail API authorization
533
534
  Exception: Raised for any other unexpected errors during label creation
534
-
535
+
535
536
  Tags:
536
537
  create, label, gmail, management, important
537
538
  """
@@ -554,17 +555,17 @@ class GoogleMailApp(APIApplication):
554
555
  def get_profile(self) -> dict[str, Any]:
555
556
  """
556
557
  Retrieves the authenticated user's Gmail profile from the API. The profile includes the user's email address, total message and thread counts, and the mailbox's history ID, offering a high-level summary of the account's state.
557
-
558
+
558
559
  Args:
559
560
  None: This method takes no arguments besides self
560
-
561
+
561
562
  Returns:
562
563
  A formatted string containing the user's Gmail profile information or an error message if the request fails
563
-
564
+
564
565
  Raises:
565
566
  NotAuthorizedError: Raised when the user's credentials are invalid or authorization is required
566
567
  Exception: Raised for any other unexpected errors during the API request or data processing
567
-
568
+
568
569
  Tags:
569
570
  fetch, profile, gmail, user-info, api-request, important
570
571
  """
@@ -594,8 +595,8 @@ class GoogleMailApp(APIApplication):
594
595
  message=None,
595
596
  ) -> dict[str, Any]:
596
597
  """
597
- Updates a specific Gmail draft by its ID, replacing its existing content and metadata. The new message body and headers are provided in a message object, allowing for complete modification of the draft before it is sent.
598
-
598
+ Replaces the entire content of a specific Gmail draft, identified by its ID, with a new message object. This allows complete modification of the recipient, subject, and body, serving as the primary "edit" function for drafts created via `create_draft`.
599
+
599
600
  Args:
600
601
  userId (string): userId
601
602
  id (string): id
@@ -658,10 +659,10 @@ class GoogleMailApp(APIApplication):
658
659
  }
659
660
  }
660
661
  ```
661
-
662
+
662
663
  Returns:
663
664
  dict[str, Any]: Successful response
664
-
665
+
665
666
  Tags:
666
667
  Drafts
667
668
  """
@@ -713,8 +714,8 @@ class GoogleMailApp(APIApplication):
713
714
  xgafv=None,
714
715
  ) -> dict[str, Any]:
715
716
  """
716
- Moves a specific Gmail message to the trash folder using its unique ID. This action serves as a soft delete and is the direct counterpart to `untrash_messages`, which restores a trashed message. It requires both a user ID and message ID to execute.
717
-
717
+ Moves a specific Gmail message to the trash folder by its unique ID. This action performs a soft delete and is the direct counterpart to `untrash_message`, which restores a message. It requires both a user ID and the specific message ID to make the API call.
718
+
718
719
  Args:
719
720
  userId (string): userId
720
721
  id (string): id
@@ -729,10 +730,10 @@ class GoogleMailApp(APIApplication):
729
730
  upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
730
731
  uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
731
732
  xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
732
-
733
+
733
734
  Returns:
734
735
  dict[str, Any]: Successful response
735
-
736
+
736
737
  Tags:
737
738
  Messages, important
738
739
  """
@@ -779,8 +780,8 @@ class GoogleMailApp(APIApplication):
779
780
  xgafv=None,
780
781
  ) -> dict[str, Any]:
781
782
  """
782
- Restores a specific Gmail message from the trash to the user's mailbox, identified by its unique ID. It serves as the direct counterpart to `trash_messsages`, undoing the deletion action and making the message visible again in the user's account via an API call.
783
-
783
+ Restores a specific Gmail message from the trash to the user's mailbox, identified by its unique ID. It serves as the direct counterpart to `trash_message`, undoing the deletion action and making the message visible again in the user's account via an API call.
784
+
784
785
  Args:
785
786
  userId (string): userId
786
787
  id (string): id
@@ -795,10 +796,10 @@ class GoogleMailApp(APIApplication):
795
796
  upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
796
797
  uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
797
798
  xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
798
-
799
+
799
800
  Returns:
800
801
  dict[str, Any]: Successful response
801
-
802
+
802
803
  Tags:
803
804
  Messages
804
805
  """
@@ -846,8 +847,8 @@ class GoogleMailApp(APIApplication):
846
847
  xgafv=None,
847
848
  ) -> dict[str, Any]:
848
849
  """
849
- Retrieves a specific email attachment's content by its unique ID from a specified message. It requires the user, message, and attachment IDs to make a targeted API request, returning the attachment's size and base64-encoded data.
850
-
850
+ Fetches the raw, base64-encoded content of a specific email attachment using its unique ID. It requires the parent message and user IDs for a targeted API request, returning the file's size and data for download or processing, unlike functions that only list attachment metadata.
851
+
851
852
  Args:
852
853
  userId (string): userId
853
854
  messageId (string): messageId
@@ -863,10 +864,10 @@ class GoogleMailApp(APIApplication):
863
864
  upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
864
865
  uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
865
866
  xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
866
-
867
+
867
868
  Returns:
868
869
  dict[str, Any]: Successful response
869
-
870
+
870
871
  Tags:
871
872
  Messages
872
873
  """
@@ -924,8 +925,8 @@ class GoogleMailApp(APIApplication):
924
925
  type=None,
925
926
  ) -> dict[str, Any]:
926
927
  """
927
- Updates an existing Gmail label's properties, such as its name, color, or visibility, using its unique ID. It sends a PUT request to the Gmail API and returns the full, updated label resource as a dictionary upon successful modification.
928
-
928
+ Updates an existing Gmail label's properties, such as its name, color, or visibility, using its unique ID. This modification function is distinct from `create_label` and `delete_label`, returning the full, updated label resource from the API upon successful completion.
929
+
929
930
  Args:
930
931
  userId (string): userId
931
932
  id (string): id
@@ -967,10 +968,10 @@ class GoogleMailApp(APIApplication):
967
968
  "type": "system"
968
969
  }
969
970
  ```
970
-
971
+
971
972
  Returns:
972
973
  dict[str, Any]: Successful response
973
-
974
+
974
975
  Tags:
975
976
  Labels
976
977
  """
@@ -1030,8 +1031,8 @@ class GoogleMailApp(APIApplication):
1030
1031
  xgafv=None,
1031
1032
  ) -> Any:
1032
1033
  """
1033
- Permanently removes a specific Gmail label from a user's account, identified by its unique ID. This function performs an irreversible deletion via an API call, requiring both the `userId` and the label `id`. It is the destructive counterpart to `create_label` and `update_labels`.
1034
-
1034
+ Permanently removes a specific Gmail label from a user's account, identified by its unique ID. This function performs an irreversible deletion via an API call, requiring both the `userId` and the label `id`. It is the destructive counterpart to `create_label` and `update_label`.
1035
+
1035
1036
  Args:
1036
1037
  userId (string): userId
1037
1038
  id (string): id
@@ -1046,10 +1047,10 @@ class GoogleMailApp(APIApplication):
1046
1047
  upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
1047
1048
  uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
1048
1049
  xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
1049
-
1050
+
1050
1051
  Returns:
1051
1052
  Any: No Content
1052
-
1053
+
1053
1054
  Tags:
1054
1055
  Labels
1055
1056
  """
@@ -1096,8 +1097,8 @@ class GoogleMailApp(APIApplication):
1096
1097
  xgafv=None,
1097
1098
  ) -> dict[str, Any]:
1098
1099
  """
1099
- Fetches the configuration for a single Gmail filter using its unique ID. It returns the specific criteria (e.g., from, subject) and the automated actions (e.g., add label, archive) defined for that filter.
1100
-
1100
+ Fetches a single Gmail filter's configuration by its unique ID for a specified user. It returns the filter’s criteria (e.g., sender) and actions (e.g., add label). This differs from `get_all_filters`, which retrieves a complete list of all filters for the user.
1101
+
1101
1102
  Args:
1102
1103
  userId (string): userId
1103
1104
  id (string): id
@@ -1112,10 +1113,10 @@ class GoogleMailApp(APIApplication):
1112
1113
  upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
1113
1114
  uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
1114
1115
  xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
1115
-
1116
+
1116
1117
  Returns:
1117
1118
  dict[str, Any]: Successful response
1118
-
1119
+
1119
1120
  Tags:
1120
1121
  settings, Filters
1121
1122
  """
@@ -1162,8 +1163,8 @@ class GoogleMailApp(APIApplication):
1162
1163
  xgafv=None,
1163
1164
  ) -> Any:
1164
1165
  """
1165
- Deletes a specific Gmail filter using its unique ID for a specified user account. This action permanently removes the filter and its associated automation rules, such as applying labels or forwarding messages, from the user's Gmail settings.
1166
-
1166
+ Permanently removes a specific Gmail filter, identified by its unique ID, from a user's account. This action deletes the filter's criteria and all associated automation rules, making it the destructive counterpart to `create_filter` and `get_filter`.
1167
+
1167
1168
  Args:
1168
1169
  userId (string): userId
1169
1170
  id (string): id
@@ -1178,10 +1179,10 @@ class GoogleMailApp(APIApplication):
1178
1179
  upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
1179
1180
  uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
1180
1181
  xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
1181
-
1182
+
1182
1183
  Returns:
1183
1184
  Any: No Content
1184
-
1185
+
1185
1186
  Tags:
1186
1187
  settings, Filters
1187
1188
  """
@@ -1227,8 +1228,8 @@ class GoogleMailApp(APIApplication):
1227
1228
  xgafv=None,
1228
1229
  ) -> dict[str, Any]:
1229
1230
  """
1230
- Retrieves all configured email filters for a specified Gmail user ID. It fetches a list of a user's filters, including their matching criteria and automated actions, providing a comprehensive overview of their email organization rules via the Gmail API.
1231
-
1231
+ Retrieves all configured email filters for a specified Gmail user ID. It fetches a list of a user's filters, including their matching criteria and automated actions, distinguishing it from `get_filter`, which retrieves only a single filter.
1232
+
1232
1233
  Args:
1233
1234
  userId (string): userId
1234
1235
  access_token (string): OAuth access token. Example: '{{access_token}}'.
@@ -1242,10 +1243,10 @@ class GoogleMailApp(APIApplication):
1242
1243
  upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
1243
1244
  uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
1244
1245
  xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
1245
-
1246
+
1246
1247
  Returns:
1247
1248
  dict[str, Any]: Successful response
1248
-
1249
+
1249
1250
  Tags:
1250
1251
  settings, Filters
1251
1252
  """
@@ -1292,8 +1293,8 @@ class GoogleMailApp(APIApplication):
1292
1293
  id=None,
1293
1294
  ) -> dict[str, Any]:
1294
1295
  """
1295
- Sets up a new automated email filter in Gmail. It requires defining matching criteria (like sender or subject) and an action (like adding a label) to apply to emails that meet those criteria for a specified user account.
1296
-
1296
+ Creates a new automated email filter in Gmail for a specified user. It requires defining matching criteria (e.g., sender, subject) and an action (e.g., add label). This function adds new rules, distinguishing it from `get_all_filters` and `delete_filter` which manage existing ones.
1297
+
1297
1298
  Args:
1298
1299
  userId (string): userId
1299
1300
  access_token (string): OAuth access token. Example: '{{access_token}}'.
@@ -1338,10 +1339,10 @@ class GoogleMailApp(APIApplication):
1338
1339
  "id": "in aute anim"
1339
1340
  }
1340
1341
  ```
1341
-
1342
+
1342
1343
  Returns:
1343
1344
  dict[str, Any]: Successful response
1344
-
1345
+
1345
1346
  Tags:
1346
1347
  settings, Filters
1347
1348
  """
@@ -9,13 +9,13 @@ This is automatically generated from OpenAPI schema for the GoogleSearchconsoleA
9
9
 
10
10
  | Tool | Description |
11
11
  |------|-------------|
12
- | `get_sitemap` | Retrieves information about a specific sitemap. |
13
- | `list_sitemaps` | Lists the sitemaps-entries submitted for this site, or included in the sitemap index file |
14
- | `submit_sitemap` | Submits a sitemap for a site. Typically returns HTTP 204 No Content on success. |
15
- | `delete_sitemap` | Deletes a sitemap from this site. Typically returns HTTP 204 No Content on success. |
16
- | `get_site` | Retrieves information about a specific site. |
17
- | `list_sites` | Lists the user's Search Console sites. |
18
- | `add_site` | Adds a site to the set of the user's sites in Search Console. |
19
- | `delete_site` | Removes a site from the set of the user's Search Console sites. |
20
- | `index_inspect_url` | Inspects a URL in Google Index and provides information about its status. |
21
- | `query_search_analytics` | Queries your search traffic data with filters and parameters that you define. |
12
+ | `get_sitemap` | Retrieves detailed information for a single sitemap from a specified Google Search Console property. Unlike `list_sitemaps` which fetches all sitemaps, this function targets one sitemap by its URL (`feedpath`) to return its resource details, including status and last processed date. |
13
+ | `list_sitemaps` | Retrieves a list of sitemaps for a specific site property. It can optionally list sitemaps contained within a specified sitemap index file. This function contrasts with `get_sitemap`, which fetches details for only a single, specified sitemap rather than a collection. |
14
+ | `submit_sitemap` | Submits a sitemap to a specified Google Search Console property using its URL (feedpath). It notifies Google to crawl the sitemap's location, complementing other sitemap management functions (`list_sitemaps`, `delete_sitemap`) by adding or updating a sitemap's registration for a given site. |
15
+ | `delete_sitemap` | Deletes a specific sitemap from a Google Search Console property using its URL (`feedpath`). This function is distinct from `delete_site`, which removes the entire site property, not just a single sitemap file. It issues an HTTP DELETE request to the specified API endpoint. |
16
+ | `get_site` | Retrieves detailed information for a specific site property from Google Search Console using its URL. Unlike `list_sites`, which fetches all properties associated with the user's account, this function targets and returns the resource for a single, known site. |
17
+ | `list_sites` | Retrieves all websites and domain properties the authenticated user manages in Google Search Console. While `get_site` fetches a single, specific property, this function returns a comprehensive list of all sites linked to the user's account, providing a complete overview of managed properties. |
18
+ | `add_site` | Adds a site property to the user's Google Search Console account using its URL. This action requires subsequent ownership verification. Unlike `list_sites`, which only retrieves existing properties, this function creates a new entry and returns the corresponding site resource upon successful creation. |
19
+ | `delete_site` | Removes a website property from the user's Google Search Console account using its URL. Unlike `delete_sitemap`, which only targets a sitemap file, this function deletes the entire site property, revoking management access and removing it from the user's list of managed sites. |
20
+ | `inspect_url` | Retrieves the Google Index status for a specified URL within a given Search Console property. This function queries the URL Inspection API to return detailed information about how Google sees the page, including its indexing eligibility and any detected issues. |
21
+ | `query_search_analytics` | Queries and retrieves search traffic data for a specified site within a given date range. Supports advanced filtering, grouping by various dimensions (e.g., query, page, device), and aggregation to customize the analytics report from the Google Search Console API. |