universal-mcp-applications 0.1.17__py3-none-any.whl → 0.1.33__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 (143) hide show
  1. universal_mcp/applications/BEST_PRACTICES.md +166 -0
  2. universal_mcp/applications/ahrefs/README.md +3 -3
  3. universal_mcp/applications/airtable/README.md +3 -3
  4. universal_mcp/applications/airtable/app.py +0 -1
  5. universal_mcp/applications/apollo/app.py +0 -1
  6. universal_mcp/applications/asana/README.md +3 -3
  7. universal_mcp/applications/aws_s3/README.md +29 -0
  8. universal_mcp/applications/aws_s3/app.py +40 -39
  9. universal_mcp/applications/bill/README.md +249 -0
  10. universal_mcp/applications/browser_use/README.md +1 -0
  11. universal_mcp/applications/browser_use/__init__.py +0 -0
  12. universal_mcp/applications/browser_use/app.py +71 -0
  13. universal_mcp/applications/calendly/README.md +45 -45
  14. universal_mcp/applications/calendly/app.py +125 -125
  15. universal_mcp/applications/canva/README.md +35 -35
  16. universal_mcp/applications/canva/app.py +95 -99
  17. universal_mcp/applications/clickup/README.md +4 -4
  18. universal_mcp/applications/confluence/app.py +0 -1
  19. universal_mcp/applications/contentful/README.md +1 -2
  20. universal_mcp/applications/contentful/app.py +4 -5
  21. universal_mcp/applications/crustdata/README.md +3 -3
  22. universal_mcp/applications/domain_checker/README.md +2 -2
  23. universal_mcp/applications/domain_checker/app.py +11 -15
  24. universal_mcp/applications/e2b/README.md +4 -4
  25. universal_mcp/applications/e2b/app.py +4 -4
  26. universal_mcp/applications/elevenlabs/README.md +3 -77
  27. universal_mcp/applications/elevenlabs/app.py +18 -15
  28. universal_mcp/applications/exa/README.md +7 -7
  29. universal_mcp/applications/exa/app.py +17 -17
  30. universal_mcp/applications/falai/README.md +13 -12
  31. universal_mcp/applications/falai/app.py +34 -35
  32. universal_mcp/applications/figma/README.md +3 -3
  33. universal_mcp/applications/file_system/README.md +13 -0
  34. universal_mcp/applications/file_system/app.py +9 -9
  35. universal_mcp/applications/firecrawl/README.md +9 -9
  36. universal_mcp/applications/firecrawl/app.py +46 -46
  37. universal_mcp/applications/fireflies/README.md +14 -14
  38. universal_mcp/applications/fireflies/app.py +164 -57
  39. universal_mcp/applications/fpl/README.md +12 -12
  40. universal_mcp/applications/fpl/app.py +54 -55
  41. universal_mcp/applications/ghost_content/app.py +0 -1
  42. universal_mcp/applications/github/README.md +10 -10
  43. universal_mcp/applications/github/app.py +50 -52
  44. universal_mcp/applications/google_calendar/README.md +10 -10
  45. universal_mcp/applications/google_calendar/app.py +50 -49
  46. universal_mcp/applications/google_docs/README.md +14 -14
  47. universal_mcp/applications/google_docs/app.py +307 -233
  48. universal_mcp/applications/google_drive/README.md +54 -57
  49. universal_mcp/applications/google_drive/app.py +270 -261
  50. universal_mcp/applications/google_gemini/README.md +3 -14
  51. universal_mcp/applications/google_gemini/app.py +15 -18
  52. universal_mcp/applications/google_mail/README.md +20 -20
  53. universal_mcp/applications/google_mail/app.py +110 -109
  54. universal_mcp/applications/google_searchconsole/README.md +10 -10
  55. universal_mcp/applications/google_searchconsole/app.py +37 -37
  56. universal_mcp/applications/google_sheet/README.md +25 -25
  57. universal_mcp/applications/google_sheet/app.py +270 -266
  58. universal_mcp/applications/hashnode/README.md +6 -3
  59. universal_mcp/applications/hashnode/app.py +174 -25
  60. universal_mcp/applications/http_tools/README.md +5 -5
  61. universal_mcp/applications/http_tools/app.py +10 -11
  62. universal_mcp/applications/hubspot/api_segments/__init__.py +0 -0
  63. universal_mcp/applications/hubspot/api_segments/api_segment_base.py +54 -0
  64. universal_mcp/applications/hubspot/api_segments/crm_api.py +7337 -0
  65. universal_mcp/applications/hubspot/api_segments/marketing_api.py +1467 -0
  66. universal_mcp/applications/hubspot/app.py +2 -15
  67. universal_mcp/applications/jira/app.py +0 -1
  68. universal_mcp/applications/klaviyo/README.md +0 -36
  69. universal_mcp/applications/linkedin/README.md +18 -4
  70. universal_mcp/applications/linkedin/app.py +763 -162
  71. universal_mcp/applications/mailchimp/README.md +3 -3
  72. universal_mcp/applications/markitdown/app.py +10 -5
  73. universal_mcp/applications/ms_teams/README.md +31 -31
  74. universal_mcp/applications/ms_teams/app.py +151 -151
  75. universal_mcp/applications/neon/README.md +3 -3
  76. universal_mcp/applications/onedrive/README.md +24 -0
  77. universal_mcp/applications/onedrive/__init__.py +1 -0
  78. universal_mcp/applications/onedrive/app.py +338 -0
  79. universal_mcp/applications/openai/README.md +18 -17
  80. universal_mcp/applications/openai/app.py +40 -39
  81. universal_mcp/applications/outlook/README.md +9 -9
  82. universal_mcp/applications/outlook/app.py +307 -225
  83. universal_mcp/applications/perplexity/README.md +4 -4
  84. universal_mcp/applications/perplexity/app.py +4 -4
  85. universal_mcp/applications/posthog/README.md +128 -127
  86. universal_mcp/applications/reddit/README.md +21 -124
  87. universal_mcp/applications/reddit/app.py +51 -68
  88. universal_mcp/applications/resend/README.md +29 -29
  89. universal_mcp/applications/resend/app.py +116 -117
  90. universal_mcp/applications/rocketlane/app.py +0 -1
  91. universal_mcp/applications/scraper/README.md +7 -4
  92. universal_mcp/applications/scraper/__init__.py +1 -1
  93. universal_mcp/applications/scraper/app.py +341 -103
  94. universal_mcp/applications/semrush/README.md +3 -0
  95. universal_mcp/applications/serpapi/README.md +3 -3
  96. universal_mcp/applications/serpapi/app.py +14 -14
  97. universal_mcp/applications/sharepoint/README.md +19 -0
  98. universal_mcp/applications/sharepoint/app.py +285 -173
  99. universal_mcp/applications/shopify/app.py +0 -1
  100. universal_mcp/applications/shortcut/README.md +3 -3
  101. universal_mcp/applications/slack/README.md +23 -0
  102. universal_mcp/applications/slack/app.py +79 -48
  103. universal_mcp/applications/spotify/README.md +3 -3
  104. universal_mcp/applications/supabase/README.md +3 -3
  105. universal_mcp/applications/tavily/README.md +4 -4
  106. universal_mcp/applications/tavily/app.py +4 -4
  107. universal_mcp/applications/twilio/README.md +15 -0
  108. universal_mcp/applications/twitter/README.md +92 -89
  109. universal_mcp/applications/twitter/api_segments/compliance_api.py +13 -15
  110. universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +20 -20
  111. universal_mcp/applications/twitter/api_segments/dm_events_api.py +12 -12
  112. universal_mcp/applications/twitter/api_segments/likes_api.py +12 -12
  113. universal_mcp/applications/twitter/api_segments/lists_api.py +37 -39
  114. universal_mcp/applications/twitter/api_segments/spaces_api.py +24 -24
  115. universal_mcp/applications/twitter/api_segments/trends_api.py +4 -4
  116. universal_mcp/applications/twitter/api_segments/tweets_api.py +105 -105
  117. universal_mcp/applications/twitter/api_segments/usage_api.py +4 -4
  118. universal_mcp/applications/twitter/api_segments/users_api.py +136 -136
  119. universal_mcp/applications/twitter/app.py +15 -11
  120. universal_mcp/applications/whatsapp/README.md +12 -12
  121. universal_mcp/applications/whatsapp/app.py +66 -67
  122. universal_mcp/applications/whatsapp/audio.py +39 -35
  123. universal_mcp/applications/whatsapp/whatsapp.py +176 -154
  124. universal_mcp/applications/whatsapp_business/README.md +23 -23
  125. universal_mcp/applications/whatsapp_business/app.py +92 -92
  126. universal_mcp/applications/yahoo_finance/README.md +17 -0
  127. universal_mcp/applications/yahoo_finance/__init__.py +1 -0
  128. universal_mcp/applications/yahoo_finance/app.py +300 -0
  129. universal_mcp/applications/youtube/README.md +46 -46
  130. universal_mcp/applications/youtube/app.py +208 -195
  131. universal_mcp/applications/zenquotes/README.md +1 -1
  132. universal_mcp/applications/zenquotes/__init__.py +2 -0
  133. universal_mcp/applications/zenquotes/app.py +5 -5
  134. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/METADATA +5 -90
  135. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/RECORD +137 -128
  136. universal_mcp/applications/replicate/README.md +0 -18
  137. universal_mcp/applications/replicate/__init__.py +0 -1
  138. universal_mcp/applications/replicate/app.py +0 -493
  139. universal_mcp/applications/unipile/README.md +0 -28
  140. universal_mcp/applications/unipile/__init__.py +0 -1
  141. universal_mcp/applications/unipile/app.py +0 -827
  142. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/WHEEL +0 -0
  143. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.33.dist-info}/licenses/LICENSE +0 -0
