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.
- universal_mcp/applications/BEST_PRACTICES.md +166 -0
- universal_mcp/applications/airtable/app.py +0 -1
- universal_mcp/applications/apollo/app.py +0 -1
- universal_mcp/applications/aws_s3/app.py +40 -39
- universal_mcp/applications/browser_use/README.md +1 -0
- universal_mcp/applications/browser_use/__init__.py +0 -0
- universal_mcp/applications/browser_use/app.py +71 -0
- universal_mcp/applications/calendly/app.py +125 -125
- universal_mcp/applications/canva/app.py +95 -99
- universal_mcp/applications/confluence/app.py +0 -1
- universal_mcp/applications/contentful/app.py +4 -5
- universal_mcp/applications/domain_checker/app.py +11 -15
- universal_mcp/applications/e2b/app.py +4 -4
- universal_mcp/applications/elevenlabs/app.py +18 -15
- universal_mcp/applications/exa/app.py +17 -17
- universal_mcp/applications/falai/app.py +28 -29
- universal_mcp/applications/file_system/app.py +9 -9
- universal_mcp/applications/firecrawl/app.py +36 -36
- universal_mcp/applications/fireflies/app.py +55 -56
- universal_mcp/applications/fpl/app.py +49 -50
- universal_mcp/applications/ghost_content/app.py +0 -1
- universal_mcp/applications/github/app.py +41 -43
- universal_mcp/applications/google_calendar/app.py +40 -39
- universal_mcp/applications/google_docs/app.py +168 -232
- universal_mcp/applications/google_drive/app.py +212 -215
- universal_mcp/applications/google_gemini/app.py +1 -5
- universal_mcp/applications/google_mail/app.py +91 -90
- universal_mcp/applications/google_searchconsole/app.py +29 -29
- universal_mcp/applications/google_sheet/app.py +115 -115
- universal_mcp/applications/hashnode/README.md +6 -3
- universal_mcp/applications/hashnode/app.py +174 -25
- universal_mcp/applications/http_tools/app.py +10 -11
- universal_mcp/applications/hubspot/__init__.py +1 -1
- universal_mcp/applications/hubspot/api_segments/api_segment_base.py +36 -7
- universal_mcp/applications/hubspot/api_segments/crm_api.py +368 -368
- universal_mcp/applications/hubspot/api_segments/marketing_api.py +115 -115
- universal_mcp/applications/hubspot/app.py +131 -72
- universal_mcp/applications/jira/app.py +0 -1
- universal_mcp/applications/linkedin/app.py +20 -20
- universal_mcp/applications/markitdown/app.py +10 -5
- universal_mcp/applications/ms_teams/app.py +123 -123
- universal_mcp/applications/openai/app.py +40 -39
- universal_mcp/applications/outlook/app.py +32 -32
- universal_mcp/applications/perplexity/app.py +4 -4
- universal_mcp/applications/reddit/app.py +69 -70
- universal_mcp/applications/resend/app.py +116 -117
- universal_mcp/applications/rocketlane/app.py +0 -1
- universal_mcp/applications/scraper/__init__.py +1 -1
- universal_mcp/applications/scraper/app.py +80 -81
- universal_mcp/applications/serpapi/app.py +14 -14
- universal_mcp/applications/sharepoint/app.py +19 -20
- universal_mcp/applications/shopify/app.py +0 -1
- universal_mcp/applications/slack/app.py +48 -48
- universal_mcp/applications/tavily/app.py +4 -4
- universal_mcp/applications/twitter/api_segments/compliance_api.py +13 -15
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +20 -20
- universal_mcp/applications/twitter/api_segments/dm_events_api.py +12 -12
- universal_mcp/applications/twitter/api_segments/likes_api.py +12 -12
- universal_mcp/applications/twitter/api_segments/lists_api.py +37 -39
- universal_mcp/applications/twitter/api_segments/spaces_api.py +24 -24
- universal_mcp/applications/twitter/api_segments/trends_api.py +4 -4
- universal_mcp/applications/twitter/api_segments/tweets_api.py +105 -105
- universal_mcp/applications/twitter/api_segments/usage_api.py +4 -4
- universal_mcp/applications/twitter/api_segments/users_api.py +136 -136
- universal_mcp/applications/twitter/app.py +6 -2
- universal_mcp/applications/unipile/app.py +90 -97
- universal_mcp/applications/whatsapp/app.py +53 -54
- universal_mcp/applications/whatsapp/audio.py +39 -35
- universal_mcp/applications/whatsapp/whatsapp.py +176 -154
- universal_mcp/applications/whatsapp_business/app.py +92 -92
- universal_mcp/applications/yahoo_finance/app.py +105 -63
- universal_mcp/applications/youtube/app.py +193 -196
- universal_mcp/applications/zenquotes/__init__.py +2 -0
- universal_mcp/applications/zenquotes/app.py +5 -5
- {universal_mcp_applications-0.1.21.dist-info → universal_mcp_applications-0.1.23.dist-info}/METADATA +2 -1
- {universal_mcp_applications-0.1.21.dist-info → universal_mcp_applications-0.1.23.dist-info}/RECORD +78 -74
- {universal_mcp_applications-0.1.21.dist-info → universal_mcp_applications-0.1.23.dist-info}/WHEEL +0 -0
- {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(
|
|
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
|
"""
|