universal-mcp-applications 0.1.21__py3-none-any.whl → 0.1.23__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 (78) hide show
  1. universal_mcp/applications/BEST_PRACTICES.md +166 -0
  2. universal_mcp/applications/airtable/app.py +0 -1
  3. universal_mcp/applications/apollo/app.py +0 -1
  4. universal_mcp/applications/aws_s3/app.py +40 -39
  5. universal_mcp/applications/browser_use/README.md +1 -0
  6. universal_mcp/applications/browser_use/__init__.py +0 -0
  7. universal_mcp/applications/browser_use/app.py +71 -0
  8. universal_mcp/applications/calendly/app.py +125 -125
  9. universal_mcp/applications/canva/app.py +95 -99
  10. universal_mcp/applications/confluence/app.py +0 -1
  11. universal_mcp/applications/contentful/app.py +4 -5
  12. universal_mcp/applications/domain_checker/app.py +11 -15
  13. universal_mcp/applications/e2b/app.py +4 -4
  14. universal_mcp/applications/elevenlabs/app.py +18 -15
  15. universal_mcp/applications/exa/app.py +17 -17
  16. universal_mcp/applications/falai/app.py +28 -29
  17. universal_mcp/applications/file_system/app.py +9 -9
  18. universal_mcp/applications/firecrawl/app.py +36 -36
  19. universal_mcp/applications/fireflies/app.py +55 -56
  20. universal_mcp/applications/fpl/app.py +49 -50
  21. universal_mcp/applications/ghost_content/app.py +0 -1
  22. universal_mcp/applications/github/app.py +41 -43
  23. universal_mcp/applications/google_calendar/app.py +40 -39
  24. universal_mcp/applications/google_docs/app.py +168 -232
  25. universal_mcp/applications/google_drive/app.py +212 -215
  26. universal_mcp/applications/google_gemini/app.py +1 -5
  27. universal_mcp/applications/google_mail/app.py +91 -90
  28. universal_mcp/applications/google_searchconsole/app.py +29 -29
  29. universal_mcp/applications/google_sheet/app.py +115 -115
  30. universal_mcp/applications/hashnode/README.md +6 -3
  31. universal_mcp/applications/hashnode/app.py +174 -25
  32. universal_mcp/applications/http_tools/app.py +10 -11
  33. universal_mcp/applications/hubspot/__init__.py +1 -1
  34. universal_mcp/applications/hubspot/api_segments/api_segment_base.py +36 -7
  35. universal_mcp/applications/hubspot/api_segments/crm_api.py +368 -368
  36. universal_mcp/applications/hubspot/api_segments/marketing_api.py +115 -115
  37. universal_mcp/applications/hubspot/app.py +131 -72
  38. universal_mcp/applications/jira/app.py +0 -1
  39. universal_mcp/applications/linkedin/app.py +20 -20
  40. universal_mcp/applications/markitdown/app.py +10 -5
  41. universal_mcp/applications/ms_teams/app.py +123 -123
  42. universal_mcp/applications/openai/app.py +40 -39
  43. universal_mcp/applications/outlook/app.py +32 -32
  44. universal_mcp/applications/perplexity/app.py +4 -4
  45. universal_mcp/applications/reddit/app.py +69 -70
  46. universal_mcp/applications/resend/app.py +116 -117
  47. universal_mcp/applications/rocketlane/app.py +0 -1
  48. universal_mcp/applications/scraper/__init__.py +1 -1
  49. universal_mcp/applications/scraper/app.py +80 -81
  50. universal_mcp/applications/serpapi/app.py +14 -14
  51. universal_mcp/applications/sharepoint/app.py +19 -20
  52. universal_mcp/applications/shopify/app.py +0 -1
  53. universal_mcp/applications/slack/app.py +48 -48
  54. universal_mcp/applications/tavily/app.py +4 -4
  55. universal_mcp/applications/twitter/api_segments/compliance_api.py +13 -15
  56. universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +20 -20
  57. universal_mcp/applications/twitter/api_segments/dm_events_api.py +12 -12
  58. universal_mcp/applications/twitter/api_segments/likes_api.py +12 -12
  59. universal_mcp/applications/twitter/api_segments/lists_api.py +37 -39
  60. universal_mcp/applications/twitter/api_segments/spaces_api.py +24 -24
  61. universal_mcp/applications/twitter/api_segments/trends_api.py +4 -4
  62. universal_mcp/applications/twitter/api_segments/tweets_api.py +105 -105
  63. universal_mcp/applications/twitter/api_segments/usage_api.py +4 -4
  64. universal_mcp/applications/twitter/api_segments/users_api.py +136 -136
  65. universal_mcp/applications/twitter/app.py +6 -2
  66. universal_mcp/applications/unipile/app.py +90 -97
  67. universal_mcp/applications/whatsapp/app.py +53 -54
  68. universal_mcp/applications/whatsapp/audio.py +39 -35
  69. universal_mcp/applications/whatsapp/whatsapp.py +176 -154
  70. universal_mcp/applications/whatsapp_business/app.py +92 -92
  71. universal_mcp/applications/yahoo_finance/app.py +105 -63
  72. universal_mcp/applications/youtube/app.py +193 -196
  73. universal_mcp/applications/zenquotes/__init__.py +2 -0
  74. universal_mcp/applications/zenquotes/app.py +5 -5
  75. {universal_mcp_applications-0.1.21.dist-info → universal_mcp_applications-0.1.23.dist-info}/METADATA +2 -1
  76. {universal_mcp_applications-0.1.21.dist-info → universal_mcp_applications-0.1.23.dist-info}/RECORD +78 -74
  77. {universal_mcp_applications-0.1.21.dist-info → universal_mcp_applications-0.1.23.dist-info}/WHEEL +0 -0
  78. {universal_mcp_applications-0.1.21.dist-info → universal_mcp_applications-0.1.23.dist-info}/licenses/LICENSE +0 -0