@@ -9,6 +9,37 @@ class SlackApp(APIApplication):
9
9
  super().__init__(name="slack", integration=integration, **kwargs)
10
10
  self.base_url = "https://slack.com/api"
11
11
 
12
+ def _get_headers(self) -> dict[str, str]:
13
+ """
14
+ Get headers for Slack API requests.
15
+ Prioritizes user-scoped access token from raw.authed_user.access_token
16
+ over the bot token at the root level.
17
+ """
18
+ if not self.integration:
19
+ raise ValueError("Integration not configured for SlackApp")
20
+
21
+ credentials = self.integration.get_credentials()
22
+ if not credentials:
23
+ raise ValueError("No credentials found for Slack integration")
24
+
25
+ access_token = None
26
+ raw = credentials.get('raw', {})
27
+ if isinstance(raw, dict) and 'authed_user' in raw:
28
+ authed_user = raw.get('authed_user', {})
29
+ if isinstance(authed_user, dict):
30
+ access_token = authed_user.get('access_token')
31
+
32
+ if not access_token:
33
+ access_token = credentials.get('access_token')
34
+
35
+ if not access_token:
36
+ raise ValueError("Access token not found in Slack credentials")
37
+
38
+ return {
39
+ "Authorization": f"Bearer {access_token}",
40
+ "Content-Type": "application/json",
41
+ }
42
+
12
43
  def chat_delete(
13
44
  self,
14
45
  as_user: bool | None = None,
@@ -17,18 +48,18 @@ class SlackApp(APIApplication):
17
48
  ) -> dict[str, Any]:
