universal-mcp-applications 0.1.17__py3-none-any.whl → 0.1.19__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/ahrefs/README.md +3 -3
- universal_mcp/applications/airtable/README.md +3 -3
- universal_mcp/applications/asana/README.md +3 -3
- universal_mcp/applications/aws_s3/README.md +29 -0
- universal_mcp/applications/bill/README.md +249 -0
- universal_mcp/applications/calendly/README.md +45 -45
- universal_mcp/applications/canva/README.md +35 -35
- universal_mcp/applications/clickup/README.md +4 -4
- universal_mcp/applications/contentful/README.md +1 -2
- universal_mcp/applications/crustdata/README.md +3 -3
- universal_mcp/applications/domain_checker/README.md +2 -2
- universal_mcp/applications/e2b/README.md +4 -4
- universal_mcp/applications/elevenlabs/README.md +3 -77
- universal_mcp/applications/exa/README.md +7 -7
- universal_mcp/applications/falai/README.md +13 -12
- universal_mcp/applications/falai/app.py +6 -6
- universal_mcp/applications/figma/README.md +3 -3
- universal_mcp/applications/file_system/README.md +13 -0
- universal_mcp/applications/firecrawl/README.md +9 -9
- universal_mcp/applications/firecrawl/app.py +10 -10
- universal_mcp/applications/fireflies/README.md +14 -14
- universal_mcp/applications/fpl/README.md +12 -12
- universal_mcp/applications/fpl/app.py +5 -5
- universal_mcp/applications/github/README.md +10 -10
- universal_mcp/applications/github/app.py +9 -9
- universal_mcp/applications/google_calendar/README.md +10 -10
- universal_mcp/applications/google_calendar/app.py +10 -10
- universal_mcp/applications/google_docs/README.md +14 -14
- universal_mcp/applications/google_docs/app.py +12 -12
- universal_mcp/applications/google_drive/README.md +54 -57
- universal_mcp/applications/google_drive/app.py +38 -38
- universal_mcp/applications/google_gemini/README.md +3 -14
- universal_mcp/applications/google_gemini/app.py +13 -12
- universal_mcp/applications/google_mail/README.md +20 -20
- universal_mcp/applications/google_mail/app.py +19 -19
- universal_mcp/applications/google_searchconsole/README.md +10 -10
- universal_mcp/applications/google_searchconsole/app.py +8 -8
- universal_mcp/applications/google_sheet/README.md +25 -25
- universal_mcp/applications/google_sheet/app.py +20 -20
- universal_mcp/applications/http_tools/README.md +5 -5
- universal_mcp/applications/hubspot/__init__.py +1 -1
- universal_mcp/applications/hubspot/api_segments/__init__.py +0 -0
- universal_mcp/applications/hubspot/api_segments/api_segment_base.py +25 -0
- universal_mcp/applications/hubspot/api_segments/crm_api.py +7337 -0
- universal_mcp/applications/hubspot/api_segments/marketing_api.py +1467 -0
- universal_mcp/applications/hubspot/app.py +74 -146
- universal_mcp/applications/klaviyo/README.md +0 -36
- universal_mcp/applications/linkedin/README.md +4 -4
- universal_mcp/applications/linkedin/app.py +4 -4
- universal_mcp/applications/mailchimp/README.md +3 -3
- universal_mcp/applications/ms_teams/README.md +31 -31
- universal_mcp/applications/ms_teams/app.py +28 -28
- universal_mcp/applications/neon/README.md +3 -3
- universal_mcp/applications/openai/README.md +18 -17
- universal_mcp/applications/outlook/README.md +9 -9
- universal_mcp/applications/outlook/app.py +9 -9
- universal_mcp/applications/perplexity/README.md +4 -4
- universal_mcp/applications/posthog/README.md +128 -127
- universal_mcp/applications/reddit/README.md +21 -124
- universal_mcp/applications/reddit/app.py +90 -89
- universal_mcp/applications/replicate/README.md +10 -10
- universal_mcp/applications/resend/README.md +29 -29
- universal_mcp/applications/scraper/README.md +4 -4
- universal_mcp/applications/scraper/app.py +31 -31
- universal_mcp/applications/semrush/README.md +3 -0
- universal_mcp/applications/serpapi/README.md +3 -3
- universal_mcp/applications/sharepoint/README.md +17 -0
- universal_mcp/applications/sharepoint/app.py +7 -7
- universal_mcp/applications/shortcut/README.md +3 -3
- universal_mcp/applications/slack/README.md +23 -0
- universal_mcp/applications/spotify/README.md +3 -3
- universal_mcp/applications/supabase/README.md +3 -3
- universal_mcp/applications/tavily/README.md +4 -4
- universal_mcp/applications/twilio/README.md +15 -0
- universal_mcp/applications/twitter/README.md +92 -89
- universal_mcp/applications/twitter/app.py +11 -11
- universal_mcp/applications/unipile/README.md +17 -17
- universal_mcp/applications/unipile/app.py +14 -14
- universal_mcp/applications/whatsapp/README.md +12 -12
- universal_mcp/applications/whatsapp/app.py +13 -13
- universal_mcp/applications/whatsapp_business/README.md +23 -23
- universal_mcp/applications/youtube/README.md +46 -46
- universal_mcp/applications/youtube/app.py +7 -1
- universal_mcp/applications/zenquotes/README.md +1 -1
- {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.19.dist-info}/METADATA +2 -89
- {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.19.dist-info}/RECORD +88 -83
- {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.19.dist-info}/WHEEL +0 -0
- {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.19.dist-info}/licenses/LICENSE +0 -0
|
@@ -49,20 +49,20 @@ class RedditApp(APIApplication):
|
|
|
49
49
|
self, subreddit: str, limit: int = 5, timeframe: str = "day"
|
|
50
50
|
) -> dict[str, Any]:
|
|
51
51
|
"""
|
|
52
|
-
Fetches top posts from a
|
|
53
|
-
|
|
52
|
+
Fetches a specified number of top-rated posts from a particular subreddit, allowing results to be filtered by a specific timeframe (e.g., 'day', 'week'). This is a simplified version compared to `get_subreddit_top_posts`, which uses more complex pagination parameters instead of a direct time filter.
|
|
53
|
+
|
|
54
54
|
Args:
|
|
55
55
|
subreddit: The name of the subreddit (e.g., 'python', 'worldnews') without the 'r/' prefix
|
|
56
56
|
limit: The maximum number of posts to return (default: 5, max: 100)
|
|
57
57
|
timeframe: The time period for top posts. Valid options: 'hour', 'day', 'week', 'month', 'year', 'all' (default: 'day')
|
|
58
|
-
|
|
58
|
+
|
|
59
59
|
Returns:
|
|
60
60
|
A formatted string containing a numbered list of top posts, including titles, authors, scores, and URLs, or an error message if the request fails
|
|
61
|
-
|
|
61
|
+
|
|
62
62
|
Raises:
|
|
63
63
|
RequestException: When the HTTP request to the Reddit API fails
|
|
64
64
|
JSONDecodeError: When the API response contains invalid JSON
|
|
65
|
-
|
|
65
|
+
|
|
66
66
|
Tags:
|
|
67
67
|
fetch, reddit, api, list, social-media, important, read-only
|
|
68
68
|
"""
|
|
@@ -85,20 +85,20 @@ class RedditApp(APIApplication):
|
|
|
85
85
|
self, query: str, limit: int = 5, sort: str = "relevance"
|
|
86
86
|
) -> str:
|
|
87
87
|
"""
|
|
88
|
-
Searches
|
|
89
|
-
|
|
88
|
+
Searches for subreddits by name and description using a query string, with results sortable by relevance or activity. Unlike the broader `search_reddit` function, this method exclusively discovers subreddits, not posts, comments, or users.
|
|
89
|
+
|
|
90
90
|
Args:
|
|
91
91
|
query: The text to search for in subreddit names and descriptions
|
|
92
92
|
limit: The maximum number of subreddits to return, between 1 and 100 (default: 5)
|
|
93
93
|
sort: The order of results, either 'relevance' or 'activity' (default: 'relevance')
|
|
94
|
-
|
|
94
|
+
|
|
95
95
|
Returns:
|
|
96
96
|
A formatted string containing a list of matching subreddits with their names, subscriber counts, and descriptions, or an error message if the search fails or parameters are invalid
|
|
97
|
-
|
|
97
|
+
|
|
98
98
|
Raises:
|
|
99
99
|
RequestException: When the HTTP request to Reddit's API fails
|
|
100
100
|
JSONDecodeError: When the API response contains invalid JSON
|
|
101
|
-
|
|
101
|
+
|
|
102
102
|
Tags:
|
|
103
103
|
search, important, reddit, api, query, format, list, validation
|
|
104
104
|
"""
|
|
@@ -123,18 +123,18 @@ class RedditApp(APIApplication):
|
|
|
123
123
|
|
|
124
124
|
def get_post_flairs(self, subreddit: str):
|
|
125
125
|
"""
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
Fetches a list of available post flairs (tags) for a specified subreddit. This is primarily used to discover the correct `flair_id` needed to categorize a new submission when using the `create_post` function. It returns flair details or a message if none are available.
|
|
127
|
+
|
|
128
128
|
Args:
|
|
129
129
|
subreddit: The name of the subreddit (e.g., 'python', 'worldnews') without the 'r/' prefix
|
|
130
|
-
|
|
130
|
+
|
|
131
131
|
Returns:
|
|
132
132
|
A list of dictionaries containing flair details if flairs exist, or a string message indicating no flairs are available
|
|
133
|
-
|
|
133
|
+
|
|
134
134
|
Raises:
|
|
135
135
|
RequestException: When the API request fails or network connectivity issues occur
|
|
136
136
|
JSONDecodeError: When the API response contains invalid JSON data
|
|
137
|
-
|
|
137
|
+
|
|
138
138
|
Tags:
|
|
139
139
|
fetch, get, reddit, flair, api, read-only
|
|
140
140
|
"""
|
|
@@ -156,8 +156,8 @@ class RedditApp(APIApplication):
|
|
|
156
156
|
flair_id: str = None,
|
|
157
157
|
):
|
|
158
158
|
"""
|
|
159
|
-
Creates a new Reddit post in a specified subreddit
|
|
160
|
-
|
|
159
|
+
Creates a new Reddit post in a specified subreddit. It supports text ('self') or link posts, requiring a title and corresponding content (text or URL). An optional flair can be assigned. Returns the API response or a formatted error message on failure.
|
|
160
|
+
|
|
161
161
|
Args:
|
|
162
162
|
subreddit: The name of the subreddit (e.g., 'python', 'worldnews') without the 'r/'
|
|
163
163
|
title: The title of the post
|
|
@@ -165,13 +165,13 @@ class RedditApp(APIApplication):
|
|
|
165
165
|
text: The text content of the post; required if kind is 'self'
|
|
166
166
|
url: The URL of the link or image; required if kind is 'link'. Must end with valid image extension for image posts
|
|
167
167
|
flair_id: The ID of the flair to assign to the post
|
|
168
|
-
|
|
168
|
+
|
|
169
169
|
Returns:
|
|
170
170
|
The JSON response from the Reddit API, or an error message as a string if the API returns an error
|
|
171
|
-
|
|
171
|
+
|
|
172
172
|
Raises:
|
|
173
173
|
ValueError: Raised when kind is invalid or when required parameters (text for self posts, url for link posts) are missing
|
|
174
|
-
|
|
174
|
+
|
|
175
175
|
Tags:
|
|
176
176
|
create, post, social-media, reddit, api, important
|
|
177
177
|
"""
|
|
@@ -209,18 +209,18 @@ class RedditApp(APIApplication):
|
|
|
209
209
|
|
|
210
210
|
def get_comment_by_id(self, comment_id: str) -> dict:
|
|
211
211
|
"""
|
|
212
|
-
Retrieves a
|
|
213
|
-
|
|
212
|
+
Retrieves a single Reddit comment's data, such as author and score, using its unique 't1_' prefixed ID. Unlike `get_post_comments_details` which fetches all comments for a post, this function targets one specific comment directly, returning an error dictionary if it is not found.
|
|
213
|
+
|
|
214
214
|
Args:
|
|
215
215
|
comment_id: The full unique identifier of the comment (prefixed with 't1_', e.g., 't1_abcdef')
|
|
216
|
-
|
|
216
|
+
|
|
217
217
|
Returns:
|
|
218
218
|
A dictionary containing the comment data including attributes like author, body, score, etc. If the comment is not found, returns a dictionary with an error message.
|
|
219
|
-
|
|
219
|
+
|
|
220
220
|
Raises:
|
|
221
221
|
HTTPError: When the Reddit API request fails due to network issues or invalid authentication
|
|
222
222
|
JSONDecodeError: When the API response cannot be parsed as valid JSON
|
|
223
|
-
|
|
223
|
+
|
|
224
224
|
Tags:
|
|
225
225
|
retrieve, get, reddit, comment, api, fetch, single-item, important
|
|
226
226
|
"""
|
|
@@ -235,19 +235,19 @@ class RedditApp(APIApplication):
|
|
|
235
235
|
|
|
236
236
|
def post_comment(self, parent_id: str, text: str) -> dict:
|
|
237
237
|
"""
|
|
238
|
-
Posts a comment to a Reddit post or comment
|
|
239
|
-
|
|
238
|
+
Posts a new comment as a reply to a specified Reddit post or another comment. Using the parent's full ID and the desired text, it submits the comment via the API and returns the response containing the new comment's details.
|
|
239
|
+
|
|
240
240
|
Args:
|
|
241
241
|
parent_id: The full ID of the parent comment or post (e.g., 't3_abc123' for a post, 't1_def456' for a comment)
|
|
242
242
|
text: The text content of the comment to be posted
|
|
243
|
-
|
|
243
|
+
|
|
244
244
|
Returns:
|
|
245
245
|
A dictionary containing the Reddit API response with details about the posted comment
|
|
246
|
-
|
|
246
|
+
|
|
247
247
|
Raises:
|
|
248
248
|
RequestException: If the API request fails or returns an error status code
|
|
249
249
|
JSONDecodeError: If the API response cannot be parsed as JSON
|
|
250
|
-
|
|
250
|
+
|
|
251
251
|
Tags:
|
|
252
252
|
post, comment, social, reddit, api, important
|
|
253
253
|
"""
|
|
@@ -262,19 +262,19 @@ class RedditApp(APIApplication):
|
|
|
262
262
|
|
|
263
263
|
def edit_content(self, content_id: str, text: str) -> dict:
|
|
264
264
|
"""
|
|
265
|
-
|
|
266
|
-
|
|
265
|
+
Modifies the text of a specific Reddit post or comment via its unique ID. Unlike creation or deletion functions, this method specifically handles updates to existing user-generated content, submitting the new text to the API and returning a JSON response detailing the edited item.
|
|
266
|
+
|
|
267
267
|
Args:
|
|
268
268
|
content_id: The full ID of the content to edit (e.g., 't3_abc123' for a post, 't1_def456' for a comment)
|
|
269
269
|
text: The new text content to replace the existing content
|
|
270
|
-
|
|
270
|
+
|
|
271
271
|
Returns:
|
|
272
272
|
A dictionary containing the API response with details about the edited content
|
|
273
|
-
|
|
273
|
+
|
|
274
274
|
Raises:
|
|
275
275
|
RequestException: When the API request fails or network connectivity issues occur
|
|
276
276
|
ValueError: When invalid content_id format or empty text is provided
|
|
277
|
-
|
|
277
|
+
|
|
278
278
|
Tags:
|
|
279
279
|
edit, update, content, reddit, api, important
|
|
280
280
|
"""
|
|
@@ -289,18 +289,18 @@ class RedditApp(APIApplication):
|
|
|
289
289
|
|
|
290
290
|
def delete_content(self, content_id: str) -> dict:
|
|
291
291
|
"""
|
|
292
|
-
Deletes a specified Reddit post or comment using the
|
|
293
|
-
|
|
292
|
+
Deletes a specified Reddit post or comment using its full identifier (`content_id`). It sends a POST request to the `/api/del` endpoint for permanent removal, unlike `edit_content` which only modifies. On success, it returns a confirmation message.
|
|
293
|
+
|
|
294
294
|
Args:
|
|
295
295
|
content_id: The full ID of the content to delete (e.g., 't3_abc123' for a post, 't1_def456' for a comment)
|
|
296
|
-
|
|
296
|
+
|
|
297
297
|
Returns:
|
|
298
298
|
A dictionary containing a success message with the deleted content ID
|
|
299
|
-
|
|
299
|
+
|
|
300
300
|
Raises:
|
|
301
301
|
HTTPError: When the API request fails or returns an error status code
|
|
302
302
|
RequestException: When there are network connectivity issues or API communication problems
|
|
303
|
-
|
|
303
|
+
|
|
304
304
|
Tags:
|
|
305
305
|
delete, content-management, api, reddit, important
|
|
306
306
|
"""
|
|
@@ -315,10 +315,11 @@ class RedditApp(APIApplication):
|
|
|
315
315
|
|
|
316
316
|
def get_current_user_info(self) -> Any:
|
|
317
317
|
"""
|
|
318
|
-
|
|
318
|
+
Retrieves the full profile information for the currently authenticated user by making a GET request to the `/api/v1/me` Reddit API endpoint. This differs from `get_user_profile`, which requires a username, and `get_current_user_karma`, which specifically fetches karma data.
|
|
319
|
+
|
|
319
320
|
Returns:
|
|
320
321
|
Any: API response data.
|
|
321
|
-
|
|
322
|
+
|
|
322
323
|
Tags:
|
|
323
324
|
users
|
|
324
325
|
"""
|
|
@@ -330,11 +331,11 @@ class RedditApp(APIApplication):
|
|
|
330
331
|
|
|
331
332
|
def get_current_user_karma(self) -> Any:
|
|
332
333
|
"""
|
|
333
|
-
|
|
334
|
-
|
|
334
|
+
Fetches the karma breakdown for the authenticated user from the Reddit API. This function specifically targets the `/api/v1/me/karma` endpoint, returning karma statistics per subreddit, which is more specific than `get_current_user_info` that retrieves general profile information.
|
|
335
|
+
|
|
335
336
|
Returns:
|
|
336
337
|
Any: API response data.
|
|
337
|
-
|
|
338
|
+
|
|
338
339
|
Tags:
|
|
339
340
|
account
|
|
340
341
|
"""
|
|
@@ -346,14 +347,14 @@ class RedditApp(APIApplication):
|
|
|
346
347
|
|
|
347
348
|
def get_post_comments_details(self, post_id: str) -> Any:
|
|
348
349
|
"""
|
|
349
|
-
|
|
350
|
-
|
|
350
|
+
Fetches a specific Reddit post's details and its complete comment tree using the post's unique ID. This function returns the entire discussion, including the original post and all associated comments, providing broader context than `get_comment_by_id` which only retrieves a single comment.
|
|
351
|
+
|
|
351
352
|
Args:
|
|
352
353
|
post_id (string): The Reddit post ID ( e.g. '1m734tx' for https://www.reddit.com/r/mcp/comments/1m734tx/comment/n4occ77/)
|
|
353
|
-
|
|
354
|
+
|
|
354
355
|
Returns:
|
|
355
356
|
Any: API response data containing post details and comments.
|
|
356
|
-
|
|
357
|
+
|
|
357
358
|
Tags:
|
|
358
359
|
listings, comments, posts, important
|
|
359
360
|
"""
|
|
@@ -373,8 +374,8 @@ class RedditApp(APIApplication):
|
|
|
373
374
|
sr_detail: str = None,
|
|
374
375
|
) -> Any:
|
|
375
376
|
"""
|
|
376
|
-
|
|
377
|
-
|
|
377
|
+
Fetches a global list of the most controversial posts from across all of Reddit, distinct from subreddit-specific queries. Optional parameters allow for pagination and customization of the results, returning the direct API response data with the post listings.
|
|
378
|
+
|
|
378
379
|
Args:
|
|
379
380
|
after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
|
|
380
381
|
before: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results before.
|
|
@@ -382,10 +383,10 @@ class RedditApp(APIApplication):
|
|
|
382
383
|
limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
|
|
383
384
|
show: Optional. The string "all" to show all posts.
|
|
384
385
|
sr_detail: Optional. Expand subreddit details.
|
|
385
|
-
|
|
386
|
+
|
|
386
387
|
Returns:
|
|
387
388
|
Any: API response data containing a list of controversial posts.
|
|
388
|
-
|
|
389
|
+
|
|
389
390
|
Tags:
|
|
390
391
|
listings, posts, controversial, read-only
|
|
391
392
|
"""
|
|
@@ -417,8 +418,8 @@ class RedditApp(APIApplication):
|
|
|
417
418
|
sr_detail: str = None,
|
|
418
419
|
) -> Any:
|
|
419
420
|
"""
|
|
420
|
-
Retrieves
|
|
421
|
-
|
|
421
|
+
Retrieves trending 'hot' posts from the global Reddit feed. Unlike `get_subreddit_hot_posts`, this operates across all of Reddit, not a specific subreddit. It supports pagination and optional filtering by geographical region to customize the listing of returned posts.
|
|
422
|
+
|
|
422
423
|
Args:
|
|
423
424
|
g: Optional. A geographical region to filter posts by (e.g., 'GLOBAL', 'US', 'GB').
|
|
424
425
|
after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
|
|
@@ -427,10 +428,10 @@ class RedditApp(APIApplication):
|
|
|
427
428
|
limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
|
|
428
429
|
show: Optional. The string "all" to show all posts.
|
|
429
430
|
sr_detail: Optional. Expand subreddit details.
|
|
430
|
-
|
|
431
|
+
|
|
431
432
|
Returns:
|
|
432
433
|
Any: API response data containing a list of hot posts.
|
|
433
|
-
|
|
434
|
+
|
|
434
435
|
Tags:
|
|
435
436
|
listings, posts, hot, read-only
|
|
436
437
|
"""
|
|
@@ -462,8 +463,8 @@ class RedditApp(APIApplication):
|
|
|
462
463
|
sr_detail: str = None,
|
|
463
464
|
) -> Any:
|
|
464
465
|
"""
|
|
465
|
-
|
|
466
|
-
|
|
466
|
+
Fetches a list of the newest posts from across all of Reddit, not limited to a specific subreddit. This function supports optional pagination and filtering parameters to customize the API response, differentiating it from `get_subreddit_new_posts` which targets a single subreddit.
|
|
467
|
+
|
|
467
468
|
Args:
|
|
468
469
|
after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
|
|
469
470
|
before: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results before.
|
|
@@ -471,10 +472,10 @@ class RedditApp(APIApplication):
|
|
|
471
472
|
limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
|
|
472
473
|
show: Optional. The string "all" to show all posts.
|
|
473
474
|
sr_detail: Optional. Expand subreddit details.
|
|
474
|
-
|
|
475
|
+
|
|
475
476
|
Returns:
|
|
476
477
|
Any: API response data containing a list of new posts.
|
|
477
|
-
|
|
478
|
+
|
|
478
479
|
Tags:
|
|
479
480
|
listings, posts, new, read-only
|
|
480
481
|
"""
|
|
@@ -507,8 +508,8 @@ class RedditApp(APIApplication):
|
|
|
507
508
|
sr_detail: str = None,
|
|
508
509
|
) -> Any:
|
|
509
510
|
"""
|
|
510
|
-
Retrieves a list of
|
|
511
|
-
|
|
511
|
+
Retrieves a list of 'hot' posts from a specified subreddit, supporting pagination and geographical filtering. Unlike `get_hot_posts`, which queries all of Reddit, this function targets a single subreddit to fetch its currently trending content, distinct from top or new posts.
|
|
512
|
+
|
|
512
513
|
Args:
|
|
513
514
|
subreddit: The name of the subreddit (e.g., 'python', 'worldnews') without the 'r/' prefix.
|
|
514
515
|
g: Optional. A geographical region to filter posts by (e.g., 'GLOBAL', 'US', 'GB').
|
|
@@ -518,10 +519,10 @@ class RedditApp(APIApplication):
|
|
|
518
519
|
limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
|
|
519
520
|
show: Optional. The string "all" to show all posts.
|
|
520
521
|
sr_detail: Optional. Expand subreddit details.
|
|
521
|
-
|
|
522
|
+
|
|
522
523
|
Returns:
|
|
523
524
|
Any: API response data containing a list of hot posts from the subreddit.
|
|
524
|
-
|
|
525
|
+
|
|
525
526
|
Tags:
|
|
526
527
|
listings, posts, subreddit, hot, read-only
|
|
527
528
|
"""
|
|
@@ -556,8 +557,8 @@ class RedditApp(APIApplication):
|
|
|
556
557
|
sr_detail: str = None,
|
|
557
558
|
) -> Any:
|
|
558
559
|
"""
|
|
559
|
-
Retrieves a list of the newest posts
|
|
560
|
-
|
|
560
|
+
Retrieves a list of the newest posts from a specified subreddit, sorted chronologically. Unlike `get_new_posts` which targets all of Reddit, this function is subreddit-specific and supports standard pagination parameters like `limit` and `after` to navigate through the listing of recent submissions.
|
|
561
|
+
|
|
561
562
|
Args:
|
|
562
563
|
subreddit: The name of the subreddit (e.g., 'python', 'worldnews') without the 'r/' prefix.
|
|
563
564
|
after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
|
|
@@ -566,10 +567,10 @@ class RedditApp(APIApplication):
|
|
|
566
567
|
limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
|
|
567
568
|
show: Optional. The string "all" to show all posts.
|
|
568
569
|
sr_detail: Optional. Expand subreddit details.
|
|
569
|
-
|
|
570
|
+
|
|
570
571
|
Returns:
|
|
571
572
|
Any: API response data containing a list of new posts from the subreddit.
|
|
572
|
-
|
|
573
|
+
|
|
573
574
|
Tags:
|
|
574
575
|
listings, posts, subreddit, new, read-only
|
|
575
576
|
"""
|
|
@@ -603,8 +604,8 @@ class RedditApp(APIApplication):
|
|
|
603
604
|
sr_detail: str = None,
|
|
604
605
|
) -> Any:
|
|
605
606
|
"""
|
|
606
|
-
|
|
607
|
-
|
|
607
|
+
Fetches top-rated posts from a specific subreddit using standard API pagination parameters. Unlike the simpler `get_subreddit_posts` which filters by timeframe, this function offers more direct control over retrieving listings, distinguishing it from the site-wide `get_top_posts` which queries all of Reddit.
|
|
608
|
+
|
|
608
609
|
Args:
|
|
609
610
|
subreddit: The name of the subreddit (e.g., 'python', 'worldnews') without the 'r/' prefix.
|
|
610
611
|
after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
|
|
@@ -613,10 +614,10 @@ class RedditApp(APIApplication):
|
|
|
613
614
|
limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
|
|
614
615
|
show: Optional. The string "all" to show all posts.
|
|
615
616
|
sr_detail: Optional. Expand subreddit details.
|
|
616
|
-
|
|
617
|
+
|
|
617
618
|
Returns:
|
|
618
619
|
Any: API response data containing a list of top posts from the subreddit.
|
|
619
|
-
|
|
620
|
+
|
|
620
621
|
Tags:
|
|
621
622
|
listings, posts, subreddit, top, read-only
|
|
622
623
|
"""
|
|
@@ -649,8 +650,8 @@ class RedditApp(APIApplication):
|
|
|
649
650
|
sr_detail: str = None,
|
|
650
651
|
) -> Any:
|
|
651
652
|
"""
|
|
652
|
-
Retrieves a list of
|
|
653
|
-
|
|
653
|
+
Retrieves a list of rising posts from across all of Reddit. Unlike subreddit-specific listing functions (e.g., `get_subreddit_hot_posts`), this operates globally. It supports optional pagination and filtering parameters, such as `limit` and `after`, to customize the API response and navigate through results.
|
|
654
|
+
|
|
654
655
|
Args:
|
|
655
656
|
after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
|
|
656
657
|
before: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results before.
|
|
@@ -658,10 +659,10 @@ class RedditApp(APIApplication):
|
|
|
658
659
|
limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
|
|
659
660
|
show: Optional. The string "all" to show all posts.
|
|
660
661
|
sr_detail: Optional. Expand subreddit details.
|
|
661
|
-
|
|
662
|
+
|
|
662
663
|
Returns:
|
|
663
664
|
Any: API response data containing a list of rising posts.
|
|
664
|
-
|
|
665
|
+
|
|
665
666
|
Tags:
|
|
666
667
|
listings, posts, rising, read-only
|
|
667
668
|
"""
|
|
@@ -692,8 +693,8 @@ class RedditApp(APIApplication):
|
|
|
692
693
|
sr_detail: str = None,
|
|
693
694
|
) -> Any:
|
|
694
695
|
"""
|
|
695
|
-
|
|
696
|
-
|
|
696
|
+
Fetches top-rated posts from across all of Reddit, distinct from `get_subreddit_top_posts`, which operates on a specific subreddit. The function supports standard API pagination parameters like `limit`, `after`, and `before` to navigate results, providing a broad, site-wide view of top content.
|
|
697
|
+
|
|
697
698
|
Args:
|
|
698
699
|
after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
|
|
699
700
|
before: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results before.
|
|
@@ -701,10 +702,10 @@ class RedditApp(APIApplication):
|
|
|
701
702
|
limit: Optional. The maximum number of items desired (default: 25, maximum: 100).
|
|
702
703
|
show: Optional. The string "all" to show all posts.
|
|
703
704
|
sr_detail: Optional. Expand subreddit details.
|
|
704
|
-
|
|
705
|
+
|
|
705
706
|
Returns:
|
|
706
707
|
Any: API response data containing a list of top posts.
|
|
707
|
-
|
|
708
|
+
|
|
708
709
|
Tags:
|
|
709
710
|
listings, posts, top, read-only
|
|
710
711
|
"""
|
|
@@ -742,8 +743,8 @@ class RedditApp(APIApplication):
|
|
|
742
743
|
type: str = None,
|
|
743
744
|
) -> Any:
|
|
744
745
|
"""
|
|
745
|
-
|
|
746
|
-
|
|
746
|
+
Executes a broad, keyword-based search across Reddit for various content types like posts, comments, or users. This general-purpose function offers extensive filtering options, distinguishing it from the more specialized `search_subreddits` which only finds communities.
|
|
747
|
+
|
|
747
748
|
Args:
|
|
748
749
|
after: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results after.
|
|
749
750
|
before: Optional. The fullname of a thing (e.g., 't3_xxxxxx') to return results before.
|
|
@@ -758,10 +759,10 @@ class RedditApp(APIApplication):
|
|
|
758
759
|
sr_detail: Optional. Expand subreddit details.
|
|
759
760
|
t: Optional. One of ('hour', 'day', 'week', 'month', 'year', 'all') to filter by time.
|
|
760
761
|
type: Optional. A comma-separated list of result types ('sr', 'link', 'user').
|
|
761
|
-
|
|
762
|
+
|
|
762
763
|
Returns:
|
|
763
764
|
Any: API response data containing search results.
|
|
764
|
-
|
|
765
|
+
|
|
765
766
|
Tags:
|
|
766
767
|
search, reddit, posts, comments, users, read-only
|
|
767
768
|
"""
|
|
@@ -791,14 +792,14 @@ class RedditApp(APIApplication):
|
|
|
791
792
|
|
|
792
793
|
def get_user_profile(self, username: str) -> Any:
|
|
793
794
|
"""
|
|
794
|
-
Retrieves
|
|
795
|
-
|
|
795
|
+
Retrieves public profile information for a specified Reddit user via the `/user/{username}/about` endpoint. Unlike `get_current_user_info`, which targets the authenticated user, this function fetches data like karma and account age for any user identified by their username.
|
|
796
|
+
|
|
796
797
|
Args:
|
|
797
798
|
username: The username of the user to look up.
|
|
798
|
-
|
|
799
|
+
|
|
799
800
|
Returns:
|
|
800
801
|
A dictionary containing the user's profile data.
|
|
801
|
-
|
|
802
|
+
|
|
802
803
|
Tags:
|
|
803
804
|
users, profile, fetch
|
|
804
805
|
"""
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ReplicateApp MCP Server
|
|
2
2
|
|
|
3
|
-
An MCP Server for the
|
|
3
|
+
An MCP Server for the ReplicateApp API.
|
|
4
4
|
|
|
5
5
|
## 🛠️ Tool List
|
|
6
6
|
|
|
7
|
-
This is automatically generated from OpenAPI schema for the
|
|
7
|
+
This is automatically generated from OpenAPI schema for the ReplicateApp API.
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
11
11
|
|------|-------------|
|
|
12
|
-
| `
|
|
13
|
-
| `
|
|
14
|
-
| `
|
|
15
|
-
| `
|
|
16
|
-
| `
|
|
17
|
-
| `
|
|
18
|
-
| `
|
|
12
|
+
| `run` | 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. |
|
|
13
|
+
| `submit_prediction` | 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. |
|
|
14
|
+
| `get_prediction` | 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. |
|
|
15
|
+
| `await_prediction_result` | 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. |
|
|
16
|
+
| `cancel_prediction` | 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. |
|
|
17
|
+
| `upload_file` | 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. |
|
|
18
|
+
| `generate_image` | 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. |
|
|
@@ -9,32 +9,32 @@ This is automatically generated from OpenAPI schema for the ResendApp API.
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
11
11
|
|------|-------------|
|
|
12
|
-
| `send_email` | Sends
|
|
13
|
-
| `send_batch_emails` | Sends a
|
|
14
|
-
| `
|
|
15
|
-
| `
|
|
16
|
-
| `cancel_scheduled_email` | Cancels a scheduled email using the
|
|
17
|
-
| `create_domain` |
|
|
18
|
-
| `get_domain` | Retrieves a
|
|
19
|
-
| `verify_domain` |
|
|
20
|
-
| `
|
|
21
|
-
| `list_domains` |
|
|
22
|
-
| `remove_domain` |
|
|
23
|
-
| `create_api_key` | Creates a new API key for authenticating with Resend. |
|
|
24
|
-
| `list_api_keys` | Retrieves a list of all API keys
|
|
25
|
-
| `remove_api_key` |
|
|
26
|
-
| `
|
|
27
|
-
| `get_broadcast` | Retrieves a
|
|
28
|
-
| `update_broadcast` | Updates
|
|
29
|
-
| `
|
|
30
|
-
| `
|
|
31
|
-
| `list_broadcasts` | Retrieves a list of all
|
|
32
|
-
| `create_audience` | Creates a new audience
|
|
33
|
-
| `get_audience` | Retrieves a single audience
|
|
34
|
-
| `remove_audience` |
|
|
35
|
-
| `list_audiences` | Retrieves a list of all audiences. |
|
|
36
|
-
| `create_contact` | Creates a contact
|
|
37
|
-
| `get_contact` |
|
|
38
|
-
| `update_contact` | Updates an existing contact, identified by ID or email,
|
|
39
|
-
| `remove_contact` | Removes a contact from
|
|
40
|
-
| `list_contacts` |
|
|
12
|
+
| `send_email` | Sends a single email with a specified subject and text body to a list of recipients via the Resend API. Unlike `send_batch_emails`, which processes multiple distinct emails at once, this function is designed for dispatching one individual email composition per API call. |
|
|
13
|
+
| `send_batch_emails` | Sends multiple emails (1-100) in a single API request. Unlike the `send_email` function which handles a single message, this accepts a list of email objects for efficient, high-volume delivery. It validates that the batch size is within the allowed limits before making the API call. |
|
|
14
|
+
| `retrieve_email_by_id` | Retrieves the details and status of a single email from the Resend API using its unique identifier. This function allows for looking up a specific email that has already been sent or scheduled, distinct from functions that initiate sending. |
|
|
15
|
+
| `reschedule_email` | Modifies the delivery time for a specific, previously scheduled email using its ID. It updates the `scheduled_at` attribute to a new ISO 8601 formatted time, effectively rescheduling its dispatch. This differs from `cancel_scheduled_email`, which permanently stops the send. |
|
|
16
|
+
| `cancel_scheduled_email` | Cancels a previously scheduled email using its unique ID, preventing it from being sent. This function calls the Resend API's cancellation endpoint, returning a confirmation response. It is distinct from `update_scheduled_email`, which reschedules the email instead of stopping its transmission. |
|
|
17
|
+
| `create_domain` | Registers a new sending domain with the Resend service using the provided name. This is a prerequisite for sending emails from your own domain and returns a dictionary containing details of the new domain object, which can then be verified and managed with other domain-related functions. |
|
|
18
|
+
| `get_domain` | Retrieves the details of a specific domain from the Resend API using its unique ID. Unlike `list_domains`, which fetches all domains, this function targets a single record and returns a dictionary containing the domain's properties, like its verification status and tracking settings. |
|
|
19
|
+
| `verify_domain` | Triggers the verification process for a registered domain using its unique ID. This action is crucial for authorizing the domain to send emails via Resend and returns an API response containing the verification status and necessary DNS records to complete the process. |
|
|
20
|
+
| `update_domain_settings` | Updates settings for a specific domain identified by its ID. This function can modify configurations like open and click tracking, and TLS enforcement. It returns the updated domain object from the API, raising a ToolError if the update fails. Only the provided settings are modified. |
|
|
21
|
+
| `list_domains` | Fetches a complete list of all domains registered with the Resend account. Unlike `get_domain`, which retrieves a single domain by ID, this provides a comprehensive overview of all configured domains for management and verification tasks. |
|
|
22
|
+
| `remove_domain` | Permanently removes a specific domain from the Resend account using its unique ID. This function makes an authenticated API call to delete the domain, distinguishing it from retrieval (`get_domain`) or modification (`update_domain`) operations, and raises an error if the process fails. |
|
|
23
|
+
| `create_api_key` | Creates a new API key for authenticating with the Resend service, identified by a specified name. It returns a dictionary containing the new key object, including the generated token required for subsequent API requests. |
|
|
24
|
+
| `list_api_keys` | Retrieves a list of all API keys for the authenticated Resend account. This read-only operation allows for auditing and viewing existing credentials, contrasting with `create_api_key` and `remove_api_key` which are used to add or delete keys. |
|
|
25
|
+
| `remove_api_key` | Deletes a specific Resend API key identified by its unique ID. This function, part of the key management suite alongside `create_api_key` and `list_api_keys`, returns an API confirmation response or raises a `ToolError` if the operation fails. |
|
|
26
|
+
| `register_broadcast` | Registers a new email broadcast campaign for a specific audience using the Resend API. This function creates the broadcast object but does not send it; use the `send_broadcast` function to dispatch the created campaign to the audience. |
|
|
27
|
+
| `get_broadcast` | Retrieves a specific broadcast's complete details, including its status and content, by its unique ID. Unlike `list_broadcasts` which retrieves all broadcasts, this function targets a single entry for inspection. |
|
|
28
|
+
| `update_broadcast` | Updates the HTML content and/or subject of an existing broadcast, identified by its ID. Requires that at least one modifiable field (html or subject) is provided. This function alters a broadcast's content, differing from `send_broadcast` which triggers its delivery. |
|
|
29
|
+
| `send_or_schedule_broadcast` | Initiates the delivery of a pre-existing broadcast, identified by its ID, to its target audience. The broadcast can be sent immediately or scheduled for a future time via the optional `scheduled_at` parameter. It returns the API response upon execution. |
|
|
30
|
+
| `remove_draft_broadcast` | Deletes a broadcast from the Resend service using its unique ID. This action is restricted to broadcasts that have a 'draft' status and have not been sent, returning the API's response upon successful removal or raising an error if the operation fails. |
|
|
31
|
+
| `list_broadcasts` | Retrieves a list of all broadcasts associated with the authenticated account. Unlike `get_broadcast` which fetches a single item by ID, this function returns a list of dictionaries, each containing the attributes of a specific broadcast. Raises a `ToolError` on API failure. |
|
|
32
|
+
| `create_audience` | Creates a new audience, a named list for contacts, within the Resend service. This function requires a name for the audience and returns a dictionary representing the newly created object, enabling subsequent management of contacts within that specific list. |
|
|
33
|
+
| `get_audience` | Retrieves the details of a single audience using its unique ID. This provides a targeted lookup for one audience, distinct from `list_audiences` which fetches all available audiences in the account. |
|
|
34
|
+
| `remove_audience` | Deletes a specific audience from the Resend service using its unique identifier. This function wraps the Resend API's remove operation, returning the API's response. Unlike `remove_contact`, which targets individuals, this function removes the entire contact list defined by the audience ID. |
|
|
35
|
+
| `list_audiences` | Retrieves a complete list of all audiences from the Resend account. It returns a list of dictionaries, with each containing the details of a specific audience. This function is distinct from `get_audience`, which fetches a single audience by its ID. |
|
|
36
|
+
| `create_contact` | Creates a new contact with a given email, optional name, and subscription status, adding it to a specific audience. This function populates audience lists, differing from `update_contact` which modifies existing entries, and requires a valid `audience_id` to function. |
|
|
37
|
+
| `get_contact` | Fetches a single contact's details from a specified audience by its unique ID or email address. The function requires exactly one identifier for the lookup, raising an error if the identifier is missing, ambiguous, or if the API call fails. |
|
|
38
|
+
| `update_contact` | Updates an existing contact's details (e.g., name, subscription status) within a specific audience. The contact is identified by its unique ID or email address. This function validates inputs and returns the Resend API response, raising a ToolError on failure or if arguments are invalid. |
|
|
39
|
+
| `remove_contact` | Removes a contact from a specified audience. The contact must be identified by either its unique ID or email address, but not both. Raises an error if the identifier is missing, ambiguous, or if the API call to the Resend service fails. |
|
|
40
|
+
| `list_contacts` | Retrieves a complete list of contacts belonging to a specific audience, identified by its unique ID. This function returns all contacts within the audience, unlike `get_contact` which retrieves only a single contact by its ID or email. |
|
|
@@ -9,7 +9,7 @@ This is automatically generated from OpenAPI schema for the ScraperApp API.
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
11
11
|
|------|-------------|
|
|
12
|
-
| `linkedin_post_search` | Performs a LinkedIn search for posts. |
|
|
13
|
-
| `
|
|
14
|
-
| `linkedin_retrieve_profile` | Retrieves a specific LinkedIn user profile by
|
|
15
|
-
| `linkedin_list_post_comments` |
|
|
12
|
+
| `linkedin_post_search` | Performs a general LinkedIn search for posts using keywords and filters like date and content type. It supports pagination and can utilize either the 'classic' or 'sales_navigator' API, searching broadly across the platform rather than fetching posts from a specific user's profile. |
|
|
13
|
+
| `linkedin_list_profile_posts` | Fetches a paginated list of all LinkedIn posts from a specific user or company profile using their unique identifier. This function retrieves content directly from a profile, unlike `linkedin_post_search` which finds posts across LinkedIn based on keywords and other filters. |
|
|
14
|
+
| `linkedin_retrieve_profile` | Retrieves a specific LinkedIn user's profile by their unique identifier, which can be an internal provider ID or a public username. This function simplifies data access by delegating the actual profile retrieval request to the integrated Unipile application, distinct from functions that list posts or comments. |
|
|
15
|
+
| `linkedin_list_post_comments` | Fetches comments for a specified LinkedIn post. If a `comment_id` is provided, it retrieves replies to that comment instead of top-level comments. This function supports pagination and specifically targets comments, unlike others in the class that search for or list entire posts. |
|