@@ -2,7 +2,6 @@ from datetime import UTC, datetime, timedelta
2
2
  from typing import Any
3
3
 
4
4
  from loguru import logger
5
-
6
5
  from universal_mcp.applications.application import APIApplication
7
6
  from universal_mcp.integrations import Integration
8
7
 
@@ -55,18 +54,18 @@ class GoogleCalendarApp(APIApplication):
55
54
  ) -> dict[str, Any]:
56
55
  """
57
56
  Retrieves events for a specified number of days, starting from today. This function simplifies date-range queries by auto-calculating start/end times, unlike the more comprehensive `list_events` function, which offers granular control with explicit time filters, text search, and custom sorting.
58
-
57
+
59
58
  Args:
60
59
  days: Number of days to retrieve events for (default: 1, which is just today)
61
60
  max_results: Maximum number of events to return (optional)
62
61
  time_zone: Time zone used in the response (optional, default is calendar's time zone)
63
-
62
+
64
63
  Returns:
65
64
  Dictionary containing the complete API response with all events and metadata
66
-
65
+
67
66
  Raises:
68
67
  HTTPError: Raised when the API request fails or returns an error status code
69
-
68
+
70
69
  Tags:
71
70
  fetch, list, calendar, events, date-time, important, api
72
71
  """
@@ -99,19 +98,19 @@ class GoogleCalendarApp(APIApplication):
99
98
  ) -> dict[str, Any]:
100
99
  """
101
100
  Retrieves a specific calendar event using its unique ID. Unlike `list_events`, which fetches multiple events based on date ranges or search queries, this function targets a single, known event. It can optionally limit attendees returned and specify a time zone for date formatting in the response.
102
-
101
+
103
102
  Args:
104
103
  event_id: The unique identifier of the calendar event to retrieve
105
104
  max_attendees: Optional. The maximum number of attendees to include in the response. If None, includes all attendees
106
105
  time_zone: Optional. The time zone to use for formatting dates in the response. If None, uses the calendar's default time zone
107
-
106
+
108
107
  Returns:
109
108
  Dictionary containing the complete API response with all event details
110
-
109
+
111
110
  Raises:
112
111
  HTTPError: Raised when the API request fails or returns an error status code
113
112
  JSONDecodeError: Raised when the API response cannot be parsed as JSON
114
-
113
+
115
114
  Tags:
116
115
  retrieve, calendar, event, api, important
117
116
  """
@@ -138,7 +137,7 @@ class GoogleCalendarApp(APIApplication):
138
137
  ) -> dict[str, Any]:
139
138
  """
140
139
  Fetches a customizable list of events using filters for date range, text search, sorting, and pagination. This advanced function provides more granular control than `get_upcoming_events`, which is limited to fetching events for a specific number of upcoming days.
141
-
140
+
142
141
  Args:
143
142
  max_results: Maximum number of events to return (default: 10, max: 2500)
144
143
  time_min: Start time in ISO format (e.g., '2023-12-01T00:00:00Z'). Defaults to current time if not specified
@@ -148,14 +147,14 @@ class GoogleCalendarApp(APIApplication):
148
147
  single_events: Whether to expand recurring events into individual instances (default: True)
149
148
  time_zone: Time zone for response formatting (defaults to calendar's time zone)
150
149
  page_token: Token for retrieving a specific page of results in paginated responses
151
-
150
+
152
151
  Returns:
153
152
  Dictionary containing the complete API response with all events and metadata
154
-
153
+
155
154
  Raises:
156
155
  HTTPError: Raised when the API request fails or returns an error status code
157
156
  JSONDecodeError: Raised when the API response cannot be parsed as JSON
158
-
157
+
159
158
  Tags:
160
159
  list, retrieve, calendar, events, pagination, api, important
161
160
  """
@@ -197,7 +196,7 @@ class GoogleCalendarApp(APIApplication):
197
196
  ) -> dict[str, Any]:
198
197
  """
199
198
  Creates a calendar event using structured data for start/end times, summary, attendees, and recurrence. This method provides precise control for complex appointments, unlike `create_event_from_text` which parses natural language, making it ideal for detailed or recurring event creation.
200
-
199
+
201
200
  Args:
202
201
  start: Start time of the event (required). Must include timezone offset or timeZone field.
203
202
  Examples:
@@ -222,13 +221,13 @@ class GoogleCalendarApp(APIApplication):
222
221
  "RRULE:FREQ=DAILY;UNTIL=20150628;INTERVAL=3"
223
222
  ],
224
223
  calendar_id: Calendar identifier (default: "primary")
225
-
224
+
226
225
  Returns:
227
226
  Dictionary containing the complete API response with the created event details
228
-
227
+
229
228
  Raises:
230
229
  HTTPError: Raised when the API request fails or returns an error status code
231
-
230
+
232
231
  Tags:
233
232
  create, calendar, event, insert, recurring, important
234
233
  """
@@ -252,20 +251,22 @@ class GoogleCalendarApp(APIApplication):
252
251
 
253
252
  return self._handle_response(response)
254
253
 
255
- def create_event_from_text(self, text: str, send_updates: str = "none") -> dict[str, Any]:
254
+ def create_event_from_text(
255
+ self, text: str, send_updates: str = "none"
256
+ ) -> dict[str, Any]:
256
257
  """
257
258
  Creates a calendar event by parsing a natural language string (e.g., "Meeting tomorrow at 10am"). This offers a user-friendly shortcut, contrasting with the structured `create_event` function which requires explicit fields like start and end times.
258
-
259
+
259
260
  Args:
260
261
  text: Natural language text describing the event (e.g., 'Meeting with John at Coffee Shop tomorrow 3pm-4pm')
261
262
  send_updates: Specifies who should receive event notifications: 'all', 'externalOnly', or 'none' (default)
262
-
263
+
263
264
  Returns:
264
265
  Dictionary containing the complete API response with the created event details
265
-
266
+
266
267
  Raises:
267
268
  HTTPError: Raised when the API request fails or returns an error status code
268
-
269
+
269
270
  Tags:
270
271
  create, calendar, event, quick-add, natural-language, important
271
272
  """
@@ -288,7 +289,7 @@ class GoogleCalendarApp(APIApplication):
288
289
  ) -> dict[str, Any]:
289
290
  """
290
291
  Retrieves all individual occurrences of a specific recurring event using its ID. Unlike `list_events`, which fetches multiple distinct events, this function expands a single recurring event into its separate instances, allowing filtering by time range and pagination for detailed scheduling views.
291
-
292
+
292
293
  Args:
293
294
  event_id: ID of the recurring event
294
295
  max_results: Maximum number of event instances to return (default: 25, max: 2500)
@@ -297,14 +298,14 @@ class GoogleCalendarApp(APIApplication):
297
298
  time_zone: Time zone used in the response (defaults to calendar's time zone)
298
299
  show_deleted: Whether to include deleted instances (default: False)
299
300
  page_token: Token for retrieving a specific page of results
300
-
301
+
301
302
  Returns:
302
303
  Dictionary containing the complete API response with all event instances and metadata
303
-
304
+
304
305
  Raises:
305
306
  HTTPError: Raised when the API request fails or returns an error status code
306
307
  JSONDecodeError: Raised when the API response cannot be parsed as JSON
307
-
308
+
308
309
  Tags:
309
310
  list, retrieve, calendar, events, recurring, pagination, api, important
310
311
  """