18
49
  """
19
50
  Deletes a specific message from a Slack channel. It identifies the message using its channel ID and timestamp (`ts`). This function is distinct from `chat_update` which modifies a message, and `chat_post_message` which sends a new one.
20
-
51
+
21
52
  Args:
22
53
  as_user (boolean): Pass true to delete the message as the authed user with `chat:write:user` scope. [Bot users](https://slack.dev) in this context are considered authed users. If unused or false, the message will be deleted with `chat:write:bot` scope.
23
54
  channel (string): Channel containing the message to be deleted.
24
55
  ts (number): Timestamp of the message to be deleted.
25
-
56
+
26
57
  Returns:
27
58
  dict[str, Any]: Typical success response
28
-
59
+
29
60
  Raises:
30
61
  HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
31
-
62
+
32
63
  Tags:
33
64
  chat
34
65
  """
@@ -71,7 +102,7 @@ class SlackApp(APIApplication):
71
102
  ) -> dict[str, Any]:
72
103
  """
73
104
  Posts a new message to a specified Slack channel. It supports rich content formats like text, attachments, and blocks, along with options for threading and authorship. This function creates new messages, unlike `chat_update` which modifies existing ones or `chat_delete` which removes them.
74
-
105
+
75
106
  Args:
76
107
  as_user (boolean): Pass true to post the message as the authed user, instead of as a bot. Defaults to false. See [authorship](https://slack.dev) below.
77
108
  attachments (string): A JSON-based array of structured attachments, presented as a URL-encoded string.
@@ -88,13 +119,13 @@ class SlackApp(APIApplication):
88
119
  unfurl_links (boolean): Pass true to enable unfurling of primarily text-based content.
89
120
  unfurl_media (boolean): Pass false to disable unfurling of media content.
90
121
  username (string): Set your bot's user name. Must be used in conjunction with `as_user` set to false, otherwise ignored. See [authorship](https://slack.dev) below.
91
-
122
+
92
123
  Returns:
93
124
  dict[str, Any]: Typical success response
94
-
125
+
95
126
  Raises:
96
127
  HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
97
-
128
+
98
129
  Tags:
99
130
  chat
100
131
  """
