universal-mcp-applications 0.1.12__py3-none-any.whl → 0.1.14__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 (54) hide show
  1. universal_mcp/applications/aws_s3/app.py +71 -71
  2. universal_mcp/applications/calendly/app.py +199 -199
  3. universal_mcp/applications/canva/app.py +189 -189
  4. universal_mcp/applications/domain_checker/app.py +31 -24
  5. universal_mcp/applications/e2b/app.py +6 -7
  6. universal_mcp/applications/elevenlabs/app.py +24 -20
  7. universal_mcp/applications/exa/app.py +25 -20
  8. universal_mcp/applications/falai/app.py +44 -41
  9. universal_mcp/applications/file_system/app.py +20 -12
  10. universal_mcp/applications/firecrawl/app.py +46 -47
  11. universal_mcp/applications/fireflies/app.py +79 -79
  12. universal_mcp/applications/fpl/app.py +83 -74
  13. universal_mcp/applications/github/README.md +0 -1028
  14. universal_mcp/applications/github/app.py +55 -50227
  15. universal_mcp/applications/google_calendar/app.py +63 -65
  16. universal_mcp/applications/google_docs/app.py +78 -78
  17. universal_mcp/applications/google_drive/app.py +361 -440
  18. universal_mcp/applications/google_gemini/app.py +34 -17
  19. universal_mcp/applications/google_mail/app.py +164 -118
  20. universal_mcp/applications/google_searchconsole/app.py +41 -47
  21. universal_mcp/applications/google_sheet/app.py +157 -164
  22. universal_mcp/applications/http_tools/app.py +16 -16
  23. universal_mcp/applications/linkedin/app.py +26 -31
  24. universal_mcp/applications/ms_teams/app.py +190 -190
  25. universal_mcp/applications/openai/app.py +55 -56
  26. universal_mcp/applications/outlook/app.py +57 -57
  27. universal_mcp/applications/perplexity/app.py +17 -17
  28. universal_mcp/applications/reddit/app.py +225 -4053
  29. universal_mcp/applications/replicate/app.py +40 -42
  30. universal_mcp/applications/resend/app.py +157 -154
  31. universal_mcp/applications/scraper/app.py +24 -24
  32. universal_mcp/applications/serpapi/app.py +18 -20
  33. universal_mcp/applications/sharepoint/app.py +46 -36
  34. universal_mcp/applications/slack/app.py +66 -66
  35. universal_mcp/applications/tavily/app.py +7 -7
  36. universal_mcp/applications/twitter/api_segments/compliance_api.py +17 -20
  37. universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +35 -40
  38. universal_mcp/applications/twitter/api_segments/dm_events_api.py +18 -21
  39. universal_mcp/applications/twitter/api_segments/likes_api.py +19 -22
  40. universal_mcp/applications/twitter/api_segments/lists_api.py +59 -68
  41. universal_mcp/applications/twitter/api_segments/spaces_api.py +36 -42
  42. universal_mcp/applications/twitter/api_segments/trends_api.py +7 -8
  43. universal_mcp/applications/twitter/api_segments/tweets_api.py +159 -185
  44. universal_mcp/applications/twitter/api_segments/usage_api.py +5 -6
  45. universal_mcp/applications/twitter/api_segments/users_api.py +230 -264
  46. universal_mcp/applications/unipile/app.py +99 -105
  47. universal_mcp/applications/whatsapp/app.py +86 -82
  48. universal_mcp/applications/whatsapp_business/app.py +147 -147
  49. universal_mcp/applications/youtube/app.py +290 -290
  50. universal_mcp/applications/zenquotes/app.py +6 -6
  51. {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/METADATA +2 -2
  52. {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/RECORD +54 -54
  53. {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/WHEEL +0 -0
  54. {universal_mcp_applications-0.1.12.dist-info → universal_mcp_applications-0.1.14.dist-info}/licenses/LICENSE +0 -0
@@ -11,18 +11,18 @@ class GoogleDocsApp(APIApplication):
11
11
 
12
12
  def create_document(self, title: str) -> dict[str, Any]:
13
13
  """
14
- Creates a new blank Google Document with the specified title and returns the API response.
15
-
14
+ Creates a new, blank Google Document with a specified title via a POST request to the Google Docs API. It returns the API response containing the new document's metadata, including its ID, which is necessary for other functions like `add_content` or `get_document` to interact with it.
15
+
16
16
  Args:
17
17
  title: The title for the new Google Document to be created
18
-
18
+
19
19
  Returns:
20
20
  A dictionary containing the Google Docs API response with document details and metadata
21
-
21
+
22
22
  Raises:
23
23
  HTTPError: If the API request fails due to network issues, authentication errors, or invalid parameters
24
24
  RequestException: If there are connection errors or timeout issues during the API request
25
-
25
+
26
26
  Tags:
27
27
  create, document, api, important, google-docs, http
28
28
  """
@@ -34,18 +34,18 @@ class GoogleDocsApp(APIApplication):
34
34
 
35
35
  def get_document(self, document_id: str) -> dict[str, Any]:
36
36
  """
37
- Retrieves the latest version of a specified document from the Google Docs API.
38
-
37
+ Retrieves the complete content and metadata for a specific Google Document by its unique ID. This function queries the Google Docs API and returns the full JSON response, representing the document's latest version. It's the primary read operation, contrasting with `create_document` which creates new ones.
38
+
39
39
  Args:
40
40
  document_id: The unique identifier of the document to retrieve
41
-
41
+
42
42
  Returns:
43
43
  A dictionary containing the document data from the Google Docs API response
44
-
44
+
45
45
  Raises:
46
46
  HTTPError: If the API request fails or the document is not found
47
47
  JSONDecodeError: If the API response cannot be parsed as JSON
48
-
48
+
49
49
  Tags:
50
50
  retrieve, read, api, document, google-docs, important
51
51
  """
@@ -53,24 +53,24 @@ class GoogleDocsApp(APIApplication):
53
53
  response = self._get(url)
54
54
  return response.json()
55
55
 
56
- def add_content(
56
+ def insert_text(
57
57
  self, document_id: str, content: str, index: int = 1
58
58
  ) -> dict[str, Any]:
59
59
  """
60
- Adds text content at a specified position in an existing Google Document via the Google Docs API.
61
-
60
+ Inserts a string of text at a specified index in an existing Google Document using the `batchUpdate` API. This function specifically adds new textual content, distinguishing it from functions that insert tables or apply styling to existing text.
61
+
62
62
  Args:
63
63
  document_id: The unique identifier of the Google Document to be updated
64
64
  content: The text content to be inserted into the document
65
65
  index: The zero-based position in the document where the text should be inserted (default: 1)
66
-
66
+
67
67
  Returns:
68
68
  A dictionary containing the Google Docs API response after performing the batch update operation
69
-
69
+
70
70
  Raises:
71
71
  HTTPError: When the API request fails, such as invalid document_id or insufficient permissions
72
72
  RequestException: When there are network connectivity issues or API endpoint problems
73
-
73
+
74
74
  Tags:
75
75
  update, insert, document, api, google-docs, batch, content-management, important
76
76
  """
@@ -84,7 +84,7 @@ class GoogleDocsApp(APIApplication):
84
84
  response.raise_for_status()
85
85
  return response.json()
86
86
 
87
- def style_text(
87
+ def apply_text_style(
88
88
  self,
89
89
  document_id: str,
90
90
  start_index: int,
@@ -98,8 +98,8 @@ class GoogleDocsApp(APIApplication):
98
98
  background_color: dict[str, float] | None = None,
99
99
  ) -> dict[str, Any]:
100
100
  """
101
- Simplified text styling for Google Document - handles most common cases.
102
-
101
+ Applies character-level formatting such as bold, italic, font size, color, and hyperlinks to a specified text range in a document. This function modifies text appearance, distinguishing it from `update_paragraph_style`, which handles block-level formatting like alignment and headings.
102
+
103
103
  Args:
104
104
  document_id: The unique identifier of the Google Document to be updated
105
105
  start_index: The zero-based start index of the text range to style
@@ -111,14 +111,14 @@ class GoogleDocsApp(APIApplication):
111
111
  link_url: URL to make the text a hyperlink
112
112
  foreground_color: RGB color dict with 'red', 'green', 'blue' values (0.0 to 1.0)
113
113
  background_color: RGB color dict with 'red', 'green', 'blue' values (0.0 to 1.0)
114
-
114
+
115
115
  Returns:
116
116
  A dictionary containing the Google Docs API response
117
-
117
+
118
118
  Raises:
119
119
  HTTPError: When the API request fails
120
120
  RequestException: When there are network connectivity issues
121
-
121
+
122
122
  Tags:
123
123
  style, format, text, document, api, google-docs, simple
124
124
  """
@@ -204,8 +204,8 @@ class GoogleDocsApp(APIApplication):
204
204
  tab_id: str | None = None,
205
205
  ) -> dict[str, Any]:
206
206
  """
207
- Updates paragraph styling for a specified range in a Google Document.
208
-
207
+ Applies paragraph formatting, such as named styles ('TITLE', 'HEADING_1'), alignment, and text direction, to a specified range in a Google Document. It selectively updates only the provided style attributes, distinguishing it from `style_text`, which handles character-level formatting like bolding or italics.
208
+
209
209
  Args:
210
210
  document_id: The unique identifier of the Google Document to be updated
211
211
  start_index: The zero-based start index of the paragraph range to style
@@ -216,14 +216,14 @@ class GoogleDocsApp(APIApplication):
216
216
  spacing_mode: The spacing mode ('NEVER_COLLAPSE', 'COLLAPSE_LISTS')
217
217
  segment_id: The segment ID for the range (optional)
218
218
  tab_id: The tab ID for the range (optional)
219
-
219
+
220
220
  Returns:
221
221
  A dictionary containing the Google Docs API response
222
-
222
+
223
223
  Raises:
224
224
  HTTPError: When the API request fails
225
225
  RequestException: When there are network connectivity issues
226
-
226
+
227
227
  Tags:
228
228
  style, format, paragraph, document, api, google-docs, batch, content-management
229
229
  """
@@ -277,7 +277,7 @@ class GoogleDocsApp(APIApplication):
277
277
  response = self._post(url, data=batch_update_data)
278
278
  return self._handle_response(response)
279
279
 
280
- def delete_content(
280
+ def delete_content_range(
281
281
  self,
282
282
  document_id: str,
283
283
  start_index: int,
@@ -286,22 +286,22 @@ class GoogleDocsApp(APIApplication):
286
286
  tab_id: str | None = None,
287
287
  ) -> dict[str, Any]:
288
288
  """
289
- Deletes content from a specified range in a Google Document.
290
-
289
+ Deletes content within a specified range in a Google Document via a `batchUpdate` API call. The function targets a range defined by start and end indexes and can operate within optional segments like headers or footers, returning the API's response after the deletion operation.
290
+
291
291
  Args:
292
292
  document_id: The unique identifier of the Google Document to be updated
293
293
  start_index: The zero-based start index of the content range to delete
294
294
  end_index: The zero-based end index of the content range to delete (exclusive)
295
295
  segment_id: The ID of the header, footer, or footnote segment (optional)
296
296
  tab_id: The ID of the tab containing the content to delete (optional)
297
-
297
+
298
298
  Returns:
299
299
  A dictionary containing the Google Docs API response after performing the delete operation
300
-
300
+
301
301
  Raises:
302
302
  HTTPError: When the API request fails, such as invalid document_id or insufficient permissions
303
303
  RequestException: When there are network connectivity issues or API endpoint problems
304
-
304
+
305
305
  Tags:
306
306
  delete, remove, content, document, api, google-docs, batch, content-management, important
307
307
  """
@@ -333,8 +333,8 @@ class GoogleDocsApp(APIApplication):
333
333
  tab_id: str = None,
334
334
  ) -> dict[str, Any]:
335
335
  """
336
- Inserts a table at the specified location in a Google Document.
337
-
336
+ Inserts a table with specified row and column dimensions at a given location in a Google Document. It uses the `batchUpdate` API endpoint for precise placement within the document's body, header, or footer, returning the API response.
337
+
338
338
  Args:
339
339
  document_id: The unique identifier of the Google Document to be updated
340
340
  location_index: The zero-based index where the table should be inserted
@@ -342,14 +342,14 @@ class GoogleDocsApp(APIApplication):
342
342
  columns: The number of columns in the table
343
343
  segment_id: The ID of the header, footer or footnote segment (optional)
344
344
  tab_id: The ID of the tab containing the location (optional)
345
-
345
+
346
346
  Returns:
347
347
  A dictionary containing the Google Docs API response after performing the insert table operation
348
-
348
+
349
349
  Raises:
350
350
  HTTPError: When the API request fails, such as invalid document_id or insufficient permissions
351
351
  RequestException: When there are network connectivity issues or API endpoint problems
352
-
352
+
353
353
  Tags:
354
354
  table, insert, document, api, google-docs, batch, content-management
355
355
  """
@@ -390,22 +390,22 @@ class GoogleDocsApp(APIApplication):
390
390
  section_break_tab_id: str = None,
391
391
  ) -> dict[str, Any]:
392
392
  """
393
- Creates a Footer in a Google Document.
394
-
393
+ Creates a footer of a specified type in a Google Document via the batch update API. The footer can optionally be associated with a specific section break, enabling distinct footers for different document sections, distinguishing it from `create_header`.
394
+
395
395
  Args:
396
396
  document_id: The unique identifier of the Google Document to be updated
397
397
  footer_type: The type of footer to create (DEFAULT, HEADER_FOOTER_TYPE_UNSPECIFIED)
398
398
  section_break_location_index: The index of the SectionBreak location (optional)
399
399
  section_break_segment_id: The segment ID of the SectionBreak location (optional)
400
400
  section_break_tab_id: The tab ID of the SectionBreak location (optional)
401
-
401
+
402
402
  Returns:
403
403
  A dictionary containing the Google Docs API response after performing the create footer operation
404
-
404
+
405
405
  Raises:
406
406
  HTTPError: When the API request fails, such as invalid document_id or insufficient permissions
407
407
  RequestException: When there are network connectivity issues or API endpoint problems
408
-
408
+
409
409
  Tags:
410
410
  footer, create, document, api, google-docs, batch, content-management
411
411
  """
@@ -442,8 +442,8 @@ class GoogleDocsApp(APIApplication):
442
442
  end_of_segment_tab_id: str = None,
443
443
  ) -> dict[str, Any]:
444
444
  """
445
- Creates a Footnote segment and inserts a new FootnoteReference at the given location.
446
-
445
+ Creates a footnote segment and inserts a corresponding reference into a Google Document via the API's batch update. The reference can be placed at a specific index or at the end of a document segment. Unlike `create_footer`, this adds a numbered citation within the document body.
446
+
447
447
  Args:
448
448
  document_id: The unique identifier of the Google Document to be updated
449
449
  location_index: The index where to insert the footnote reference (optional)
@@ -452,14 +452,14 @@ class GoogleDocsApp(APIApplication):
452
452
  end_of_segment_location: Whether to insert at end of segment (optional)
453
453
  end_of_segment_segment_id: The segment ID for end of segment location (optional)
454
454
  end_of_segment_tab_id: The tab ID for end of segment location (optional)
455
-
455
+
456
456
  Returns:
457
457
  A dictionary containing the Google Docs API response after performing the create footnote operation
458
-
458
+
459
459
  Raises:
460
460
  HTTPError: When the API request fails, such as invalid document_id or insufficient permissions
461
461
  RequestException: When there are network connectivity issues or API endpoint problems
462
-
462
+
463
463
  Tags:
464
464
  footnote, create, document, api, google-docs, batch, content-management
465
465
  """
@@ -505,20 +505,20 @@ class GoogleDocsApp(APIApplication):
505
505
  tab_id: str = None,
506
506
  ) -> dict[str, Any]:
507
507
  """
508
- Deletes a Footer from the document.
509
-
508
+ Deletes a specific footer from a Google Document using its unique ID (`footer_id`). This function constructs and sends a `deleteFooter` request to the Google Docs API's batch update endpoint, optionally targeting a footer within a specific document tab.
509
+
510
510
  Args:
511
511
  document_id: The unique identifier of the Google Document to be updated
512
512
  footer_id: The ID of the footer to delete
513
513
  tab_id: The tab that contains the footer to delete (optional)
514
-
514
+
515
515
  Returns:
516
516
  A dictionary containing the Google Docs API response after performing the delete footer operation
517
-
517
+
518
518
  Raises:
519
519
  HTTPError: When the API request fails, such as invalid document_id or insufficient permissions
520
520
  RequestException: When there are network connectivity issues or API endpoint problems
521
-
521
+
522
522
  Tags:
523
523
  footer, delete, remove, document, api, google-docs, batch, content-management
524
524
  """
@@ -545,22 +545,22 @@ class GoogleDocsApp(APIApplication):
545
545
  section_break_tab_id: str = None,
546
546
  ) -> dict[str, Any]:
547
547
  """
548
- Creates a Header in a Google Document.
549
-
548
+ Creates a header in a specified Google Document via the batchUpdate API endpoint. This function allows defining the header type and can optionally associate it with a specific section break location. It complements the `delete_header` and `create_footer` functions for managing document structure.
549
+
550
550
  Args:
551
551
  document_id: The unique identifier of the Google Document to be updated
552
552
  header_type: The type of header to create (DEFAULT, HEADER_FOOTER_TYPE_UNSPECIFIED)
553
553
  section_break_location_index: The index of the SectionBreak location (optional)
554
554
  section_break_segment_id: The segment ID of the SectionBreak location (optional)
555
555
  section_break_tab_id: The tab ID of the SectionBreak location (optional)
556
-
556
+
557
557
  Returns:
558
558
  A dictionary containing the Google Docs API response after performing the create header operation
559
-
559
+
560
560
  Raises:
561
561
  HTTPError: When the API request fails, such as invalid document_id or insufficient permissions
562
562
  RequestException: When there are network connectivity issues or API endpoint problems
563
-
563
+
564
564
  Tags:
565
565
  header, create, document, api, google-docs, batch, content-management, important
566
566
  """
@@ -593,20 +593,20 @@ class GoogleDocsApp(APIApplication):
593
593
  tab_id: str = None,
