universal-mcp-applications 0.1.13__py3-none-any.whl → 0.1.15__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/aws_s3/app.py +71 -71
- universal_mcp/applications/calendly/app.py +199 -199
- universal_mcp/applications/canva/app.py +189 -189
- universal_mcp/applications/domain_checker/app.py +31 -24
- universal_mcp/applications/e2b/app.py +6 -7
- universal_mcp/applications/elevenlabs/app.py +24 -20
- universal_mcp/applications/exa/app.py +25 -20
- universal_mcp/applications/falai/app.py +44 -41
- universal_mcp/applications/file_system/app.py +20 -12
- universal_mcp/applications/firecrawl/app.py +46 -47
- universal_mcp/applications/fireflies/app.py +79 -79
- universal_mcp/applications/fpl/app.py +83 -74
- universal_mcp/applications/github/README.md +0 -1028
- universal_mcp/applications/github/app.py +55 -50227
- universal_mcp/applications/google_calendar/app.py +63 -65
- universal_mcp/applications/google_docs/app.py +78 -78
- universal_mcp/applications/google_drive/app.py +361 -440
- universal_mcp/applications/google_gemini/app.py +34 -17
- universal_mcp/applications/google_mail/app.py +117 -117
- universal_mcp/applications/google_searchconsole/app.py +41 -47
- universal_mcp/applications/google_sheet/app.py +157 -164
- universal_mcp/applications/http_tools/app.py +16 -16
- universal_mcp/applications/linkedin/app.py +26 -31
- universal_mcp/applications/ms_teams/app.py +190 -190
- universal_mcp/applications/openai/app.py +55 -56
- universal_mcp/applications/outlook/app.py +71 -71
- universal_mcp/applications/perplexity/app.py +17 -17
- universal_mcp/applications/reddit/app.py +225 -4053
- universal_mcp/applications/replicate/app.py +40 -42
- universal_mcp/applications/resend/app.py +157 -154
- universal_mcp/applications/scraper/app.py +24 -24
- universal_mcp/applications/serpapi/app.py +18 -20
- universal_mcp/applications/sharepoint/app.py +46 -36
- universal_mcp/applications/slack/app.py +66 -66
- universal_mcp/applications/tavily/app.py +7 -7
- universal_mcp/applications/twitter/api_segments/compliance_api.py +17 -20
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +35 -40
- universal_mcp/applications/twitter/api_segments/dm_events_api.py +18 -21
- universal_mcp/applications/twitter/api_segments/likes_api.py +19 -22
- universal_mcp/applications/twitter/api_segments/lists_api.py +59 -68
- universal_mcp/applications/twitter/api_segments/spaces_api.py +36 -42
- universal_mcp/applications/twitter/api_segments/trends_api.py +7 -8
- universal_mcp/applications/twitter/api_segments/tweets_api.py +159 -185
- universal_mcp/applications/twitter/api_segments/usage_api.py +5 -6
- universal_mcp/applications/twitter/api_segments/users_api.py +230 -264
- universal_mcp/applications/unipile/app.py +99 -105
- universal_mcp/applications/whatsapp/app.py +86 -82
- universal_mcp/applications/whatsapp_business/app.py +147 -147
- universal_mcp/applications/youtube/app.py +290 -290
- universal_mcp/applications/zenquotes/app.py +6 -6
- {universal_mcp_applications-0.1.13.dist-info → universal_mcp_applications-0.1.15.dist-info}/METADATA +2 -2
- {universal_mcp_applications-0.1.13.dist-info → universal_mcp_applications-0.1.15.dist-info}/RECORD +54 -54
- {universal_mcp_applications-0.1.13.dist-info → universal_mcp_applications-0.1.15.dist-info}/WHEEL +0 -0
- {universal_mcp_applications-0.1.13.dist-info → universal_mcp_applications-0.1.15.dist-info}/licenses/LICENSE +0 -0
|
@@ -30,6 +30,9 @@ class ReplicateApp(APIApplication):
|
|
|
30
30
|
|
|
31
31
|
@property
|
|
32
32
|
def replicate_client(self) -> replicate.Client:
|
|
33
|
+
"""
|
|
34
|
+
Lazily initializes and returns an authenticated `replicate.Client` instance. On first access, it fetches the API key from the configured integration and caches the client, ensuring a single instance is used for all subsequent API calls within the application. Raises `NotAuthorizedError` on credential failure.
|
|
35
|
+
"""
|
|
33
36
|
if self._replicate_client is None:
|
|
34
37
|
credentials = self.integration.get_credentials()
|
|
35
38
|
logger.info(
|
|
@@ -57,20 +60,19 @@ class ReplicateApp(APIApplication):
|
|
|
57
60
|
use_file_output: bool | None = True,
|
|
58
61
|
) -> Any:
|
|
59
62
|
"""
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
+
Executes a Replicate model synchronously, blocking until it completes and returns the final output. This abstracts the polling logic required by asynchronous jobs. If a model streams results, this function conveniently collects all items into a list before returning, unlike the non-blocking `submit_prediction` method.
|
|
64
|
+
|
|
63
65
|
Args:
|
|
64
66
|
model_ref: The model identifier string (e.g., "owner/name" or "owner/name:version_id").
|
|
65
67
|
inputs: A dictionary of inputs for the model.
|
|
66
68
|
use_file_output: If True (default), file URLs in output are wrapped in FileOutput objects.
|
|
67
|
-
|
|
69
|
+
|
|
68
70
|
Returns:
|
|
69
71
|
The model's output. If the model streams output, a list of all streamed items is returned.
|
|
70
|
-
|
|
72
|
+
|
|
71
73
|
Raises:
|
|
72
74
|
ToolError: If the Replicate API request fails or the model encounters an error.
|
|
73
|
-
|
|
75
|
+
|
|
74
76
|
Tags:
|
|
75
77
|
run, execute, ai, synchronous, replicate, important
|
|
76
78
|
"""
|
|
@@ -128,20 +130,20 @@ class ReplicateApp(APIApplication):
|
|
|
128
130
|
webhook_events_filter: list[str] | None = None,
|
|
129
131
|
) -> str:
|
|
130
132
|
"""
|
|
131
|
-
Submits a
|
|
132
|
-
|
|
133
|
+
Submits a model execution request to Replicate for non-blocking, asynchronous processing. It immediately returns a prediction ID for tracking, unlike the synchronous `run` method which waits for the final result. The returned ID can be used with `get_prediction` or `fetch_prediction_output` to monitor the job.
|
|
134
|
+
|
|
133
135
|
Args:
|
|
134
136
|
model_ref: The model identifier string (e.g., "owner/name" or "owner/name:version_id").
|
|
135
137
|
inputs: A dictionary of inputs for the model.
|
|
136
138
|
webhook: URL to receive a POST request with prediction updates.
|
|
137
139
|
webhook_events_filter: List of events to trigger webhooks (e.g., ["start", "output", "logs", "completed"]).
|
|
138
|
-
|
|
140
|
+
|
|
139
141
|
Returns:
|
|
140
142
|
The ID (str) of the created prediction.
|
|
141
|
-
|
|
143
|
+
|
|
142
144
|
Raises:
|
|
143
145
|
ToolError: If the Replicate API request fails.
|
|
144
|
-
|
|
146
|
+
|
|
145
147
|
Tags:
|
|
146
148
|
submit, async_job, start, ai, queue, replicate
|
|
147
149
|
"""
|
|
@@ -184,17 +186,17 @@ class ReplicateApp(APIApplication):
|
|
|
184
186
|
|
|
185
187
|
async def get_prediction(self, prediction_id: str) -> Prediction:
|
|
186
188
|
"""
|
|
187
|
-
Retrieves the
|
|
188
|
-
|
|
189
|
+
Retrieves the full details and current state of a Replicate prediction by its ID. This function performs a non-blocking status check, returning the prediction object immediately. Unlike `fetch_prediction_output`, it does not wait for the job to complete and is used for monitoring progress.
|
|
190
|
+
|
|
189
191
|
Args:
|
|
190
192
|
prediction_id: The unique ID of the prediction.
|
|
191
|
-
|
|
193
|
+
|
|
192
194
|
Returns:
|
|
193
195
|
A Replicate Prediction object containing status, logs, output (if ready), etc.
|
|
194
|
-
|
|
196
|
+
|
|
195
197
|
Raises:
|
|
196
198
|
ToolError: If the Replicate API request fails.
|
|
197
|
-
|
|
199
|
+
|
|
198
200
|
Tags:
|
|
199
201
|
status, check, async_job, monitoring, ai, replicate
|
|
200
202
|
"""
|
|
@@ -222,21 +224,19 @@ class ReplicateApp(APIApplication):
|
|
|
222
224
|
f"An unexpected error occurred while getting status for prediction {prediction_id}: {e}"
|
|
223
225
|
) from e
|
|
224
226
|
|
|
225
|
-
async def
|
|
227
|
+
async def await_prediction_result(self, prediction_id: str) -> Any:
|
|
226
228
|
"""
|
|
227
|
-
Retrieves the output
|
|
228
|
-
|
|
229
|
-
If the model output is an iterator, this tool will collect all items into a list.
|
|
230
|
-
|
|
229
|
+
Retrieves the final output for a given prediction ID, waiting for the job to complete if it is still running. This function complements `submit_prediction` by blocking until the asynchronous task finishes, raising an error if the prediction fails or is canceled.
|
|
230
|
+
|
|
231
231
|
Args:
|
|
232
232
|
prediction_id: The unique ID of the prediction.
|
|
233
|
-
|
|
233
|
+
|
|
234
234
|
Returns:
|
|
235
235
|
The output of the prediction. If the model streams output, a list of all streamed items is returned.
|
|
236
|
-
|
|
236
|
+
|
|
237
237
|
Raises:
|
|
238
238
|
ToolError: If the prediction fails, is canceled, or an API error occurs.
|
|
239
|
-
|
|
239
|
+
|
|
240
240
|
Tags:
|
|
241
241
|
result, fetch_output, async_job, wait, ai, replicate
|
|
242
242
|
"""
|
|
@@ -305,17 +305,17 @@ class ReplicateApp(APIApplication):
|
|
|
305
305
|
|
|
306
306
|
async def cancel_prediction(self, prediction_id: str) -> None:
|
|
307
307
|
"""
|
|
308
|
-
|
|
309
|
-
|
|
308
|
+
Sends a request to cancel a running or queued Replicate prediction. It first checks the prediction's status, only proceeding if it is not already in a terminal state (e.g., succeeded, failed), and gracefully handles jobs that cannot be canceled.
|
|
309
|
+
|
|
310
310
|
Args:
|
|
311
311
|
prediction_id: The unique ID of the prediction to cancel.
|
|
312
|
-
|
|
312
|
+
|
|
313
313
|
Returns:
|
|
314
314
|
None.
|
|
315
|
-
|
|
315
|
+
|
|
316
316
|
Raises:
|
|
317
317
|
ToolError: If the cancellation request fails.
|
|
318
|
-
|
|
318
|
+
|
|
319
319
|
Tags:
|
|
320
320
|
cancel, async_job, ai, replicate, management
|
|
321
321
|
"""
|
|
@@ -353,18 +353,17 @@ class ReplicateApp(APIApplication):
|
|
|
353
353
|
|
|
354
354
|
async def upload_file(self, file_path: str) -> str:
|
|
355
355
|
"""
|
|
356
|
-
Uploads a local file to Replicate
|
|
357
|
-
|
|
358
|
-
|
|
356
|
+
Uploads a local file from a given path to Replicate's storage, returning a public URL. This URL is essential for providing file-based inputs to Replicate models via functions like `run` or `submit_prediction`. Fails if the file is not found or the upload encounters an error.
|
|
357
|
+
|
|
359
358
|
Args:
|
|
360
359
|
file_path: The absolute or relative path to the local file.
|
|
361
|
-
|
|
360
|
+
|
|
362
361
|
Returns:
|
|
363
362
|
A string containing the public URL of the uploaded file (e.g., "https://replicate.delivery/pbxt/...").
|
|
364
|
-
|
|
363
|
+
|
|
365
364
|
Raises:
|
|
366
365
|
ToolError: If the file is not found or if the upload operation fails.
|
|
367
|
-
|
|
366
|
+
|
|
368
367
|
Tags:
|
|
369
368
|
upload, file, storage, replicate, important
|
|
370
369
|
"""
|
|
@@ -417,9 +416,8 @@ class ReplicateApp(APIApplication):
|
|
|
417
416
|
extra_arguments: dict[str, Any] | None = None,
|
|
418
417
|
) -> Any:
|
|
419
418
|
"""
|
|
420
|
-
Generates images using a specified
|
|
421
|
-
|
|
422
|
-
|
|
419
|
+
Generates images synchronously using a specified model, defaulting to SDXL. As a convenience wrapper around the generic `run` function, it simplifies image creation by exposing common parameters like `prompt` and `width`, and waits for the model to complete before returning the resulting image URLs.
|
|
420
|
+
|
|
423
421
|
Args:
|
|
424
422
|
prompt: The text prompt for image generation.
|
|
425
423
|
model_ref: The Replicate model identifier string.
|
|
@@ -430,13 +428,13 @@ class ReplicateApp(APIApplication):
|
|
|
430
428
|
num_outputs: Number of images to generate.
|
|
431
429
|
seed: Optional random seed for reproducibility.
|
|
432
430
|
extra_arguments: Dictionary of additional arguments specific to the model.
|
|
433
|
-
|
|
431
|
+
|
|
434
432
|
Returns:
|
|
435
433
|
The output from the image generation model, typically a list of image URLs.
|
|
436
|
-
|
|
434
|
+
|
|
437
435
|
Raises:
|
|
438
436
|
ToolError: If the image generation fails.
|
|
439
|
-
|
|
437
|
+
|
|
440
438
|
Tags:
|
|
441
439
|
generate, image, ai, replicate, sdxl, important, default
|
|
442
440
|
"""
|
|
@@ -488,7 +486,7 @@ class ReplicateApp(APIApplication):
|
|
|
488
486
|
self.run,
|
|
489
487
|
self.submit_prediction,
|
|
490
488
|
self.get_prediction,
|
|
491
|
-
self.
|
|
489
|
+
self.await_prediction_result,
|
|
492
490
|
self.cancel_prediction,
|
|
493
491
|
self.upload_file,
|
|
494
492
|
self.generate_image,
|