@@ -142,7 +173,7 @@ class SlackApp(APIApplication):
142
173
  ) -> dict[str, Any]:
143
174
  """
144
175
  Updates a specific, existing message in a Slack channel, identified by its timestamp. It modifies content such as text, blocks, or attachments by calling the `chat.update` API endpoint, distinguishing it from functions that create (`chat_post_message`) or delete (`chat_delete`) messages.
145
-
176
+
146
177
  Args:
147
178
  as_user (string): Pass true to update the message as the authed user. [Bot users](https://slack.dev) in this context are considered authed users.
148
179
  attachments (string): A JSON-based array of structured attachments, presented as a URL-encoded string. This field is required when not presenting `text`. If you don't include this field, the message's previous `attachments` will be retained. To remove previous `attachments`, include an empty array for this field.
@@ -152,13 +183,13 @@ class SlackApp(APIApplication):
152
183
  parse (string): Change how messages are treated. Defaults to `client`, unlike `chat.postMessage`. Accepts either `none` or `full`. If you do not specify a value for this field, the original value set for the message will be overwritten with the default, `client`.
153
184
  text (string): New text for the message, using the [default formatting rules](https://slack.dev). It's not required when presenting `blocks` or `attachments`.
154
185
  ts (string): Timestamp of the message to be updated.
155
-
186
+
156
187
  Returns:
157
188
  dict[str, Any]: Typical success response
158
-
189
+
159
190
  Raises:
160
191
  HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
161
-
192
+
162
193
  Tags:
163
194
  chat, important
164
195
  """
@@ -198,7 +229,7 @@ class SlackApp(APIApplication):
198
229
  ) -> dict[str, Any]:
199
230
  """
200
231
  Fetches the message history for a specific Slack conversation or channel. Supports filtering messages by timestamp and pagination using a cursor. This method retrieves messages *within* a conversation, unlike `conversations_list` which retrieves a list of available conversations.
201
-
232
+
202
233
  Args:
203
234
  token (string): Authentication token used to access conversation history.
204
235
  channel (string): The ID of the channel to retrieve the conversation history from.
@@ -207,13 +238,13 @@ class SlackApp(APIApplication):
207
238
  inclusive (boolean): Determines whether to include the messages at the end of the history range in the response.
208
239
  limit (integer): Specifies the maximum number of conversation history entries to retrieve in a single API call.
209
240
  cursor (string): A string token used for cursor-based pagination to fetch the next set of conversation history results starting from a specific point.
210
-
241
+
211
242
  Returns:
212
243
  dict[str, Any]: Typical success response containing a channel's messages
213
-
244
+
214
245
  Raises:
215
246
  HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
216
-
247
+
217
248
  Tags:
218
249
  conversations
219
250
  """
