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
@@ -47,26 +47,26 @@ class GoogleCalendarApp(APIApplication):
47
47
  # It's just a date (all-day event)
48
48
  return f"{dt_string} (All day)"
49
49
 
50
- def get_today_events(
50
+ def get_upcoming_events(
51
51
  self,
52
52
  days: int = 1,
53
53
  max_results: int | None = None,
54
54
  time_zone: str | None = None,
55
55
  ) -> dict[str, Any]:
56
56
  """
57
- Retrieves events from Google Calendar for today or a specified number of future days.
58
-
57
+ Retrieves calendar events for a specified number of days starting from today. It defaults to fetching only the current day's events, simplifying date-range queries for upcoming events in contrast to the more comprehensive `list_events` function which requires explicit start and end times.
58
+
59
59
  Args:
60
60
  days: Number of days to retrieve events for (default: 1, which is just today)
61
61
  max_results: Maximum number of events to return (optional)
62
62
  time_zone: Time zone used in the response (optional, default is calendar's time zone)
63
-
63
+
64
64
  Returns:
65
65
  Dictionary containing the complete API response with all events and metadata
66
-
66
+
67
67
  Raises:
68
68
  HTTPError: Raised when the API request fails or returns an error status code
69
-
69
+
70
70
  Tags:
71
71
  fetch, list, calendar, events, date-time, important, api
72
72
  """
@@ -91,27 +91,27 @@ class GoogleCalendarApp(APIApplication):
91
91
 
92
92
  return self._handle_response(response)
93
93
 
94
- def get_event(
94
+ def get_event_by_id(
95
95
  self,
96
96
  event_id: str,
97
97
  max_attendees: int | None = None,
98
98
  time_zone: str | None = None,
99
99
  ) -> dict[str, Any]:
100
100
  """
101
- Retrieves detailed information about a specific Google Calendar event by its ID
102
-
101
+ Retrieves a specific Google Calendar event using its unique ID. Optional parameters can limit the number of attendees returned and specify a time zone for formatting dates. It is distinct from `list_events`, which fetches multiple events based on broader criteria like date ranges or search queries.
102
+
103
103
  Args:
104
104
  event_id: The unique identifier of the calendar event to retrieve
105
105
  max_attendees: Optional. The maximum number of attendees to include in the response. If None, includes all attendees
106
106
  time_zone: Optional. The time zone to use for formatting dates in the response. If None, uses the calendar's default time zone
107
-
107
+
108
108
  Returns:
109
109
  Dictionary containing the complete API response with all event details
110
-
110
+
111
111
  Raises:
112
112
  HTTPError: Raised when the API request fails or returns an error status code
113
113
  JSONDecodeError: Raised when the API response cannot be parsed as JSON
114
-
114
+
115
115
  Tags:
116
116
  retrieve, calendar, event, api, important
117
117
  """
@@ -137,8 +137,8 @@ class GoogleCalendarApp(APIApplication):
137
137
  page_token: str | None = None,
138
138
  ) -> dict[str, Any]:
139
139
  """
140
- Retrieves a list of events from Google Calendar with customizable filtering, sorting, and pagination options
141
-
140
+ 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_today_events`, which is limited to fetching events for a specific number of upcoming days.
141
+
142
142
  Args:
143
143
  max_results: Maximum number of events to return (default: 10, max: 2500)
144
144
  time_min: Start time in ISO format (e.g., '2023-12-01T00:00:00Z'). Defaults to current time if not specified
@@ -148,14 +148,14 @@ class GoogleCalendarApp(APIApplication):
148
148
  single_events: Whether to expand recurring events into individual instances (default: True)
149
149
  time_zone: Time zone for response formatting (defaults to calendar's time zone)
150
150
  page_token: Token for retrieving a specific page of results in paginated responses
151
-
151
+
152
152
  Returns:
153
153
  Dictionary containing the complete API response with all events and metadata
154
-
154
+
155
155
  Raises:
156
156
  HTTPError: Raised when the API request fails or returns an error status code
157
157
  JSONDecodeError: Raised when the API response cannot be parsed as JSON
158
-
158
+
159
159
  Tags:
160
160
  list, retrieve, calendar, events, pagination, api, important
161
161
  """
@@ -184,7 +184,7 @@ class GoogleCalendarApp(APIApplication):
184
184
 
185
185
  return self._handle_response(response)
186
186
 
187
- def add_an_event(
187
+ def create_event(
188
188
  self,
189
189
  start: dict[str, Any],
190
190
  end: dict[str, Any],
@@ -196,9 +196,8 @@ class GoogleCalendarApp(APIApplication):
196
196
  calendar_id: str = "primary",
197
197
  ) -> dict[str, Any]:
198
198
  """
199
- Creates a new calendar event with details like start time, end time, summary, description, location, attendees, and recurrence rules.
200
- Always check the timezone using get_user_timezone before creating an event.
201
-
199
+ Creates a detailed calendar event with structured data, including start/end times, summary, attendees, and recurrence rules. Unlike `quick_add_event`, which uses natural language, this method offers precise control for creating complex or recurring appointments.
200
+
202
201
  Args:
203
202
  start: Start time of the event (required). Must include timezone offset or timeZone field.
204
203
  Examples:
@@ -223,13 +222,13 @@ class GoogleCalendarApp(APIApplication):
223
222
  "RRULE:FREQ=DAILY;UNTIL=20150628;INTERVAL=3"
224
223
  ],
225
224
  calendar_id: Calendar identifier (default: "primary")
226
-
225
+
227
226
  Returns:
228
227
  Dictionary containing the complete API response with the created event details
229
-
228
+
230
229
  Raises:
231
230
  HTTPError: Raised when the API request fails or returns an error status code
232
-
231
+
233
232
  Tags:
234
233
  create, calendar, event, insert, recurring, important
235
234
  """
@@ -253,20 +252,20 @@ class GoogleCalendarApp(APIApplication):
253
252
 
254
253
  return self._handle_response(response)
255
254
 
256
- def quick_add_event(self, text: str, send_updates: str = "none") -> dict[str, Any]:
255
+ def create_event_from_text(self, text: str, send_updates: str = "none") -> dict[str, Any]:
257
256
  """
258
- Creates a calendar event. Use it only when user specfies that they want to add a quick event
259
-
257
+ Creates a calendar event by parsing a natural language string for details like title and time. This provides a user-friendly shortcut for event creation, contrasting with the structured `add_an_event` method which requires explicit fields for start, end, and summary.
258
+
260
259
  Args:
261
260
  text: Natural language text describing the event (e.g., 'Meeting with John at Coffee Shop tomorrow 3pm-4pm')
262
261
  send_updates: Specifies who should receive event notifications: 'all', 'externalOnly', or 'none' (default)
263
-
262
+
264
263
  Returns:
265
264
  Dictionary containing the complete API response with the created event details
266
-
265
+
267
266
  Raises:
268
267
  HTTPError: Raised when the API request fails or returns an error status code
269
-
268
+
270
269
  Tags:
271
270
  create, calendar, event, quick-add, natural-language, important
272
271
  """
@@ -277,7 +276,7 @@ class GoogleCalendarApp(APIApplication):
277
276
 
278
277
  return self._handle_response(response)
279
278
 
280
- def get_event_instances(
279
+ def list_recurring_event_instances(
281
280
  self,
282
281
  event_id: str,
283
282
  max_results: int = 25,
@@ -288,8 +287,8 @@ class GoogleCalendarApp(APIApplication):
288
287
  page_token: str | None = None,
289
288
  ) -> dict[str, Any]:
290
289
  """
291
- Retrieves all instances of a recurring calendar event within a specified time range.
292
-
290
+ Retrieves all individual occurrences (instances) of a specific recurring event, identified by its ID. This function allows filtering by a time range and supports pagination, distinguishing it from `list_events` which fetches multiple, distinct events rather than instances of a single one.
291
+
293
292
  Args:
294
293
  event_id: ID of the recurring event
295
294
  max_results: Maximum number of event instances to return (default: 25, max: 2500)
@@ -298,14 +297,14 @@ class GoogleCalendarApp(APIApplication):
298
297
  time_zone: Time zone used in the response (defaults to calendar's time zone)
299
298
  show_deleted: Whether to include deleted instances (default: False)
300
299
  page_token: Token for retrieving a specific page of results
301
-
300
+
302
301
  Returns:
303
302
  Dictionary containing the complete API response with all event instances and metadata
304
-
303
+
305
304
  Raises:
306
305
  HTTPError: Raised when the API request fails or returns an error status code
307
306
  JSONDecodeError: Raised when the API response cannot be parsed as JSON
308
-
307
+
309
308
  Tags:
310
309
  list, retrieve, calendar, events, recurring, pagination, api, important
311
310
  """
@@ -342,8 +341,8 @@ class GoogleCalendarApp(APIApplication):
342
341
  userIp=None,
343
342
  ) -> Any:
344
343
  """
345
- Deletes an event from the specified calendar.
346
-
344
+ Deletes a specific event from a Google Calendar using its event and calendar IDs. This action is permanent and can optionally send cancellation notifications or updates to attendees based on the provided parameters.
345
+
347
346
  Args:
348
347
  calendarId (string): calendarId
349
348
  eventId (string): eventId
@@ -356,10 +355,10 @@ class GoogleCalendarApp(APIApplication):
356
355
  prettyPrint (string): Returns response with indentations and line breaks. Example: 'true'.
357
356
  quotaUser (string): An opaque string that represents a user for quota purposes. Must not exceed 40 characters. Example: 'amet in'.
358
357
  userIp (string): Deprecated. Please use quotaUser instead. Example: 'amet in'.
359
-
358
+
360
359
  Returns:
361
360
  Any: No Content
362
-
361
+
363
362
  Tags:
364
363
  calendars, {calendarId}, events, {eventId}
365
364
  """
@@ -386,7 +385,7 @@ class GoogleCalendarApp(APIApplication):
386
385
  response = self._delete(url, params=query_params)
387
386
  return self._handle_response(response)
388
387
 
389
- def update_event(
388
+ def replace_event(
390
389
  self,
391
390
  event_id: str,
392
391
  start: dict[str, Any],
@@ -401,9 +400,8 @@ class GoogleCalendarApp(APIApplication):
401
400
  max_attendees: int | None = None,
402
401
  ) -> dict[str, Any]:
403
402
  """
404
- Updates an existing calendar event. This method updates the entire event resource.
405
- To do a partial update, first get the event, then update it using etags to ensure atomicity.
406
-
403
+ 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, summary, and attendees. It does not support partial modifications; all required fields for the new event version are necessary.
404
+
407
405
  Args:
408
406
  event_id: The unique identifier of the calendar event to update (required)
409
407
  start: Start time of the event (required). Must include timezone offset or timeZone field.
@@ -425,13 +423,13 @@ class GoogleCalendarApp(APIApplication):
425
423
  calendar_id: Calendar identifier (default: "primary")
426
424
  send_updates: Specifies who should receive event notifications: 'all', 'externalOnly', or 'none' (default)
427
425
  max_attendees: Maximum number of attendees to include in the response (optional)
428
-
426
+
429
427
  Returns:
430
428
  Dictionary containing the complete API response with the updated event details
431
-
429
+
432
430
  Raises:
433
431
  HTTPError: Raised when the API request fails or returns an error status code
434
-
432
+
435
433
  Tags:
436
434
  update, calendar, event, modify, important
437
435
  """
@@ -458,16 +456,16 @@ class GoogleCalendarApp(APIApplication):
458
456
 
459
457
  return self._handle_response(response)
460
458
 
461
- def get_user_timezone(self) -> dict[str, Any]:
459
+ def get_primary_calendar_details(self) -> dict[str, Any]:
462
460
  """
463
- Gets the user's calendar timezone setting to help with timezone-aware event creation.
464
-
461
+ 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, as recommended before using functions like `add_an_event` to prevent scheduling errors across different regions.
462
+
465
463
  Returns:
466
464
  Dictionary containing the user's timezone information
467
-
465
+
468
466
  Raises:
469
467
  HTTPError: Raised when the API request fails or returns an error status code
470
-
468
+
471
469
  Tags:
472
470
  get, calendar, timezone, settings, important
473
471
  """
@@ -476,7 +474,7 @@ class GoogleCalendarApp(APIApplication):
476
474
  response = self._get(url)
477
475
  return self._handle_response(response)
478
476
 
479
- def query_free_busy(
477
+ def get_free_busy_info(
480
478
  self,
481
479
  alt=None,
482
480
  fields=None,
@@ -493,9 +491,9 @@ class GoogleCalendarApp(APIApplication):
493
491
  timeZone=None,
494
492
  ) -> dict[str, Any]:
495
493
  """
496
- Checks if you have free slots or not by querying the free/busy status of your calendars.
497
-
498
-
494
+ Queries the Google Calendar API to determine the free/busy status for one or more calendars within a specified time range. It returns a list of busy time intervals, useful for scheduling new events without conflicts.
495
+
496
+
499
497
  Args:
500
498
  alt (string): Data format for the response. Example: 'json'.
501
499
  fields (string): Selector specifying which fields to include in a partial response. Example: 'amet in'.
@@ -528,7 +526,7 @@ class GoogleCalendarApp(APIApplication):
528
526
  "timeZone": "UTC"
529
527
  }
530
528
  ```
531
-
529
+
532
530
  Returns:
533
531
  dict[str, Any]: Successful response
534
532
  """
@@ -561,15 +559,15 @@ class GoogleCalendarApp(APIApplication):
561
559
 
562
560
  def list_tools(self):
563
561
  return [
564
- self.get_event,
565
- self.get_today_events,
562
+ self.get_event_by_id,
563
+ self.get_upcoming_events,
566
564
  self.list_events,
567
- self.quick_add_event,
568
- self.add_an_event,
569
- self.update_event,
570
- self.get_event_instances,
571
- self.get_user_timezone,
565
+ self.create_event_from_text,
566
+ self.create_event,
567
+ self.replace_event,
568
+ self.list_recurring_event_instances,
569
+ self.get_primary_calendar_details,
572
570
  # Auto Generated from Openapi spec
573
571
  self.delete_event,
574
- self.query_free_busy,
572
+ self.get_free_busy_info,
575
573
  ]