@@ -342,7 +343,7 @@ class GoogleCalendarApp(APIApplication):
342
343
  ) -> Any:
343
344
  """
344
345
  Permanently deletes a specific event from a Google Calendar using its event and calendar IDs. It can optionally send cancellation notifications to attendees, distinguishing it from functions that retrieve (`get_event_by_id`) or modify events (`replace_event`), which do not remove entries from the calendar.
345
-
346
+
346
347
  Args:
347
348
  calendarId (string): calendarId
348
349
  eventId (string): eventId
@@ -355,10 +356,10 @@ class GoogleCalendarApp(APIApplication):
355
356
  prettyPrint (string): Returns response with indentations and line breaks. Example: 'true'.
356
357
  quotaUser (string): An opaque string that represents a user for quota purposes. Must not exceed 40 characters. Example: 'amet in'.
357
358
  userIp (string): Deprecated. Please use quotaUser instead. Example: 'amet in'.
358
-
359
+
359
360
  Returns:
360
361
  Any: No Content
361
-
362
+
362
363
  Tags:
363
364
  calendars, {calendarId}, events, {eventId}
364
365
  """
@@ -401,7 +402,7 @@ class GoogleCalendarApp(APIApplication):
401
402
  ) -> dict[str, Any]:
402
403
  """
403
404
  Replaces an existing calendar event, identified by its ID, with new data. This function performs a full update, overwriting all event properties like start/end times and summary. It does not support partial modifications, requiring all necessary fields for the replacement to be provided.
404
-
405
+
405
406
  Args:
406
407
  event_id: The unique identifier of the calendar event to update (required)
407
408
  start: Start time of the event (required). Must include timezone offset or timeZone field.
@@ -423,13 +424,13 @@ class GoogleCalendarApp(APIApplication):
423
424
  calendar_id: Calendar identifier (default: "primary")
424
425
  send_updates: Specifies who should receive event notifications: 'all', 'externalOnly', or 'none' (default)
425
426
  max_attendees: Maximum number of attendees to include in the response (optional)
426
-
427
+
427
428
  Returns:
428
429
  Dictionary containing the complete API response with the updated event details
429
-
430
+
430
431
  Raises:
431
432
  HTTPError: Raised when the API request fails or returns an error status code
432
-
433
+
433
434
  Tags:
434
435
  update, calendar, event, modify, important
435
436
  """
@@ -459,13 +460,13 @@ class GoogleCalendarApp(APIApplication):
459
460
  def get_primary_calendar_details(self) -> dict[str, Any]:
460
461
  """
461
462
  Retrieves metadata for the user's primary calendar, including its default timezone. This information is essential for creating new events with accurate, timezone-aware start and end times using other functions like `create_event`, preventing potential scheduling errors across different regions.
462
-
463
+
463
464
  Returns:
464
465
  Dictionary containing the user's timezone information
465
-
466
+
466
467
  Raises:
467
468
  HTTPError: Raised when the API request fails or returns an error status code
468
-
469
+
469
470
  Tags:
470
471
  get, calendar, timezone, settings, important
471
472
  """
@@ -492,8 +493,8 @@ class GoogleCalendarApp(APIApplication):
492
493
  ) -> dict[str, Any]:
493
494
  """
494
495
  Queries the free/busy status for one or more calendars within a specified time range. It returns a list of busy time intervals, making it ideal for finding open slots and scheduling new events without conflicts.
495
-
496
-
496
+
497
+
497
498
  Args:
498
499
  alt (string): Data format for the response. Example: 'json'.
499
500
  fields (string): Selector specifying which fields to include in a partial response. Example: 'amet in'.
@@ -526,7 +527,7 @@ class GoogleCalendarApp(APIApplication):
526
527
  "timeZone": "UTC"
527
528
  }
528
529
  ```
529
-
530
+
530
531
  Returns:
531
532
  dict[str, Any]: Successful response
532
533
  """