@@ -244,20 +275,20 @@ class SlackApp(APIApplication):
244
275
  ) -> dict[str, Any]:
245
276
  """
246
277
  Fetches a paginated list of channel-like conversations in a workspace. Allows filtering by type and excluding archived channels. This function lists available conversations, unlike `conversations_history` which retrieves the message history from within a specific conversation.
247
-
278
+
248
279
  Args:
249
280
  token (string): The token parameter in the query string is a string used for authentication to authorize and identify the client making the GET request to the /conversations.list endpoint.
250
281
  exclude_archived (boolean): Exclude archived conversations from the list of results.
251
282
  types (string): Specifies the types of conversations to include in the list, as a string query parameter.
252
283
  limit (integer): Specifies the maximum number of conversations to return in the response, with a default value of 1.
253
284
  cursor (string): A cursor string used for pagination to specify the position from which to continue retrieving the next set of conversation results.
254
-
285
+
255
286
  Returns:
256
287
  dict[str, Any]: Typical success response with only public channels
257
-
288
+
258
289
  Raises:
259
290
  HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
260
-
291
+
261
292
  Tags:
262
293
  conversations
263
294
  """
@@ -279,18 +310,18 @@ class SlackApp(APIApplication):
279
310
  def reactions_add(self, channel: str, name: str, timestamp: str) -> dict[str, Any]:
280
311
  """
281
312
  Adds a specific emoji reaction to a message in a Slack channel, identifying the message by its channel ID and timestamp. This method creates a new reaction, unlike `reactions_get` or `reactions_list` which retrieve existing reaction data for items or users.
282
-
313
+
283
314
  Args:
284
315
  channel (string): Channel where the message to add reaction to was posted.
285
316
  name (string): Reaction (emoji) name.
286
317
  timestamp (string): Timestamp of the message to add reaction to.
287
-
318
+
288
319
  Returns:
289
320
  dict[str, Any]: Typical success response
290
-
321
+
291
322
  Raises:
292
323
  HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
293
-
324
+
294
325
  Tags:
295
326
  reactions
296
327
  """
@@ -324,7 +355,7 @@ class SlackApp(APIApplication):
324
355
  ) -> dict[str, Any]:
325
356
  """
326
357
  Retrieves all reactions for a single item, such as a message, file, or file comment. This function targets reactions *on* a specific item, unlike `reactions_list` which gets reactions created *by* a user.
327
-
358
+
328
359
  Args:
329
360
  token (string): The "token" parameter is a required string that must be provided in the query string for authentication purposes when using the GET operation at "/reactions.get" to authorize access to reaction data.
330
361
  channel (string): The channel identifier to filter reactions by, specified as a string.
@@ -332,13 +363,13 @@ class SlackApp(APIApplication):
332
363
  file_comment (string): A query parameter to filter reactions by a specific file comment.
333
364
  full (boolean): Whether to return full reaction details or only basic reaction information.
334
365
  timestamp (string): The timestamp parameter filters results based on a specific date and time value, expected in an ISO 8601 format string.
335
-
366
+
336
367
  Returns:
337
368
  dict[str, Any]: Typical success response
338
-
369
+
339
370
  Raises:
340
371
  HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
341
-
372
+
342
373
  Tags:
343
374
  reactions
344
375
  """
@@ -370,7 +401,7 @@ class SlackApp(APIApplication):
370
401
  ) -> dict[str, Any]:
371
402
  """
372
403
  Retrieves a paginated list of items (e.g., messages, files) that a specific user has reacted to. Unlike `reactions_get`, which fetches all reactions for a single item, this function lists all items a given user has reacted to across Slack.
373
-
404
+
374
405
  Args:
375
406
  token (string): Required authentication token passed as a query parameter to authenticate the request for listing reactions.
376
407
  user (string): Filter reactions by specifying the user, which can be a username or identifier.
@@ -379,13 +410,13 @@ class SlackApp(APIApplication):
379
410
  page (integer): The "page" parameter is an integer query parameter used to specify the page number for pagination in the list of reactions.
380
411
  cursor (string): A string used to specify the position in the list of reactions for pagination, allowing retrieval of additional items after or before the specified cursor.
381
412
  limit (integer): The `limit` parameter specifies the maximum number of reactions to return in the response.
382
-
413
+
383
414
  Returns:
384
415
  dict[str, Any]: Typical success response
385
-
416
+
386
417
  Raises:
387
418
  HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
388
-
419
+
389
420
  Tags:
390
421
  reactions
391
422
  """
