universal-mcp-applications 0.1.33__py3-none-any.whl → 0.1.39rc16__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of universal-mcp-applications might be problematic. Click here for more details.
- universal_mcp/applications/BEST_PRACTICES.md +1 -1
- universal_mcp/applications/ahrefs/app.py +92 -238
- universal_mcp/applications/airtable/app.py +36 -135
- universal_mcp/applications/apollo/app.py +124 -477
- universal_mcp/applications/asana/app.py +605 -1755
- universal_mcp/applications/aws_s3/app.py +63 -119
- universal_mcp/applications/bill/app.py +644 -2055
- universal_mcp/applications/box/app.py +1246 -4159
- universal_mcp/applications/braze/app.py +410 -1476
- universal_mcp/applications/browser_use/README.md +15 -1
- universal_mcp/applications/browser_use/__init__.py +1 -0
- universal_mcp/applications/browser_use/app.py +91 -26
- universal_mcp/applications/cal_com_v2/app.py +207 -625
- universal_mcp/applications/calendly/app.py +103 -242
- universal_mcp/applications/canva/app.py +75 -140
- universal_mcp/applications/clickup/app.py +331 -798
- universal_mcp/applications/coda/app.py +240 -520
- universal_mcp/applications/confluence/app.py +497 -1285
- universal_mcp/applications/contentful/app.py +40 -155
- universal_mcp/applications/crustdata/app.py +44 -123
- universal_mcp/applications/dialpad/app.py +451 -924
- universal_mcp/applications/digitalocean/app.py +2071 -6082
- universal_mcp/applications/domain_checker/app.py +3 -54
- universal_mcp/applications/e2b/app.py +17 -68
- universal_mcp/applications/elevenlabs/README.md +27 -3
- universal_mcp/applications/elevenlabs/app.py +741 -74
- universal_mcp/applications/exa/README.md +8 -4
- universal_mcp/applications/exa/app.py +415 -186
- universal_mcp/applications/falai/README.md +5 -7
- universal_mcp/applications/falai/app.py +156 -232
- universal_mcp/applications/figma/app.py +91 -175
- universal_mcp/applications/file_system/app.py +2 -13
- universal_mcp/applications/firecrawl/app.py +198 -176
- universal_mcp/applications/fireflies/app.py +59 -281
- universal_mcp/applications/fpl/app.py +92 -529
- universal_mcp/applications/fpl/utils/fixtures.py +15 -49
- universal_mcp/applications/fpl/utils/helper.py +25 -89
- universal_mcp/applications/fpl/utils/league_utils.py +20 -64
- universal_mcp/applications/ghost_content/app.py +70 -179
- universal_mcp/applications/github/app.py +30 -67
- universal_mcp/applications/gong/app.py +142 -302
- universal_mcp/applications/google_calendar/app.py +26 -78
- universal_mcp/applications/google_docs/README.md +15 -14
- universal_mcp/applications/google_docs/app.py +103 -206
- universal_mcp/applications/google_drive/app.py +194 -793
- universal_mcp/applications/google_gemini/app.py +68 -59
- universal_mcp/applications/google_mail/README.md +1 -0
- universal_mcp/applications/google_mail/app.py +93 -214
- universal_mcp/applications/google_searchconsole/app.py +25 -58
- universal_mcp/applications/google_sheet/README.md +2 -1
- universal_mcp/applications/google_sheet/app.py +226 -624
- universal_mcp/applications/google_sheet/helper.py +26 -53
- universal_mcp/applications/hashnode/app.py +57 -269
- universal_mcp/applications/heygen/README.md +10 -32
- universal_mcp/applications/heygen/app.py +339 -811
- universal_mcp/applications/http_tools/app.py +10 -32
- universal_mcp/applications/hubspot/README.md +1 -1
- universal_mcp/applications/hubspot/app.py +7508 -99
- universal_mcp/applications/jira/app.py +2419 -8334
- universal_mcp/applications/klaviyo/app.py +739 -1621
- universal_mcp/applications/linkedin/README.md +18 -1
- universal_mcp/applications/linkedin/app.py +729 -251
- universal_mcp/applications/mailchimp/app.py +696 -1851
- universal_mcp/applications/markitdown/app.py +8 -20
- universal_mcp/applications/miro/app.py +333 -815
- universal_mcp/applications/ms_teams/app.py +420 -1407
- universal_mcp/applications/neon/app.py +144 -250
- universal_mcp/applications/notion/app.py +38 -53
- universal_mcp/applications/onedrive/app.py +26 -48
- universal_mcp/applications/openai/app.py +43 -166
- universal_mcp/applications/outlook/README.md +22 -9
- universal_mcp/applications/outlook/app.py +403 -141
- universal_mcp/applications/perplexity/README.md +2 -1
- universal_mcp/applications/perplexity/app.py +161 -20
- universal_mcp/applications/pipedrive/app.py +1021 -3331
- universal_mcp/applications/posthog/app.py +272 -541
- universal_mcp/applications/reddit/app.py +65 -164
- universal_mcp/applications/resend/app.py +72 -139
- universal_mcp/applications/retell/app.py +23 -50
- universal_mcp/applications/rocketlane/app.py +252 -965
- universal_mcp/applications/scraper/app.py +114 -142
- universal_mcp/applications/semanticscholar/app.py +36 -78
- universal_mcp/applications/semrush/app.py +44 -78
- universal_mcp/applications/sendgrid/app.py +826 -1576
- universal_mcp/applications/sentry/app.py +444 -1079
- universal_mcp/applications/serpapi/app.py +44 -146
- universal_mcp/applications/sharepoint/app.py +27 -49
- universal_mcp/applications/shopify/app.py +1748 -4486
- universal_mcp/applications/shortcut/app.py +275 -536
- universal_mcp/applications/slack/app.py +43 -125
- universal_mcp/applications/spotify/app.py +206 -405
- universal_mcp/applications/supabase/app.py +174 -283
- universal_mcp/applications/tavily/app.py +2 -2
- universal_mcp/applications/trello/app.py +853 -2816
- universal_mcp/applications/twilio/app.py +27 -62
- universal_mcp/applications/twitter/api_segments/compliance_api.py +4 -14
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +6 -18
- universal_mcp/applications/twitter/api_segments/likes_api.py +1 -3
- universal_mcp/applications/twitter/api_segments/lists_api.py +5 -15
- universal_mcp/applications/twitter/api_segments/trends_api.py +1 -3
- universal_mcp/applications/twitter/api_segments/tweets_api.py +9 -31
- universal_mcp/applications/twitter/api_segments/usage_api.py +1 -5
- universal_mcp/applications/twitter/api_segments/users_api.py +14 -42
- universal_mcp/applications/whatsapp/app.py +35 -186
- universal_mcp/applications/whatsapp/audio.py +2 -6
- universal_mcp/applications/whatsapp/whatsapp.py +17 -51
- universal_mcp/applications/whatsapp_business/app.py +86 -299
- universal_mcp/applications/wrike/app.py +80 -153
- universal_mcp/applications/yahoo_finance/app.py +19 -65
- universal_mcp/applications/youtube/app.py +120 -306
- universal_mcp/applications/zenquotes/app.py +3 -3
- {universal_mcp_applications-0.1.33.dist-info → universal_mcp_applications-0.1.39rc16.dist-info}/METADATA +4 -2
- {universal_mcp_applications-0.1.33.dist-info → universal_mcp_applications-0.1.39rc16.dist-info}/RECORD +115 -119
- {universal_mcp_applications-0.1.33.dist-info → universal_mcp_applications-0.1.39rc16.dist-info}/WHEEL +1 -1
- universal_mcp/applications/hubspot/api_segments/__init__.py +0 -0
- universal_mcp/applications/hubspot/api_segments/api_segment_base.py +0 -54
- universal_mcp/applications/hubspot/api_segments/crm_api.py +0 -7337
- universal_mcp/applications/hubspot/api_segments/marketing_api.py +0 -1467
- {universal_mcp_applications-0.1.33.dist-info → universal_mcp_applications-0.1.39rc16.dist-info}/licenses/LICENSE +0 -0
|
@@ -24,18 +24,10 @@ class HttpToolsApp(APIApplication):
|
|
|
24
24
|
try:
|
|
25
25
|
return response.json()
|
|
26
26
|
except Exception:
|
|
27
|
-
logger.warning(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"text": response.text,
|
|
32
|
-
"status_code": response.status_code,
|
|
33
|
-
"headers": dict(response.headers),
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
def http_get(
|
|
37
|
-
self, url: str, headers: dict | None = None, query_params: dict | None = None
|
|
38
|
-
):
|
|
27
|
+
logger.warning(f"Response is not JSON, returning text. Content-Type: {response.headers.get('content-type')}")
|
|
28
|
+
return {"text": response.text, "status_code": response.status_code, "headers": dict(response.headers)}
|
|
29
|
+
|
|
30
|
+
async def http_get(self, url: str, headers: dict | None = None, query_params: dict | None = None):
|
|
39
31
|
"""
|
|
40
32
|
Executes an HTTP GET request to a given URL with optional headers and query parameters. It handles HTTP errors by raising an exception and processes the response, returning parsed JSON or a dictionary with the raw text and status details if JSON is unavailable.
|
|
41
33
|
|
|
@@ -49,16 +41,12 @@ class HttpToolsApp(APIApplication):
|
|
|
49
41
|
Tags:
|
|
50
42
|
get, important
|
|
51
43
|
"""
|
|
52
|
-
logger.debug(
|
|
53
|
-
f"GET request to {url} with headers {headers} and query params {query_params}"
|
|
54
|
-
)
|
|
44
|
+
logger.debug(f"GET request to {url} with headers {headers} and query params {query_params}")
|
|
55
45
|
response = httpx.get(url, params=query_params, headers=headers)
|
|
56
46
|
response.raise_for_status()
|
|
57
47
|
return self._handle_response(response)
|
|
58
48
|
|
|
59
|
-
def http_post(
|
|
60
|
-
self, url: str, headers: dict | None = None, body: dict | None = None
|
|
61
|
-
):
|
|
49
|
+
async def http_post(self, url: str, headers: dict | None = None, body: dict | None = None):
|
|
62
50
|
"""
|
|
63
51
|
Sends an HTTP POST request to a URL with an optional JSON body and headers. It returns the parsed JSON response or raw text if parsing fails and raises an exception for HTTP errors. It is used for creating new resources, unlike http_get which retrieves data.
|
|
64
52
|
|
|
@@ -77,7 +65,7 @@ class HttpToolsApp(APIApplication):
|
|
|
77
65
|
response.raise_for_status()
|
|
78
66
|
return self._handle_response(response)
|
|
79
67
|
|
|
80
|
-
def http_put(self, url: str, headers: dict | None = None, body: dict | None = None):
|
|
68
|
+
async def http_put(self, url: str, headers: dict | None = None, body: dict | None = None):
|
|
81
69
|
"""
|
|
82
70
|
Performs an HTTP PUT request to update or replace a resource at a specified URL. It accepts an optional JSON body and headers, raises an exception for error responses, and returns the parsed JSON response or a dictionary with the raw text and status details.
|
|
83
71
|
|
|
@@ -96,9 +84,7 @@ class HttpToolsApp(APIApplication):
|
|
|
96
84
|
response.raise_for_status()
|
|
97
85
|
return self._handle_response(response)
|
|
98
86
|
|
|
99
|
-
def http_delete(
|
|
100
|
-
self, url: str, headers: dict | None = None, body: dict | None = None
|
|
101
|
-
):
|
|
87
|
+
async def http_delete(self, url: str, headers: dict | None = None, body: dict | None = None):
|
|
102
88
|
"""
|
|
103
89
|
Sends an HTTP DELETE request to a URL with optional headers and a JSON body. Raises an exception for HTTP error statuses and returns the parsed JSON response. If the response isn't JSON, it returns the text content, status code, and headers.
|
|
104
90
|
|
|
@@ -117,9 +103,7 @@ class HttpToolsApp(APIApplication):
|
|
|
117
103
|
response.raise_for_status()
|
|
118
104
|
return self._handle_response(response)
|
|
119
105
|
|
|
120
|
-
def http_patch(
|
|
121
|
-
self, url: str, headers: dict | None = None, body: dict | None = None
|
|
122
|
-
):
|
|
106
|
+
async def http_patch(self, url: str, headers: dict | None = None, body: dict | None = None):
|
|
123
107
|
"""
|
|
124
108
|
Sends an HTTP PATCH request to apply partial modifications to a resource at a given URL. It accepts optional headers and a JSON body. It returns the parsed JSON response, or the raw text with status details if the response is not valid JSON.
|
|
125
109
|
|
|
@@ -144,10 +128,4 @@ class HttpToolsApp(APIApplication):
|
|
|
144
128
|
Tags:
|
|
145
129
|
list, important
|
|
146
130
|
"""
|
|
147
|
-
return [
|
|
148
|
-
self.http_get,
|
|
149
|
-
self.http_post,
|
|
150
|
-
self.http_put,
|
|
151
|
-
self.http_delete,
|
|
152
|
-
self.http_patch,
|
|
153
|
-
]
|
|
131
|
+
return [self.http_get, self.http_post, self.http_put, self.http_delete, self.http_patch]
|
|
@@ -12,7 +12,7 @@ This is automatically generated from OpenAPI schema for the HubspotApp API.
|
|
|
12
12
|
| `add_a_note` | Create a note in HubSpot with the given properties and associations. |
|
|
13
13
|
| `fetch_multiple_lists` | Fetch multiple lists in a single request by ILS list ID. The response will include the definitions of all lists that exist for the listIds provided. |
|
|
14
14
|
| `fetch_list_memberships` | Fetch the memberships of a list in order sorted by the recordId of the records in the list. |
|
|
15
|
-
| `create_list` | Create a new list in HubSpot with the specified object type, processing type, and name.
|
|
15
|
+
| `create_list` | Create a new list in HubSpot with the specified object type, processing type, and name. |
|
|
16
16
|
| `get_list_by_id` | Fetch a single list by ILS list ID. |
|
|
17
17
|
| `delete_list_by_id` | Delete a list by ILS list ID. Lists deleted through this endpoint can be restored for up to 90 days. After 90 days, the list is permanently purged and cannot be restored |
|
|
18
18
|
| `add_records_to_list` | Add the records provided to the list. Records that do not exist or that are already members of the list are ignored. |
|