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
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import os
|
|
2
2
|
from dotenv import load_dotenv
|
|
3
|
+
|
|
3
4
|
load_dotenv()
|
|
4
5
|
|
|
5
6
|
from typing import Any
|
|
6
7
|
|
|
7
8
|
from universal_mcp.applications.application import APIApplication
|
|
8
|
-
from universal_mcp.agentr.integration import AgentrIntegration
|
|
9
9
|
from universal_mcp.applications.unipile import UnipileApp
|
|
10
10
|
from typing import Any, Optional
|
|
11
|
+
from universal_mcp.integrations import Integration
|
|
12
|
+
from loguru import logger
|
|
13
|
+
|
|
11
14
|
|
|
12
15
|
class ScraperApp(APIApplication):
|
|
13
16
|
"""
|
|
@@ -15,7 +18,7 @@ class ScraperApp(APIApplication):
|
|
|
15
18
|
Provides a simplified interface for LinkedIn search operations.
|
|
16
19
|
"""
|
|
17
20
|
|
|
18
|
-
def __init__(self, **kwargs: Any) -> None:
|
|
21
|
+
def __init__(self, integration: Integration, **kwargs: Any) -> None:
|
|
19
22
|
"""
|
|
20
23
|
Initialize the ScraperApp.
|
|
21
24
|
|
|
@@ -24,17 +27,16 @@ class ScraperApp(APIApplication):
|
|
|
24
27
|
It is expected that the integration provides the necessary credentials
|
|
25
28
|
for LinkedIn API access.
|
|
26
29
|
"""
|
|
27
|
-
super().__init__(name="scraper", **kwargs)
|
|
30
|
+
super().__init__(name="scraper", integration=integration, **kwargs)
|
|
28
31
|
if self.integration:
|
|
29
32
|
credentials = self.integration.get_credentials()
|
|
30
|
-
|
|
31
|
-
self.account_id = credentials.get("ACCOUNT_ID")
|
|
32
|
-
self.integration = AgentrIntegration(name="unipile", api_key=api_key, base_url="https://staging-agentr-306776579029.asia-southeast1.run.app/")
|
|
33
|
+
self.account_id = credentials.get("account_id")
|
|
33
34
|
self._unipile_app = UnipileApp(integration=self.integration)
|
|
34
35
|
else:
|
|
36
|
+
logger.warning(f"Integration not found")
|
|
35
37
|
self.account_id = None
|
|
36
38
|
self._unipile_app = None
|
|
37
|
-
|
|
39
|
+
|
|
38
40
|
def linkedin_post_search(
|
|
39
41
|
self,
|
|
40
42
|
category: str = "posts",
|
|
@@ -48,7 +50,7 @@ class ScraperApp(APIApplication):
|
|
|
48
50
|
) -> dict[str, Any]:
|
|
49
51
|
"""
|
|
50
52
|
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.
|
|
51
|
-
|
|
53
|
+
|
|
52
54
|
Args:
|
|
53
55
|
category: Type of search to perform (defaults to "posts").
|
|
54
56
|
api: Which LinkedIn API to use - "classic" or "sales_navigator".
|
|
@@ -58,17 +60,17 @@ class ScraperApp(APIApplication):
|
|
|
58
60
|
sort_by: How to sort the results, e.g., "relevance" or "date".
|
|
59
61
|
date_posted: Filter posts by when they were posted.
|
|
60
62
|
content_type: Filter by the type of content in the post. Example: "videos", "images", "live_videos", "collaborative_articles", "documents"
|
|
61
|
-
|
|
63
|
+
|
|
62
64
|
Returns:
|
|
63
65
|
A dictionary containing search results and pagination details.
|
|
64
|
-
|
|
66
|
+
|
|
65
67
|
Raises:
|
|
66
68
|
httpx.HTTPError: If the API request fails.
|
|
67
|
-
|
|
69
|
+
|
|
68
70
|
Tags:
|
|
69
71
|
linkedin, search, posts, api, scrapper, important
|
|
70
72
|
"""
|
|
71
|
-
|
|
73
|
+
|
|
72
74
|
return self._unipile_app.search(
|
|
73
75
|
account_id=self.account_id,
|
|
74
76
|
category=category,
|
|
@@ -89,22 +91,22 @@ class ScraperApp(APIApplication):
|
|
|
89
91
|
) -> dict[str, Any]:
|
|
90
92
|
"""
|
|
91
93
|
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.
|
|
92
|
-
|
|
94
|
+
|
|
93
95
|
Args:
|
|
94
96
|
identifier: The entity's provider internal ID (LinkedIn ID).starts with ACo for users, while for companies it's a series of numbers.
|
|
95
97
|
cursor: Pagination cursor for the next page of entries.
|
|
96
98
|
limit: Number of items to return (1-100, though spec allows up to 250).
|
|
97
|
-
|
|
99
|
+
|
|
98
100
|
Returns:
|
|
99
101
|
A dictionary containing a list of post objects and pagination details.
|
|
100
|
-
|
|
102
|
+
|
|
101
103
|
Raises:
|
|
102
104
|
httpx.HTTPError: If the API request fails.
|
|
103
|
-
|
|
105
|
+
|
|
104
106
|
Tags:
|
|
105
107
|
linkedin, post, list, user_posts, company_posts, content, api, important
|
|
106
108
|
"""
|
|
107
|
-
|
|
109
|
+
|
|
108
110
|
return self._unipile_app.list_profile_posts(
|
|
109
111
|
identifier=identifier,
|
|
110
112
|
account_id=self.account_id,
|
|
@@ -118,27 +120,26 @@ class ScraperApp(APIApplication):
|
|
|
118
120
|
) -> dict[str, Any]:
|
|
119
121
|
"""
|
|
120
122
|
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.
|
|
121
|
-
|
|
123
|
+
|
|
122
124
|
Args:
|
|
123
125
|
identifier: Can be the provider's internal id OR the provider's public id of the requested user.
|
|
124
126
|
For example, for https://www.linkedin.com/in/manojbajaj95/, the identifier is "manojbajaj95".
|
|
125
|
-
|
|
127
|
+
|
|
126
128
|
Returns:
|
|
127
129
|
A dictionary containing the user's profile details.
|
|
128
|
-
|
|
130
|
+
|
|
129
131
|
Raises:
|
|
130
132
|
httpx.HTTPError: If the API request fails.
|
|
131
|
-
|
|
133
|
+
|
|
132
134
|
Tags:
|
|
133
135
|
linkedin, user, profile, retrieve, get, api, important
|
|
134
136
|
"""
|
|
135
|
-
|
|
137
|
+
|
|
136
138
|
return self._unipile_app.retrieve_user_profile(
|
|
137
139
|
identifier=identifier,
|
|
138
140
|
account_id=self.account_id,
|
|
139
141
|
)
|
|
140
142
|
|
|
141
|
-
|
|
142
143
|
def linkedin_list_post_comments(
|
|
143
144
|
self,
|
|
144
145
|
post_id: str,
|
|
@@ -148,23 +149,23 @@ class ScraperApp(APIApplication):
|
|
|
148
149
|
) -> dict[str, Any]:
|
|
149
150
|
"""
|
|
150
151
|
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.
|
|
151
|
-
|
|
152
|
+
|
|
152
153
|
Args:
|
|
153
154
|
post_id: The social ID of the post. Example rn:li:activity:7342082869034393600
|
|
154
155
|
comment_id: If provided, retrieves replies to this comment ID instead of top-level comments.
|
|
155
156
|
cursor: Pagination cursor.
|
|
156
157
|
limit: Number of comments to return.
|
|
157
|
-
|
|
158
|
+
|
|
158
159
|
Returns:
|
|
159
160
|
A dictionary containing a list of comment objects and pagination details.
|
|
160
|
-
|
|
161
|
+
|
|
161
162
|
Raises:
|
|
162
163
|
httpx.HTTPError: If the API request fails.
|
|
163
|
-
|
|
164
|
+
|
|
164
165
|
Tags:
|
|
165
166
|
linkedin, post, comment, list, content, api, important
|
|
166
167
|
"""
|
|
167
|
-
|
|
168
|
+
|
|
168
169
|
return self._unipile_app.list_post_comments(
|
|
169
170
|
post_id=post_id,
|
|
170
171
|
account_id=self.account_id,
|
|
@@ -173,11 +174,10 @@ class ScraperApp(APIApplication):
|
|
|
173
174
|
limit=limit,
|
|
174
175
|
)
|
|
175
176
|
|
|
176
|
-
|
|
177
177
|
def list_tools(self):
|
|
178
178
|
"""
|
|
179
179
|
Returns a list of available tools/functions in this application.
|
|
180
|
-
|
|
180
|
+
|
|
181
181
|
Returns:
|
|
182
182
|
A list of functions that can be used as tools.
|
|
183
183
|
"""
|
|
@@ -186,4 +186,4 @@ class ScraperApp(APIApplication):
|
|
|
186
186
|
self.linkedin_list_profile_posts,
|
|
187
187
|
self.linkedin_retrieve_profile,
|
|
188
188
|
self.linkedin_list_post_comments,
|
|
189
|
-
|
|
189
|
+
]
|
|
@@ -42,3 +42,6 @@ This is automatically generated from OpenAPI schema for the SemrushApp API.
|
|
|
42
42
|
| `referring_domains` | Get domains pointing to the queried domain, root domain, or URL. |
|
|
43
43
|
| `referring_domains_by_country` | Get referring domain distribution by country based on IP addresses. |
|
|
44
44
|
| `related_keywords` | Get extended list of related keywords, synonyms, and variations relevant to a queried term. |
|
|
45
|
+
| `tlds_distribution` | Get referring domain distribution by top-level domain (e.g., .com, .org, .net). |
|
|
46
|
+
| `url_organic_search_keywords` | Get keywords that bring users to a URL via Google's top 100 organic search results. |
|
|
47
|
+
| `url_paid_search_keywords` | Get keywords that bring users to a URL via Google's paid search results. |
|
|
@@ -9,6 +9,6 @@ This is automatically generated from OpenAPI schema for the SerpapiApp API.
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
11
11
|
|------|-------------|
|
|
12
|
-
| `
|
|
13
|
-
| `google_maps_search` |
|
|
14
|
-
| `get_google_maps_reviews` |
|
|
12
|
+
| `web_search` | Performs a general web search via SerpApi, defaulting to the 'google_light' engine. It accepts custom parameters, retrieves organic results, and formats them into a string with titles, links, and snippets. It also handles API authentication and raises `NotAuthorizedError` for credential-related issues. |
|
|
13
|
+
| `google_maps_search` | Executes a Google Maps search via SerpApi using a query, coordinates, or place ID. It enhances the results by adding a `google_maps_url` to each location, distinguishing it from `get_google_maps_reviews` which retrieves reviews for a known place. |
|
|
14
|
+
| `get_google_maps_reviews` | Fetches Google Maps reviews for a specific location via SerpApi using its unique `data_id`. This function uses the `google_maps_reviews` engine, unlike `google_maps_search` which finds locations. Results can be returned in a specified language, defaulting to English. |
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# SharepointApp MCP Server
|
|
2
|
+
|
|
3
|
+
An MCP Server for the SharepointApp API.
|
|
4
|
+
|
|
5
|
+
## 🛠️ Tool List
|
|
6
|
+
|
|
7
|
+
This is automatically generated from OpenAPI schema for the SharepointApp API.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
| Tool | Description |
|
|
11
|
+
|------|-------------|
|
|
12
|
+
| `list_folders` | Retrieves a list of immediate subfolder names within a specified SharePoint directory. If no path is provided, it defaults to the root drive. This function is distinct from `list_files`, as it exclusively lists directories, not files. |
|
|
13
|
+
| `create_folder_and_list` | Creates a new folder with a given name inside a specified parent directory (or the root). It then returns an updated list of all folder names within that same directory, effectively confirming that the creation operation was successful. |
|
|
14
|
+
| `list_files` | Retrieves metadata for all files in a specified folder. For each file, it returns key details like name, URL, size, and timestamps. This function exclusively lists file properties, distinguishing it from `list_folders` (which lists directories) and `get_document_content` (which retrieves file content). |
|
|
15
|
+
| `upload_text_file` | Uploads string content to create a new file in a specified SharePoint folder. To confirm the operation, it returns an updated list of all files and their metadata from that directory, including the newly created file. |
|
|
16
|
+
| `get_document_content` | Retrieves a file's content from a specified SharePoint path. It returns a dictionary containing the file's name and size, decoding text files as a string and Base64-encoding binary files. Unlike `list_files`, which only fetches metadata, this function provides the actual file content. |
|
|
17
|
+
| `delete_document` | Permanently deletes a specified file from a SharePoint drive using its full path. This is the sole destructive file operation, contrasting with functions that read or create files. It returns `True` on successful deletion and raises an exception on failure, such as if the file is not found. |
|
|
@@ -36,7 +36,7 @@ class SharepointApp(BaseApplication):
|
|
|
36
36
|
@property
|
|
37
37
|
def client(self):
|
|
38
38
|
"""
|
|
39
|
-
A lazy-loaded property that gets or creates an authenticated GraphClient instance. On
|
|
39
|
+
A lazy-loaded property that gets or creates an authenticated GraphClient instance. On first access, it uses integration credentials to initialize the client, fetches initial user and site data, and caches the instance for subsequent use, ensuring efficient connection management for all SharePoint operations.
|
|
40
40
|
|
|
41
41
|
Returns:
|
|
42
42
|
GraphClient: The authenticated GraphClient instance.
|
|
@@ -74,7 +74,7 @@ class SharepointApp(BaseApplication):
|
|
|
74
74
|
|
|
75
75
|
def list_folders(self, folder_path: str | None = None) -> list[dict[str, Any]]:
|
|
76
76
|
"""
|
|
77
|
-
Retrieves
|
|
77
|
+
Retrieves a list of immediate subfolder names within a specified SharePoint directory. If no path is provided, it defaults to the root drive. This function is distinct from `list_files`, as it exclusively lists directories, not files.
|
|
78
78
|
|
|
79
79
|
Args:
|
|
80
80
|
folder_path (Optional[str], optional): The path to the parent folder. If None, lists folders in the root.
|
|
@@ -97,7 +97,7 @@ class SharepointApp(BaseApplication):
|
|
|
97
97
|
self, folder_name: str, folder_path: str | None = None
|
|
98
98
|
) -> dict[str, Any]:
|
|
99
99
|
"""
|
|
100
|
-
Creates a new folder with a given name inside a specified parent directory
|
|
100
|
+
Creates a new folder with a given name inside a specified parent directory (or the root). It then returns an updated list of all folder names within that same directory, effectively confirming that the creation operation was successful.
|
|
101
101
|
|
|
102
102
|
Args:
|
|
103
103
|
folder_name (str): The name of the folder to create.
|
|
@@ -118,7 +118,7 @@ class SharepointApp(BaseApplication):
|
|
|
118
118
|
|
|
119
119
|
def list_files(self, folder_path: str) -> list[dict[str, Any]]:
|
|
120
120
|
"""
|
|
121
|
-
Retrieves files
|
|
121
|
+
Retrieves metadata for all files in a specified folder. For each file, it returns key details like name, URL, size, and timestamps. This function exclusively lists file properties, distinguishing it from `list_folders` (which lists directories) and `get_document_content` (which retrieves file content).
|
|
122
122
|
|
|
123
123
|
Args:
|
|
124
124
|
folder_path (str): The path to the folder whose documents are to be listed.
|
|
@@ -147,7 +147,7 @@ class SharepointApp(BaseApplication):
|
|
|
147
147
|
self, file_path: str, file_name: str, content: str
|
|
148
148
|
) -> dict[str, Any]:
|
|
149
149
|
"""
|
|
150
|
-
Uploads string content to a new file
|
|
150
|
+
Uploads string content to create a new file in a specified SharePoint folder. To confirm the operation, it returns an updated list of all files and their metadata from that directory, including the newly created file.
|
|
151
151
|
|
|
152
152
|
Args:
|
|
153
153
|
file_path (str): The path to the folder where the document will be created.
|
|
@@ -167,7 +167,7 @@ class SharepointApp(BaseApplication):
|
|
|
167
167
|
|
|
168
168
|
def get_document_content(self, file_path: str) -> dict[str, Any]:
|
|
169
169
|
"""
|
|
170
|
-
Retrieves a
|
|
170
|
+
Retrieves a file's content from a specified SharePoint path. It returns a dictionary containing the file's name and size, decoding text files as a string and Base64-encoding binary files. Unlike `list_files`, which only fetches metadata, this function provides the actual file content.
|
|
171
171
|
|
|
172
172
|
Args:
|
|
173
173
|
file_path (str): The path to the document.
|
|
@@ -200,7 +200,7 @@ class SharepointApp(BaseApplication):
|
|
|
200
200
|
|
|
201
201
|
def delete_document(self, file_path: str):
|
|
202
202
|
"""
|
|
203
|
-
Permanently deletes a specified file from SharePoint
|
|
203
|
+
Permanently deletes a specified file from a SharePoint drive using its full path. This is the sole destructive file operation, contrasting with functions that read or create files. It returns `True` on successful deletion and raises an exception on failure, such as if the file is not found.
|
|
204
204
|
|
|
205
205
|
Args:
|
|
206
206
|
file_path (str): The path to the file to delete.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ShortcutApp MCP Server
|
|
2
2
|
|
|
3
|
-
An MCP Server for the
|
|
3
|
+
An MCP Server for the ShortcutApp 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 ShortcutApp API.
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# SlackApp MCP Server
|
|
2
|
+
|
|
3
|
+
An MCP Server for the SlackApp API.
|
|
4
|
+
|
|
5
|
+
## 🛠️ Tool List
|
|
6
|
+
|
|
7
|
+
This is automatically generated from OpenAPI schema for the SlackApp API.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
| Tool | Description |
|
|
11
|
+
|------|-------------|
|
|
12
|
+
| `chat_delete` | 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. |
|
|
13
|
+
| `chat_post_message` | 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. |
|
|
14
|
+
| `chat_update` | 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. |
|
|
15
|
+
| `conversations_history` | 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. |
|
|
16
|
+
| `conversations_list` | 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. |
|
|
17
|
+
| `reactions_add` | 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. |
|
|
18
|
+
| `get_reactions_for_item` | 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. |
|
|
19
|
+
| `get_user_reactions` | 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. |
|
|
20
|
+
| `search_messages` | 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. |
|
|
21
|
+
| `team_info` | 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. |
|
|
22
|
+
| `get_user_info` | 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. |
|
|
23
|
+
| `users_list` | 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. |
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
#
|
|
1
|
+
# SpotifyApp MCP Server
|
|
2
2
|
|
|
3
|
-
An MCP Server for the
|
|
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
|
|
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
|
-
#
|
|
1
|
+
# SupabaseApp MCP Server
|
|
2
2
|
|
|
3
|
-
An MCP Server for the
|
|
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
|
|
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
|
-
#
|
|
1
|
+
# TavilyApp MCP Server
|
|
2
2
|
|
|
3
|
-
An MCP Server for the
|
|
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
|
|
7
|
+
This is automatically generated from OpenAPI schema for the TavilyApp API.
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
11
11
|
|------|-------------|
|
|
12
|
-
| `
|
|
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. |
|
|
@@ -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. |
|