@@ -418,7 +449,7 @@ class SlackApp(APIApplication):
418
449
  ) -> dict[str, Any]:
419
450
  """
420
451
  Searches a Slack workspace for messages matching a specific query. It supports advanced control over results through pagination, sorting by relevance or timestamp, and an option to highlight search terms within the returned message content.
421
-
452
+
422
453
  Args:
423
454
  token (string): A required string parameter named "token" passed as a query parameter to authenticate the request for retrieving search messages.
424
455
  query (string): The search query string to specify the text or keywords to search for in messages.
@@ -427,13 +458,13 @@ class SlackApp(APIApplication):
427
458
  page (integer): The page query parameter specifies the page number of search results to retrieve in the GET /search.messages operation.
428
459
  sort (string): Sorts the search results by a specified field, allowing clients to customize the order of returned messages.
429
460
  sort_dir (string): The "sort_dir" query parameter specifies the direction of sorting for the search results, typically accepting values like "asc" for ascending or "desc" for descending order.
430
-
461
+
431
462
  Returns:
432
463
  dict[str, Any]: Typical success response
433
-
464
+
434
465
  Raises:
435
466
  HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
436
-
467
+
437
468
  Tags:
438
469
  search, important
439
470
  """
@@ -457,17 +488,17 @@ class SlackApp(APIApplication):
457
488
  def team_info(self, token: str, team: str | None = None) -> dict[str, Any]:
458
489
  """
459
490
  Fetches details for a Slack team, such as name and domain, by calling the `team.info` API endpoint. This function requires an authentication token and can optionally target a specific team by its ID, distinguishing it from user or channel-specific functions.
460
-
491
+
461
492
  Args:
462
493
  token (string): Mandatory authentication token passed as a query parameter to authenticate the request for retrieving team information.
463
494
  team (string): The "team" parameter is a query string parameter of type string, used to specify the team for which information is requested in the GET operation at the "/team.info" path.
464
-
495
+
465
496
  Returns:
466
497
  dict[str, Any]: Typical success response
467
-
498
+
468
499
  Raises:
469
500
  HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
470
-
501
+
471
502
  Tags:
472
503
  team
473
504
  """
@@ -486,18 +517,18 @@ class SlackApp(APIApplication):
486
517
  ) -> dict[str, Any]:
487
518
  """
488
519
  Fetches detailed profile information for a single Slack user, identified by their user ID. Unlike `users_list`, which retrieves all workspace members, this function targets an individual and can optionally include their locale information. It directly calls the `users.info` Slack API endpoint.
489
-
520
+
490
521
  Args:
491
522
  token (string): The token query parameter is a required string used to authenticate and authorize the API request to access user information in the GET /users.info operation.
492
523
  include_locale (boolean): Indicates whether to include locale information in the response, with a value of true or false.
493
524
  user (string): A string parameter used to identify or specify a user in the request.
494
-
525
+
495
526
  Returns:
496
527
  dict[str, Any]: Typical success response
497
-
528
+
498
529
  Raises:
499
530
  HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
500
-
531
+
501
532
  Tags:
502
533
  users, important
503
534
  """
@@ -523,19 +554,19 @@ class SlackApp(APIApplication):
523
554
  ) -> dict[str, Any]:
