universal-mcp-applications 0.1.18__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/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/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/google_calendar/README.md +10 -10
- universal_mcp/applications/google_docs/README.md +14 -14
- universal_mcp/applications/google_drive/README.md +54 -57
- universal_mcp/applications/google_gemini/README.md +3 -14
- universal_mcp/applications/google_mail/README.md +20 -20
- universal_mcp/applications/google_searchconsole/README.md +10 -10
- universal_mcp/applications/google_sheet/README.md +25 -25
- universal_mcp/applications/google_sheet/app.py +1 -1
- 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/mailchimp/README.md +3 -3
- universal_mcp/applications/ms_teams/README.md +31 -31
- 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/perplexity/README.md +4 -4
- universal_mcp/applications/posthog/README.md +128 -127
- universal_mcp/applications/reddit/README.md +21 -124
- 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/semrush/README.md +3 -0
- universal_mcp/applications/serpapi/README.md +3 -3
- universal_mcp/applications/sharepoint/README.md +17 -0
- 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/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.18.dist-info → universal_mcp_applications-0.1.19.dist-info}/METADATA +2 -89
- {universal_mcp_applications-0.1.18.dist-info → universal_mcp_applications-0.1.19.dist-info}/RECORD +72 -67
- {universal_mcp_applications-0.1.18.dist-info → universal_mcp_applications-0.1.19.dist-info}/WHEEL +0 -0
- {universal_mcp_applications-0.1.18.dist-info → universal_mcp_applications-0.1.19.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
from universal_mcp.applications.application import APIApplication
|
|
2
2
|
from universal_mcp.integrations import Integration
|
|
3
3
|
|
|
4
|
-
from .api_segments.compliance_api import ComplianceApi
|
|
5
|
-
from .api_segments.dm_conversations_api import DmConversationsApi
|
|
6
|
-
from .api_segments.dm_events_api import DmEventsApi
|
|
7
|
-
from .api_segments.likes_api import LikesApi
|
|
8
|
-
from .api_segments.lists_api import ListsApi
|
|
9
|
-
from .api_segments.openapi_json_api import OpenapiJsonApi
|
|
10
|
-
from .api_segments.spaces_api import SpacesApi
|
|
11
|
-
from .api_segments.trends_api import TrendsApi
|
|
12
|
-
from .api_segments.tweets_api import TweetsApi
|
|
13
|
-
from .api_segments.usage_api import UsageApi
|
|
14
|
-
from .api_segments.users_api import UsersApi
|
|
4
|
+
from universal_mcp.applications.twitter.api_segments.compliance_api import ComplianceApi
|
|
5
|
+
from universal_mcp.applications.twitter.api_segments.dm_conversations_api import DmConversationsApi
|
|
6
|
+
from universal_mcp.applications.twitter.api_segments.dm_events_api import DmEventsApi
|
|
7
|
+
from universal_mcp.applications.twitter.api_segments.likes_api import LikesApi
|
|
8
|
+
from universal_mcp.applications.twitter.api_segments.lists_api import ListsApi
|
|
9
|
+
from universal_mcp.applications.twitter.api_segments.openapi_json_api import OpenapiJsonApi
|
|
10
|
+
from universal_mcp.applications.twitter.api_segments.spaces_api import SpacesApi
|
|
11
|
+
from universal_mcp.applications.twitter.api_segments.trends_api import TrendsApi
|
|
12
|
+
from universal_mcp.applications.twitter.api_segments.tweets_api import TweetsApi
|
|
13
|
+
from universal_mcp.applications.twitter.api_segments.usage_api import UsageApi
|
|
14
|
+
from universal_mcp.applications.twitter.api_segments.users_api import UsersApi
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class TwitterApp(APIApplication):
|
|
@@ -9,20 +9,20 @@ This is automatically generated from OpenAPI schema for the UnipileApp API.
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
11
11
|
|------|-------------|
|
|
12
|
-
| `list_all_chats` |
|
|
13
|
-
| `list_chat_messages` |
|
|
14
|
-
| `send_chat_message` | Sends a message
|
|
15
|
-
| `retrieve_chat` | Retrieves a
|
|
16
|
-
| `list_all_messages` |
|
|
17
|
-
| `list_all_accounts` |
|
|
18
|
-
| `
|
|
19
|
-
| `
|
|
20
|
-
| `retrieve_own_profile` | Retrieves the profile
|
|
21
|
-
| `
|
|
22
|
-
| `retrieve_post` |
|
|
23
|
-
| `list_post_comments` |
|
|
24
|
-
| `create_post` |
|
|
25
|
-
| `
|
|
26
|
-
| `create_post_comment` |
|
|
27
|
-
| `
|
|
28
|
-
| `search` | Performs a comprehensive search
|
|
12
|
+
| `list_all_chats` | Retrieves a paginated list of all chat conversations across linked accounts. Supports filtering by unread status, date range, account provider, and specific account IDs, distinguishing it from functions listing messages within a single chat. |
|
|
13
|
+
| `list_chat_messages` | Retrieves messages from a specific chat identified by `chat_id`. Supports pagination and filtering by date or sender. Unlike `list_all_messages`, which fetches from all chats, this function targets the contents of a single conversation. |
|
|
14
|
+
| `send_chat_message` | Sends a text message to a specific chat conversation using its `chat_id`. This function creates a new message via a POST request, distinguishing it from read-only functions like `list_chat_messages`. It returns the API's response, which typically confirms the successful creation of the message. |
|
|
15
|
+
| `retrieve_chat` | Retrieves a single chat's details using its Unipile or provider-specific ID. Requires an `account_id` when using a provider ID for context. This function is distinct from `list_all_chats`, which returns a collection, by targeting one specific conversation. |
|
|
16
|
+
| `list_all_messages` | Retrieves a paginated list of messages from all chats associated with the account(s). Unlike `list_chat_messages` which targets a specific conversation, this function provides a global message view, filterable by sender, account, and date range. |
|
|
17
|
+
| `list_all_accounts` | Retrieves a paginated list of all social media accounts linked to the Unipile service. This is crucial for obtaining the `account_id` required by other methods to specify which user account should perform an action, like sending a message or retrieving user-specific posts. |
|
|
18
|
+
| `retrieve_linked_account` | Retrieves details for a specific account linked to Unipile using its ID. It fetches metadata about the connection itself (e.g., a linked LinkedIn account), differentiating it from `retrieve_user_profile` which fetches a user's profile from the external platform. |
|
|
19
|
+
| `list_profile_posts` | Retrieves a paginated list of posts from a specific user or company profile using their provider ID. An authorizing `account_id` is required, and the `is_company` flag must specify the entity type, distinguishing this from `retrieve_post` which fetches a single post by its own ID. |
|
|
20
|
+
| `retrieve_own_profile` | Retrieves the profile details for the user associated with the specified Unipile account ID. This function targets the API's 'me' endpoint to fetch the authenticated user's profile, distinct from `retrieve_user_profile` which fetches profiles of other users by their public identifier. |
|
|
21
|
+
| `retrieve_user_profile` | Retrieves a specific LinkedIn user's profile using their public or internal ID, authorized via the provided `account_id`. Unlike `retrieve_own_profile`, which fetches the authenticated user's details, this function targets and returns data for any specified third-party user profile on the platform. |
|
|
22
|
+
| `retrieve_post` | Fetches a specific post's details by its unique ID, requiring an `account_id` for authorization. Unlike `list_profile_posts`, which retrieves a collection of posts from a user or company profile, this function targets one specific post and returns its full object. |
|
|
23
|
+
| `list_post_comments` | Fetches comments for a specific post using an `account_id` for authorization. Providing an optional `comment_id` retrieves threaded replies instead of top-level comments. This read-only operation contrasts with `create_post_comment`, which publishes new comments, and `list_content_reactions`, which retrieves 'likes'. |
|
|
24
|
+
| `create_post` | Publishes a new top-level post from a specified account, including text, user mentions, and an external link. This function creates original content, distinguishing it from `create_post_comment` which adds replies to existing posts. |
|
|
25
|
+
| `list_content_reactions` | Retrieves a paginated list of reactions for a given post or, optionally, a specific comment. This read-only operation uses the provided `account_id` for the request, distinguishing it from the `create_reaction` function which adds new reactions. |
|
|
26
|
+
| `create_post_comment` | Publishes a comment on a specified post. By providing an optional `comment_id`, it creates a threaded reply to an existing comment instead of a new top-level one. This function's dual capability distinguishes it from `list_post_comments`, which only retrieves comments and their replies. |
|
|
27
|
+
| `create_reaction` | Adds a specified reaction (e.g., 'like', 'love') to a LinkedIn post or, optionally, to a specific comment. This function performs a POST request to create the reaction, differentiating it from `list_content_reactions` which only retrieves existing ones. |
|
|
28
|
+
| `search` | Performs a comprehensive LinkedIn search for people, companies, posts, or jobs using granular filters like keywords and location. Alternatively, it can execute a search from a direct LinkedIn URL. Supports pagination and targets either the classic or Sales Navigator API. |
|
|
@@ -9,15 +9,15 @@ This is automatically generated from OpenAPI schema for the WhatsappApp API.
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
11
11
|
|------|-------------|
|
|
12
|
-
| `search_contacts` |
|
|
13
|
-
| `
|
|
14
|
-
| `
|
|
15
|
-
| `
|
|
16
|
-
| `
|
|
17
|
-
| `
|
|
18
|
-
| `
|
|
19
|
-
| `get_message_context` |
|
|
20
|
-
| `
|
|
21
|
-
| `
|
|
22
|
-
| `
|
|
23
|
-
| `
|
|
12
|
+
| `search_contacts` | Searches for WhatsApp contacts by name or phone number. This function takes a query string, handles user authentication, and calls the underlying API to find and return a list of matching contacts. It serves as the primary method to look up contact information within the application. |
|
|
13
|
+
| `search_messages` | Searches for and retrieves a paginated list of WhatsApp messages using various filters like date, sender, chat, or content query. It can optionally include surrounding contextual messages for each result, unlike `get_message_context` which targets a single message ID. |
|
|
14
|
+
| `search_chats` | Retrieves a paginated list of WhatsApp chats, allowing filtering by a search query and sorting by activity or name. Unlike `get_chat`, which fetches a single known chat, this function provides broad search and discovery capabilities across multiple user conversations. |
|
|
15
|
+
| `get_chat_by_jid` | Retrieves metadata for a specific WhatsApp chat (direct or group) using its unique JID. It can optionally include the most recent message. This precise JID-based lookup distinguishes it from `get_direct_chat_by_contact`, which uses a phone number, and `list_chats`, which performs a broader search. |
|
|
16
|
+
| `get_direct_chat_by_phone_number` | Retrieves metadata for a direct (one-on-one) WhatsApp chat using a contact's phone number. Unlike `get_chat` which requires a JID, this provides a simpler way to find direct conversations. Returns a dictionary containing the chat's details, such as its JID and name. |
|
|
17
|
+
| `list_chats_by_contact_jid` | Retrieves a paginated list of all WhatsApp chats, including direct messages and groups, that a specific contact participates in. The contact is identified by their unique JID. This differs from `get_direct_chat_by_contact` which only finds one-on-one chats. |
|
|
18
|
+
| `get_last_message_by_jid` | Retrieves the content of the most recent message involving a specific contact, identified by their JID. It authenticates the user and returns the message directly as a string, offering a quick way to view the last communication without fetching full message objects or chat histories. |
|
|
19
|
+
| `get_message_context` | Fetches the conversational context surrounding a specific WhatsApp message ID. It retrieves a configurable number of messages immediately preceding and following the target message. This provides a focused view of a dialogue, unlike `list_messages` which performs broader, filter-based searches. |
|
|
20
|
+
| `send_text_message` | Authenticates the user and sends a text message to a specified WhatsApp recipient. The recipient can be an individual (via phone number) or a group (via JID). It returns a dictionary indicating the operation's success status and a corresponding message. |
|
|
21
|
+
| `send_attachment` | Sends a media file (image, video, document, raw audio) as a standard attachment to a WhatsApp contact or group using their phone number or JID. Unlike `send_audio_message`, which creates a playable voice note, this function handles general file transfers. Returns a success status dictionary. |
|
|
22
|
+
| `send_voice_message` | Sends a local audio file as a playable WhatsApp voice message, converting it to the required format. Unlike `send_file` which sends audio as a document attachment, this function formats the audio as a voice note. It can be sent to an individual contact or a group chat. |
|
|
23
|
+
| `download_media_from_message` | Downloads media from a specific WhatsApp message, identified by its ID and chat JID. It saves the content to a local file and returns the file's path upon success. The function automatically handles user authentication before initiating the download. |
|
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
from typing import Any
|
|
2
2
|
|
|
3
3
|
import requests
|
|
4
|
-
from .whatsapp import (
|
|
4
|
+
from universal_mcp.applications.whatsapp.whatsapp import (
|
|
5
5
|
WHATSAPP_API_BASE_URL,
|
|
6
6
|
)
|
|
7
|
-
from .whatsapp import (
|
|
7
|
+
from universal_mcp.applications.whatsapp.whatsapp import (
|
|
8
8
|
download_media as whatsapp_download_media,
|
|
9
9
|
)
|
|
10
|
-
from .whatsapp import (
|
|
10
|
+
from universal_mcp.applications.whatsapp.whatsapp import (
|
|
11
11
|
get_chat as whatsapp_get_chat,
|
|
12
12
|
)
|
|
13
|
-
from .whatsapp import (
|
|
13
|
+
from universal_mcp.applications.whatsapp.whatsapp import (
|
|
14
14
|
get_contact_chats as whatsapp_get_contact_chats,
|
|
15
15
|
)
|
|
16
|
-
from .whatsapp import (
|
|
16
|
+
from universal_mcp.applications.whatsapp.whatsapp import (
|
|
17
17
|
get_direct_chat_by_contact as whatsapp_get_direct_chat_by_contact,
|
|
18
18
|
)
|
|
19
|
-
from .whatsapp import (
|
|
19
|
+
from universal_mcp.applications.whatsapp.whatsapp import (
|
|
20
20
|
get_last_interaction as whatsapp_get_last_interaction,
|
|
21
21
|
)
|
|
22
|
-
from .whatsapp import (
|
|
22
|
+
from universal_mcp.applications.whatsapp.whatsapp import (
|
|
23
23
|
get_message_context as whatsapp_get_message_context,
|
|
24
24
|
)
|
|
25
|
-
from .whatsapp import (
|
|
25
|
+
from universal_mcp.applications.whatsapp.whatsapp import (
|
|
26
26
|
list_chats as whatsapp_list_chats,
|
|
27
27
|
)
|
|
28
|
-
from .whatsapp import (
|
|
28
|
+
from universal_mcp.applications.whatsapp.whatsapp import (
|
|
29
29
|
list_messages as whatsapp_list_messages,
|
|
30
30
|
)
|
|
31
|
-
from .whatsapp import (
|
|
31
|
+
from universal_mcp.applications.whatsapp.whatsapp import (
|
|
32
32
|
search_contacts as whatsapp_search_contacts,
|
|
33
33
|
)
|
|
34
|
-
from .whatsapp import (
|
|
34
|
+
from universal_mcp.applications.whatsapp.whatsapp import (
|
|
35
35
|
send_audio_message as whatsapp_audio_voice_message,
|
|
36
36
|
)
|
|
37
|
-
from .whatsapp import (
|
|
37
|
+
from universal_mcp.applications.whatsapp.whatsapp import (
|
|
38
38
|
send_file as whatsapp_send_file,
|
|
39
39
|
)
|
|
40
|
-
from .whatsapp import (
|
|
40
|
+
from universal_mcp.applications.whatsapp.whatsapp import (
|
|
41
41
|
send_message as whatsapp_send_message,
|
|
42
42
|
)
|
|
43
43
|
|
|
@@ -9,26 +9,26 @@ This is automatically generated from OpenAPI schema for the WhatsappBusinessApp
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
11
11
|
|------|-------------|
|
|
12
|
-
| `
|
|
13
|
-
| `
|
|
14
|
-
| `get_business_account` |
|
|
15
|
-
| `get_commerce_settings` | Retrieves the commerce settings
|
|
16
|
-
| `
|
|
17
|
-
| `
|
|
18
|
-
| `
|
|
19
|
-
| `get_business_phone_number` | Retrieves details for a specific
|
|
20
|
-
| `
|
|
21
|
-
| `
|
|
22
|
-
| `
|
|
23
|
-
| `
|
|
24
|
-
| `create_qr_code` |
|
|
25
|
-
| `
|
|
26
|
-
| `
|
|
27
|
-
| `
|
|
28
|
-
| `create_message_template` | Creates a new
|
|
29
|
-
| `
|
|
30
|
-
| `get_subscribed_apps` | Retrieves a list of
|
|
31
|
-
| `
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
| `get_all_owned_wabas` | Retrieves a list of WhatsApp Business Accounts owned by
|
|
12
|
+
| `get_whatsapp_business_account` | Fetches customizable data, primarily analytics, for a specific WhatsApp Business Account (WABA) using its ID. The `fields` parameter allows detailed queries, including date ranges and granularity for metrics like message volume, to refine the returned data. |
|
|
13
|
+
| `get_business_account_credit_lines` | Retrieves the extended credit lines for a specified business account ID. This function fetches billing information by querying the `/extendedcredits` endpoint, returning financial details such as available credit for platform services. |
|
|
14
|
+
| `get_business_account` | Fetches details for a specific Meta Business Account using its ID. This function retrieves the core account object, unlike others that get associated resources like owned/shared WhatsApp Business Accounts (WABAs) or credit lines for the same ID. The response payload can be customized using the 'fields' parameter. |
|
|
15
|
+
| `get_commerce_settings` | Retrieves the commerce settings, such as cart availability and catalog visibility, for a specific WhatsApp Business phone number. This function reads the current configuration, contrasting with `set_or_update_commerce_settings` which modifies them. |
|
|
16
|
+
| `update_commerce_settings` | Updates the commerce settings for a specific business phone number by enabling or disabling cart functionality and catalog visibility. This function differentiates from `get_commerce_settings` by using a POST request to modify data, rather than retrieving it. |
|
|
17
|
+
| `create_upload_session` | Initiates a resumable upload session by providing file metadata (size, type). This function creates an upload session ID and is the first of a two-step process for uploading media, preceding the actual data transfer performed by `resume_session`. |
|
|
18
|
+
| `upload_file_to_session` | Continues a media file upload by sending file data to an existing session. This function is the second step in the upload process, following `upload_file`, which creates the session and provides the required session ID. |
|
|
19
|
+
| `get_business_phone_number` | Retrieves details for a specific WhatsApp Business phone number by its unique ID. The optional `fields` parameter allows for customizing the response to include only desired data, differentiating it from `get_all_business_phone_numbers`, which retrieves a list of all numbers for a WABA. |
|
|
20
|
+
| `list_waba_phone_numbers` | Fetches a list of phone numbers for a specified WhatsApp Business Account (WABA). This function allows for result filtering and customizable field selection, distinguishing it from `get_business_phone_number` which retrieves a single number by its unique ID. |
|
|
21
|
+
| `get_qr_code_by_id` | Retrieves the details of a single QR code, such as its pre-filled message, by its unique ID for a specific business phone number. It fetches a specific code, distinguishing it from `get_all_qr_codes_default_fields` which retrieves a list of codes. |
|
|
22
|
+
| `delete_qr_code_by_id` | Deletes a specific WhatsApp message QR code by its ID for a given business phone number. The function sends a DELETE request to the Graph API's `message_qrdls` endpoint to remove the specified QR code. |
|
|
23
|
+
| `list_qr_codes` | Retrieves a list of QR codes for a business phone number. This function allows optional filtering by a specific QR code identifier and customization of the fields returned in the response, such as the image format. |
|
|
24
|
+
| `create_qr_code` | Generates a WhatsApp Business QR code for a specific phone number. This function allows setting a prefilled message for user convenience and can optionally include a custom identifier. It returns the details of the newly created QR code upon successful generation. |
|
|
25
|
+
| `get_template_by_id` | Retrieves a specific WhatsApp message template by its unique identifier. Unlike `get_template_by_name`, which searches within a business account, this function directly fetches a single template resource. Note: The function signature is missing the required `template_id` parameter to build a valid URL. |
|
|
26
|
+
| `update_template_by_id` | Updates an existing WhatsApp message template, identified by its ID within the request URL. This function modifies the template's category, components, language, and name by submitting new data via a POST request, returning the API response upon successful completion. |
|
|
27
|
+
| `get_message_templates` | Retrieves message templates for a specific WhatsApp Business Account (WABA). It can list all templates or, if a name is provided, filter for an exact match. This differs from `get_template_by_id_default_fields`, which fetches a single template by its unique ID. |
|
|
28
|
+
| `create_message_template` | Creates a new message template for a specified WhatsApp Business Account (WABA). This function sends a POST request with the template's name, language, category, and structural components, enabling the creation of standardized, reusable messages. |
|
|
29
|
+
| `delete_message_template` | Deletes a message template from a WhatsApp Business Account. Templates can be targeted for deletion by providing either a template name, which deletes all language versions, or a specific template ID (`hsm_id`). |
|
|
30
|
+
| `get_subscribed_apps` | Retrieves a list of all applications subscribed to receive webhook notifications for a given WhatsApp Business Account (WABA). This function provides a read-only view of current webhook subscriptions, complementing the functions for subscribing and unsubscribing apps. |
|
|
31
|
+
| `subscribe_app_to_webhooks` | Subscribes an application to a specific WhatsApp Business Account's (WABA) webhooks using its ID. This enables the app to receive real-time event notifications, differentiating it from functions that list or remove subscriptions. |
|
|
32
|
+
| `unsubscribe_app_from_waba` | Removes the webhook subscription for the calling app from a specified WhatsApp Business Account (WABA), stopping it from receiving notifications. This function complements `get_subscribed_apps` and `subscribe_app_to_waba_swebhooks` by handling the deletion of a subscription. |
|
|
33
|
+
| `get_all_client_wabas` | Retrieves all client WhatsApp Business Accounts (WABAs) associated with a specific business account ID. It's used by Solution Partners to list WABAs they manage for other businesses, distinguishing them from accounts they directly own (`get_all_owned_wabas`). |
|
|
34
|
+
| `get_all_owned_wabas` | Retrieves a list of all WhatsApp Business Accounts (WABAs) directly owned by a specified business account. This is distinct from `get_all_shared_wabas`, which fetches WABAs shared with clients, providing specific access to owned assets instead of associated ones. |
|
|
@@ -9,49 +9,49 @@ This is automatically generated from OpenAPI schema for the YoutubeApp API.
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
11
11
|
|------|-------------|
|
|
12
|
-
| `
|
|
13
|
-
| `
|
|
14
|
-
| `
|
|
15
|
-
| `
|
|
16
|
-
| `
|
|
17
|
-
| `get_reporttypes` | Retrieves a
|
|
18
|
-
| `delete_captions` | Deletes
|
|
19
|
-
| `
|
|
20
|
-
| `delete_comments` |
|
|
21
|
-
| `
|
|
22
|
-
| `
|
|
23
|
-
| `delete_live_broadcasts` | Deletes
|
|
24
|
-
| `
|
|
25
|
-
| `
|
|
26
|
-
| `
|
|
27
|
-
| `
|
|
28
|
-
| `
|
|
29
|
-
| `delete_live_chat_moderators` | Deletes a live chat moderator
|
|
30
|
-
| `delete_videos` | Deletes specified videos from
|
|
31
|
-
| `
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
| `
|
|
36
|
-
| `get_activities` |
|
|
37
|
-
| `
|
|
38
|
-
| `delete_channel_sections` | Deletes
|
|
39
|
-
| `
|
|
40
|
-
| `get_comment_threads` |
|
|
41
|
-
| `get_fanfundingevents` |
|
|
42
|
-
| `
|
|
43
|
-
| `
|
|
44
|
-
| `
|
|
45
|
-
| `delete_livestreams` | Deletes
|
|
46
|
-
| `
|
|
47
|
-
| `delete_playlists` | Deletes
|
|
48
|
-
| `get_search` |
|
|
49
|
-
| `
|
|
50
|
-
| `delete_subscriptions` | Deletes
|
|
51
|
-
| `
|
|
52
|
-
| `
|
|
53
|
-
| `get_video_abuse_report_reasons` |
|
|
54
|
-
| `
|
|
55
|
-
| `
|
|
56
|
-
| `delete_groups` | Deletes
|
|
57
|
-
| `
|
|
12
|
+
| `list_job_reports` | Retrieves a paginated list of all reports for a specific job ID, with options for filtering by date. Unlike `get_jobs_job_reports_report`, which fetches a single report by its ID, this function returns a collection of reports associated with a job. |
|
|
13
|
+
| `get_job_report` | Fetches a single, specific report identified by its `reportId` from within a given `jobId`. This retrieves an individual record, distinguishing it from `get_jobs_job_reports`, which returns a list of reports for a job. The request can be made on behalf of a content owner. |
|
|
14
|
+
| `delete_job` | Deletes a specific job resource using its unique `jobId`, optionally on behalf of a content owner. This action permanently removes the job itself, differentiating it from functions that only retrieve or manage job reports. |
|
|
15
|
+
| `list_jobs` | Retrieves a paginated list of asynchronous jobs from the YouTube Reporting API. Supports filtering by content owner and including system-managed jobs. This function lists multiple jobs, distinct from `get_jobs_job_reports` which retrieves reports for a single job. |
|
|
16
|
+
| `download_report_media` | Downloads the content of a bulk data report from the YouTube Reporting API by its unique `resourceName`. This function retrieves the actual media file generated by a reporting job, distinct from functions that only fetch report metadata. |
|
|
17
|
+
| `get_reporttypes` | Retrieves a list of available report types from the YouTube Reporting API, supporting pagination and filtering. This function returns metadata about what kinds of reports can be generated, distinct from functions like `get_reports` that fetch actual report content. |
|
|
18
|
+
| `delete_captions` | Deletes a specific YouTube caption resource using its unique ID, with optional delegation for content owners. This management function removes the entire caption track, unlike `get_captions` which only retrieves the transcript text for a given video ID. |
|
|
19
|
+
| `get_transcript_text` | Fetches the full text transcript for a YouTube video using its ID. Unlike other methods using the official API, this function utilizes the `youtube-transcript-api` library to extract and concatenate all caption snippets into a single, timestamp-free string of the video's spoken content. |
|
|
20
|
+
| `delete_comments` | Permanently removes a specific comment identified by its unique ID via a DELETE request. Unlike moderation functions like `add_comments_mark_as_spam`, which only alter a comment's state, this action is irreversible and deletes the resource. An `id` is required to specify the target comment. |
|
|
21
|
+
| `mark_comment_as_spam` | Marks a specified YouTube comment as spam via a POST request to the API. This moderation action is distinct from deleting comments (`delete_comments`) or setting other statuses like 'approved' or 'rejected' (`add_comments_set_moderation_status`). |
|
|
22
|
+
| `set_comment_moderation_status` | Sets the moderation status (e.g., 'approved', 'rejected') for specified comments and can optionally ban the author. Unlike `add_comments_mark_as_spam`, this function allows for various moderation states, providing more granular control over comment management. |
|
|
23
|
+
| `delete_live_broadcasts` | Deletes a YouTube live broadcast event by its unique ID via the API. This request can be made on behalf of a content owner or channel. It targets the `/liveBroadcasts` endpoint, distinguishing it from `delete_livestreams` which manages the actual content stream. |
|
|
24
|
+
| `bind_live_broadcast_to_stream` | Binds a YouTube live broadcast to a video stream using their respective IDs. This action associates the broadcast's metadata with the content stream, optionally performing the action on behalf of a content owner, facilitating the link between a planned event and its live video feed. |
|
|
25
|
+
| `control_live_broadcast` | Sends control commands to a YouTube live broadcast, identified by its ID. It can display a slate or schedule an action using a time offset. Unlike `add_live_broadcasts_transition`, which alters broadcast status (e.g., 'live'), this function manages in-stream state. |
|
|
26
|
+
| `transition_live_broadcast` | Changes a YouTube live broadcast's status (e.g., making it 'live' or 'complete') by posting to the API's transition endpoint. This function alters the broadcast's lifecycle state, distinct from other control actions like binding it to a stream, and returns the API's JSON response. |
|
|
27
|
+
| `delete_live_chat_ban` | Deletes a specific YouTube live chat ban using its unique ID. It sends a DELETE request to the `/liveChat/bans` endpoint to revoke the ban, allowing the user to participate in the chat again. |
|
|
28
|
+
| `delete_live_chat_message` | Deletes a specific YouTube live chat message identified by its unique ID. This function targets the `/liveChat/messages` endpoint, distinguishing it from `delete_live_chat_bans` and `delete_live_chat_moderators`, which manage different aspects of a live chat. |
|
|
29
|
+
| `delete_live_chat_moderators` | Deletes a specific YouTube live chat moderator using their unique ID. This function sends a DELETE request to the `/liveChat/moderators` API endpoint and returns the server's JSON response, confirming the successful removal or detailing errors. The moderator ID is a required parameter for this action. |
|
|
30
|
+
| `delete_videos` | Deletes a specified YouTube video using its unique ID. The operation can be performed on behalf of a content owner by sending an HTTP DELETE request to the `/videos` endpoint. It's distinct from other video functions that only modify or retrieve metadata, like rating or abuse reports. |
|
|
31
|
+
| `get_video_ratings` | Retrieves the authenticated user's rating (e.g., 'like', 'dislike') for specified videos. This function fetches existing rating data, distinct from `add_videos_rate` which submits a new rating, and can be performed on behalf of a content owner. |
|
|
32
|
+
| `rate_video` | Submits a rating (e.g., 'like', 'dislike') for a video specified by its unique ID. This function sends a POST request to the YouTube API's `/videos/rate` endpoint and returns the server's JSON response upon successful submission. |
|
|
33
|
+
| `report_video_for_abuse` | Reports a video for abuse via a POST request to the YouTube API. An optional parameter allows a content owner to submit the report on behalf of their account, flagging potentially inappropriate content for review by YouTube. |
|
|
34
|
+
| `set_channel_watermark` | Sets a branding watermark on a specified YouTube channel. The operation targets the channel using its ID and can be executed on behalf of a content owner. This function contrasts with `add_watermarks_unset`, which removes the watermark. |
|
|
35
|
+
| `unset_channel_watermark` | Removes the branding watermark for a specified YouTube channel via an API POST request. This operation, the inverse of `add_watermarks_set`, can be executed on behalf of a content owner to unset the channel's current watermark. |
|
|
36
|
+
| `get_activities` | Retrieves a list of YouTube activities, such as video uploads or social posts. Supports filtering by channel, authenticated user's feed, publication date, and region. The function also handles pagination to navigate through large result sets and returns the JSON response from the API. |
|
|
37
|
+
| `insert_channel_banner` | Uploads and sets a new banner image for a specified YouTube channel. This function makes a POST request to the `/channelBanners/insert` endpoint, optionally on behalf of a content owner, and returns details of the newly created banner. |
|
|
38
|
+
| `delete_channel_sections` | Deletes a YouTube channel section by its unique ID via an API request. The operation can be performed on behalf of a content owner for delegated management, returning a JSON response upon success or raising an HTTPError for failures like invalid IDs or insufficient permissions. |
|
|
39
|
+
| `list_channels` | Retrieves channel data from the YouTube API using specific filters like ID, username, or ownership status (`mine`, `managedByMe`). The function supports pagination and localization, returning a JSON object containing details for the targeted channels. |
|
|
40
|
+
| `get_comment_threads` | Retrieves YouTube comment threads using filters like channel ID, video ID, or search terms. It supports pagination and sorting, serving as the primary method for fetching comment data, distinct from other functions in the script that moderate or delete individual comments. |
|
|
41
|
+
| `get_fanfundingevents` | Fetches a list of fan funding events from the YouTube API for the authenticated user's channel. Supports pagination, localization, and partial responses to retrieve customized event data like Super Chat or Super Stickers based on specified filter criteria and response parts. |
|
|
42
|
+
| `get_guide_categories` | Retrieves a list of official YouTube guide categories (e.g., Music, Sports). This function queries the `/guideCategories` endpoint, allowing results to be filtered by ID or region and localized for a specific language. These are distinct from the categories assigned to individual videos. |
|
|
43
|
+
| `get_i18n_languages` | Retrieves a list of supported internationalization (i18n) languages from the YouTube API's `/i18nLanguages` endpoint. It can optionally localize the language names in the response. This function is distinct from `get_regions`, which fetches supported geographical regions. |
|
|
44
|
+
| `get_i18n_regions` | Fetches a list of geographic regions supported by the YouTube API for content localization. It can localize region names using the 'hl' parameter. This is distinct from get_languages, which retrieves supported languages, not geographic areas. |
|
|
45
|
+
| `delete_livestreams` | Deletes one or more YouTube livestreams by ID via the `/liveStreams` API endpoint, optionally on behalf of a content owner. This function is distinct from `delete_live_broadcasts`, which targets a different live video resource, and returns the server's JSON response upon successful deletion. |
|
|
46
|
+
| `delete_playlist_items` | Deletes one or more YouTube playlist items by their unique IDs. The operation can be performed on behalf of a content owner for delegated authorization, sending a DELETE request to the `/playlistItems` endpoint and returning the server's response. |
|
|
47
|
+
| `delete_playlists` | Deletes a YouTube playlist by its unique ID via a DELETE request to the API. The operation can be performed on behalf of a specific content owner for delegated management. This function targets the entire playlist, distinct from `delete_play_list_items` which removes individual videos from a playlist. |
|
|
48
|
+
| `get_search` | Performs a versatile search on YouTube for videos, channels, or playlists. This function supports extensive filters, including keywords, publication dates, location, and specific video attributes like category or duration, returning a paginated list of matching resources from the YouTube Data API. |
|
|
49
|
+
| `list_sponsors` | Retrieves a list of sponsors for the authenticated user's YouTube channel. This function supports filtering, pagination, and specifying which resource parts to include in the response, allowing for flexible and customized data fetching of sponsor information. |
|
|
50
|
+
| `delete_subscriptions` | Deletes a specific YouTube channel subscription identified by its unique ID. This function sends a DELETE request to the `/subscriptions` API endpoint and returns the server's JSON response, confirming the operation's success or failure. |
|
|
51
|
+
| `get_super_chat_events` | Retrieves a paginated list of Super Chat events from the YouTube Data API. Allows for localization and specifying which resource parts to include in the response. This function is distinct from `get_fanfundingevents`, which fetches a different type of monetary contribution event. |
|
|
52
|
+
| `set_video_thumbnail` | Sets a custom thumbnail for a specified YouTube video via a POST request to the `/thumbnails/set` API endpoint. The operation can be performed on behalf of a content owner for delegated management of video assets. |
|
|
53
|
+
| `get_video_abuse_report_reasons` | Retrieves a list of valid reasons (e.g., spam, hate speech) for reporting abusive video content. Supports response localization using a language code (`hl`) and allows filtering which parts of the reason resource (e.g., ID, snippet) are returned, providing metadata before submitting a report. |
|
|
54
|
+
| `get_video_categories` | Retrieves official YouTube video categories used for classifying uploaded videos, allowing filtering by ID, region, or language. This is distinct from `get_guecategories`, which fetches channel browsing guides, not categories for individual video uploads. |
|
|
55
|
+
| `delete_group_items` | Deletes specified items from a YouTube Analytics group via an API request. An item can be targeted by its unique ID, and the action can be performed on behalf of a content owner. This function is distinct from `delete_groups`, which removes the entire group. |
|
|
56
|
+
| `delete_groups` | Deletes a YouTube group by its ID via an API request, optionally on behalf of a content owner. Unlike `delete_groupitems`, which only removes an item from a group, this function deletes the entire group entity. |
|
|
57
|
+
| `get_analytics_report` | Queries the YouTube Analytics API for performance reports, allowing customization via metrics, dimensions, and filters. Unlike `get_jobs_job_reports` which manages bulk report jobs, this function fetches analytical data directly, providing on-demand insights into channel or content performance. |
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
from typing import Any
|
|
2
2
|
|
|
3
3
|
from youtube_transcript_api import YouTubeTranscriptApi
|
|
4
|
+
from youtube_transcript_api.proxies import GenericProxyConfig
|
|
5
|
+
|
|
4
6
|
|
|
5
7
|
from universal_mcp.applications.application import APIApplication
|
|
6
8
|
from universal_mcp.integrations import Integration
|
|
@@ -296,7 +298,11 @@ class YoutubeApp(APIApplication):
|
|
|
296
298
|
raise ValueError("Missing required parameter 'video_id'")
|
|
297
299
|
|
|
298
300
|
try:
|
|
299
|
-
api = YouTubeTranscriptApi(
|
|
301
|
+
api = YouTubeTranscriptApi(
|
|
302
|
+
proxy_config=GenericProxyConfig(
|
|
303
|
+
http_url="http://xgixgown:lp2wabq23752@142.111.48.253:7030/"
|
|
304
|
+
)
|
|
305
|
+
)
|
|
300
306
|
transcript = api.fetch(video_id)
|
|
301
307
|
|
|
302
308
|
transcript_text = " ".join(
|
|
@@ -9,4 +9,4 @@ This is automatically generated from OpenAPI schema for the ZenquotesApp API.
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
11
11
|
|------|-------------|
|
|
12
|
-
| `
|
|
12
|
+
| `get_random_quote` | Fetches a random inspirational quote from the Zen Quotes API via an HTTP request. It parses the JSON response to extract the quote and author, returning them as a single formatted string ('quote - author'). This function is the primary tool provided by the ZenquotesApp. |
|
{universal_mcp_applications-0.1.18.dist-info → universal_mcp_applications-0.1.19.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: universal-mcp-applications
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.19
|
|
4
4
|
Summary: A Universal MCP Application: universal_mcp_applications
|
|
5
5
|
Project-URL: Homepage, https://github.com/universal-mcp/applications
|
|
6
6
|
Project-URL: Repository, https://github.com/universal-mcp/applications
|
|
@@ -85,91 +85,4 @@ result = app.some_method(param1="value1")
|
|
|
85
85
|
|
|
86
86
|
# Process and print the output
|
|
87
87
|
process_output(result)
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## Included Applications
|
|
91
|
-
|
|
92
|
-
This package includes the following 82 applications:
|
|
93
|
-
|
|
94
|
-
- `ahrefs`
|
|
95
|
-
- `airtable`
|
|
96
|
-
- `apollo`
|
|
97
|
-
- `asana`
|
|
98
|
-
- `aws-s3`
|
|
99
|
-
- `bill`
|
|
100
|
-
- `box`
|
|
101
|
-
- `braze`
|
|
102
|
-
- `cal-com-v2`
|
|
103
|
-
- `calendly`
|
|
104
|
-
- `canva`
|
|
105
|
-
- `clickup`
|
|
106
|
-
- `coda`
|
|
107
|
-
- `confluence`
|
|
108
|
-
- `contentful`
|
|
109
|
-
- `crustdata`
|
|
110
|
-
- `dialpad`
|
|
111
|
-
- `digitalocean`
|
|
112
|
-
- `domain-checker`
|
|
113
|
-
- `e2b`
|
|
114
|
-
- `elevenlabs`
|
|
115
|
-
- `exa`
|
|
116
|
-
- `falai`
|
|
117
|
-
- `figma`
|
|
118
|
-
- `firecrawl`
|
|
119
|
-
- `fireflies`
|
|
120
|
-
- `fpl`
|
|
121
|
-
- `ghost-content`
|
|
122
|
-
- `github`
|
|
123
|
-
- `gong`
|
|
124
|
-
- `google-ads`
|
|
125
|
-
- `google-calendar`
|
|
126
|
-
- `google-docs`
|
|
127
|
-
- `google-drive`
|
|
128
|
-
- `google-gemini`
|
|
129
|
-
- `google-mail`
|
|
130
|
-
- `google-searchconsole`
|
|
131
|
-
- `google-sheet`
|
|
132
|
-
- `hashnode`
|
|
133
|
-
- `heygen`
|
|
134
|
-
- `http-tools`
|
|
135
|
-
- `hubspot`
|
|
136
|
-
- `jira`
|
|
137
|
-
- `klaviyo`
|
|
138
|
-
- `linkedin`
|
|
139
|
-
- `mailchimp`
|
|
140
|
-
- `markitdown`
|
|
141
|
-
- `miro`
|
|
142
|
-
- `ms-teams`
|
|
143
|
-
- `neon`
|
|
144
|
-
- `notion`
|
|
145
|
-
- `openai`
|
|
146
|
-
- `outlook`
|
|
147
|
-
- `perplexity`
|
|
148
|
-
- `pipedrive`
|
|
149
|
-
- `posthog`
|
|
150
|
-
- `reddit`
|
|
151
|
-
- `replicate`
|
|
152
|
-
- `resend`
|
|
153
|
-
- `retell`
|
|
154
|
-
- `rocketlane`
|
|
155
|
-
- `semanticscholar`
|
|
156
|
-
- `semrush`
|
|
157
|
-
- `sendgrid`
|
|
158
|
-
- `sentry`
|
|
159
|
-
- `serpapi`
|
|
160
|
-
- `sharepoint`
|
|
161
|
-
- `shopify`
|
|
162
|
-
- `shortcut`
|
|
163
|
-
- `slack`
|
|
164
|
-
- `spotify`
|
|
165
|
-
- `supabase`
|
|
166
|
-
- `tavily`
|
|
167
|
-
- `trello`
|
|
168
|
-
- `twillo`
|
|
169
|
-
- `twitter`
|
|
170
|
-
- `unipile`
|
|
171
|
-
- `whatsapp`
|
|
172
|
-
- `whatsapp-business`
|
|
173
|
-
- `wrike`
|
|
174
|
-
- `youtube`
|
|
175
|
-
- `zenquotes`
|
|
88
|
+
```
|