594
594
  ) -> dict[str, Any]:
595
595
  """
596
- Deletes a Header from the document.
597
-
596
+ Removes a specific header from a Google Document using its unique ID. This function constructs and sends a `deleteHeader` request to the Google Docs API's batch update endpoint, acting as the direct counterpart to the `create_header` function.
597
+
598
598
  Args:
599
599
  document_id: The unique identifier of the Google Document to be updated
600
600
  header_id: The ID of the header to delete
601
601
  tab_id: The tab containing the header to delete (optional)
602
-
602
+
603
603
  Returns:
604
604
  A dictionary containing the Google Docs API response after performing the delete header operation
605
-
605
+
606
606
  Raises:
607
607
  HTTPError: When the API request fails, such as invalid document_id or insufficient permissions
608
608
  RequestException: When there are network connectivity issues or API endpoint problems
609
-
609
+
610
610
  Tags:
611
611
  header, delete, remove, document, api, google-docs, batch, content-management
612
612
  """
@@ -624,7 +624,7 @@ class GoogleDocsApp(APIApplication):
624
624
  response = self._post(url, data=batch_update_data)
625
625
  return self._handle_response(response)
626
626
 
627
- def create_paragraph_bullets(
627
+ def apply_list_style(
628
628
  self,
629
629
  document_id: str,
630
630
  start_index: int,
@@ -634,8 +634,8 @@ class GoogleDocsApp(APIApplication):
634
634
  tab_id: str = None,
635
635
  ) -> dict[str, Any]:
636
636
  """
637
- Creates bullets for all of the paragraphs that overlap with the given range.
638
-
637
+ Applies a specified bulleted or numbered list format to paragraphs within a given range in a Google Document. The list style is determined by a predefined preset, covering various bullet glyphs and numbering schemes like 'BULLET_DISC_CIRCLE_SQUARE' or 'NUMBERED_DECIMAL_ALPHA_ROMAN'.
638
+
639
639
  Args:
640
640
  document_id: The unique identifier of the Google Document to be updated
641
641
  start_index: The zero-based start index of the range to apply bullets to
@@ -659,14 +659,14 @@ class GoogleDocsApp(APIApplication):
659
659
  - NUMBERED_ZERODECIMAL_ALPHA_ROMAN: ZERODECIMAL, ALPHA and ROMAN with periods
660
660
  segment_id: The segment ID for the range (optional)
661
661
  tab_id: The tab ID for the range (optional)
662
-
662
+
663
663
  Returns:
664
664
  A dictionary containing the Google Docs API response after performing the create bullets operation
665
-
665
+
666
666
  Raises:
667
667
  HTTPError: When the API request fails, such as invalid document_id or insufficient permissions
668
668
  RequestException: When there are network connectivity issues or API endpoint problems
669
-
669
+
670
670
  Tags:
671
671
  bullets, list, paragraph, document, api, google-docs, batch, content-management
672
672
  """
@@ -704,22 +704,22 @@ class GoogleDocsApp(APIApplication):
704
704
  tab_id: str = None,
705
705
  ) -> dict[str, Any]:
706
706
  """
707
- Deletes bullets from all of the paragraphs that overlap with the given range.
708
-
707
+ Removes bullet points or numbering from paragraphs within a specified range in a Google Document. This function uses the API's batch update feature to revert list formatting, acting as the direct counterpart to `create_paragraph_bullets` for removing list styles, rather than deleting text content.
708
+
709
709
  Args:
710
710
  document_id: The unique identifier of the Google Document to be updated
711
711
  start_index: The zero-based start index of the range to remove bullets from
712
712
  end_index: The zero-based end index of the range to remove bullets from (exclusive)
713
713
  segment_id: The segment ID for the range (optional)
714
714
  tab_id: The tab ID for the range (optional)
715
-
715
+
716
716
  Returns:
717
717
  A dictionary containing the Google Docs API response after performing the delete bullets operation
718
-
718
+
719
719
  Raises:
720
720
  HTTPError: When the API request fails, such as invalid document_id or insufficient permissions
721
721
  RequestException: When there are network connectivity issues or API endpoint problems
722
-
722
+
723
723
  Tags:
724
724
  bullets, delete, remove, list, paragraph, document, api, google-docs, batch, content-management
725
725
  """
@@ -745,16 +745,16 @@ class GoogleDocsApp(APIApplication):
745
745
  return [
746
746
  self.create_document,
747
747
  self.get_document,
748
- self.add_content,
749
- self.style_text,
750
- self.delete_content,
748
+ self.insert_text,
749
+ self.apply_text_style,
750
+ self.delete_content_range,
751
751
  self.insert_table,
752
752
  self.create_footer,
753
753
  self.create_footnote,
754
754
  self.delete_footer,
755
755
  self.create_header,
756
756
  self.delete_header,
757
- self.create_paragraph_bullets,
757
+ self.apply_list_style,
758
758
  self.delete_paragraph_bullets,
759
759
  self.update_paragraph_style,
760
760
  ]