524
555
  """
525
556
  Fetches a paginated list of all users in a Slack workspace, including deactivated members. Unlike `users_info` which retrieves a single user's details, this function returns a collection and supports limiting results or including locale data through optional parameters.
526
-
557
+
527
558
  Args:
528
559
  token (string): Required authentication token for accessing the list of users.
529
560
  limit (integer): Specifies the maximum number of users to return in the response, defaults to 1.
530
561
  cursor (string): A unique string identifier used for cursor-based pagination, indicating the starting point for retrieving the next set of users in the list.
531
562
  include_locale (boolean): A boolean query parameter to optionally include locale information in the response.
532
-
563
+
533
564
  Returns:
534
565
  dict[str, Any]: Typical success response
535
-
566
+
536
567
  Raises:
537
568
  HTTPStatusError: Raised when the API request fails with detailed error information including status code and response body.
538
-
569
+
539
570
  Tags:
540
571
  users
541
572
  """
@@ -1,10 +1,10 @@
1
- # Spotify MCP Server
1
+ # SpotifyApp MCP Server
2
2
 
3
- An MCP Server for the Spotify API.
3
+ An MCP Server for the SpotifyApp API.
4
4
 
5
5
  ## 🛠️ Tool List
6
6
 
7
- This is automatically generated from OpenAPI schema for the Spotify API.
7
+ This is automatically generated from OpenAPI schema for the SpotifyApp API.
8
8
 
9
9
 
10
10
  | Tool | Description |
@@ -1,10 +1,10 @@
1
- # Supabase MCP Server
1
+ # SupabaseApp MCP Server
2
2
 
3
- An MCP Server for the Supabase API.
3
+ An MCP Server for the SupabaseApp API.
4
4
 
5
5
  ## 🛠️ Tool List
6
6
 
7
- This is automatically generated from OpenAPI schema for the Supabase API.
7
+ This is automatically generated from OpenAPI schema for the SupabaseApp API.
8
8
 
9
9
 
10
10
  | Tool | Description |
@@ -1,12 +1,12 @@
1
- # Tavily MCP Server
1
+ # TavilyApp MCP Server
2
2
 
3
- An MCP Server for the Tavily API.
3
+ An MCP Server for the TavilyApp API.
4
4
 
5
5
  ## 🛠️ Tool List
6
6
 
7
- This is automatically generated from OpenAPI schema for the Tavily API.
7
+ This is automatically generated from OpenAPI schema for the TavilyApp API.
8
8
 
9
9
 
10
10
  | Tool | Description |
11
11
  |------|-------------|
12
- | `search` | Performs a web search using Tavily's search API and returns either a direct answer or a summary of top results. |
12
+ | `search_and_summarize` | Queries the Tavily API to perform a web search. It returns a direct AI-generated answer if available; otherwise, it provides a formatted summary of the top three search results, including their titles and snippets. |
@@ -11,17 +11,17 @@ class TavilyApp(APIApplication):
11
11
  def search_and_summarize(self, query: str) -> str:
12
12
  """
13
13
  Queries the Tavily API to perform a web search. It returns a direct AI-generated answer if available; otherwise, it provides a formatted summary of the top three search results, including their titles and snippets.
14
-
14
+
15
15
  Args:
16
16
  query: The search query string to be processed by Tavily's search engine
17
-
17
+
18
18
  Returns:
19
19
  A string containing either a direct answer from Tavily's AI or a formatted summary of the top 3 search results, with each result containing the title and snippet
20
-
20
+
21
21
  Raises:
22
22
  ValueError: When authentication credentials are invalid or missing (via validate() method)
23
23
  HTTPError: When the API request fails or returns an error response
24
-
24
+
25
25
  Tags:
26
26
  search, ai, web, query, important, api-client, text-processing
27
27
  """
@@ -0,0 +1,15 @@
1
+ # TwilioApp MCP Server
2
+
3
+ An MCP Server for the TwilioApp API.
4
+
5
+ ## 🛠️ Tool List
6
+
7
+ This is automatically generated from OpenAPI schema for the TwilioApp API.
8
+
9
+
10
+ | Tool | Description |
11
+ |------|-------------|
12
+ | `create_message` | Sends a new SMS or MMS message using Twilio. |
13
+ | `fetch_message` | Fetches the details of a specific message by its SID. |
14
+ | `list_messages` | Lists messages from your Twilio account, optionally filtered by date. |
15
+ | `delete_message` | Deletes a specific message from your Twilio account. |