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
|
@@ -9,92 +9,95 @@ This is automatically generated from OpenAPI schema for the TwitterApp API.
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
11
11
|
|------|-------------|
|
|
12
|
-
| `list_batch_compliance_jobs` | Retrieves a list of compliance jobs
|
|
13
|
-
| `create_batch_compliance_job` | Creates a new compliance job
|
|
14
|
-
| `
|
|
15
|
-
| `
|
|
16
|
-
| `
|
|
17
|
-
| `
|
|
18
|
-
| `
|
|
19
|
-
| `
|
|
20
|
-
| `
|
|
21
|
-
| `
|
|
22
|
-
| `
|
|
23
|
-
| `
|
|
24
|
-
| `
|
|
25
|
-
| `
|
|
26
|
-
| `
|
|
27
|
-
| `
|
|
28
|
-
| `
|
|
29
|
-
| `
|
|
30
|
-
| `
|
|
31
|
-
| `
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
37
|
-
| `
|
|
38
|
-
| `
|
|
39
|
-
| `
|
|
40
|
-
| `
|
|
41
|
-
| `
|
|
42
|
-
| `
|
|
43
|
-
| `
|
|
44
|
-
| `
|
|
45
|
-
| `
|
|
46
|
-
| `
|
|
47
|
-
| `
|
|
48
|
-
| `
|
|
49
|
-
| `
|
|
50
|
-
| `
|
|
51
|
-
| `
|
|
52
|
-
| `
|
|
53
|
-
| `
|
|
54
|
-
| `
|
|
55
|
-
| `
|
|
56
|
-
| `
|
|
57
|
-
| `
|
|
58
|
-
| `
|
|
59
|
-
| `
|
|
60
|
-
| `
|
|
61
|
-
| `
|
|
62
|
-
| `
|
|
63
|
-
| `
|
|
64
|
-
| `
|
|
65
|
-
| `
|
|
66
|
-
| `
|
|
67
|
-
| `
|
|
68
|
-
| `
|
|
69
|
-
| `
|
|
70
|
-
| `
|
|
71
|
-
| `
|
|
72
|
-
| `
|
|
73
|
-
| `
|
|
74
|
-
| `
|
|
75
|
-
| `
|
|
76
|
-
| `
|
|
77
|
-
| `
|
|
78
|
-
| `
|
|
79
|
-
| `
|
|
80
|
-
| `
|
|
81
|
-
| `
|
|
82
|
-
| `
|
|
83
|
-
| `
|
|
84
|
-
| `
|
|
85
|
-
| `
|
|
86
|
-
| `
|
|
87
|
-
| `
|
|
88
|
-
| `
|
|
89
|
-
| `
|
|
90
|
-
| `
|
|
91
|
-
| `
|
|
92
|
-
| `
|
|
93
|
-
| `
|
|
94
|
-
| `
|
|
95
|
-
| `
|
|
96
|
-
| `
|
|
97
|
-
| `
|
|
98
|
-
| `
|
|
99
|
-
| `
|
|
100
|
-
| `
|
|
12
|
+
| `list_batch_compliance_jobs` | Retrieves a list of compliance jobs, requiring a job `type` ('tweets' or 'users') and allowing optional filtering by `status`. This function fetches multiple jobs, distinguishing it from `get_batch_compliance_job` which retrieves a single job by its unique ID. |
|
|
13
|
+
| `create_batch_compliance_job` | Creates a new batch compliance job for a specified type ('tweets' or 'users'). A custom name can be provided, and resumable uploads can be enabled. This initiates the job creation process, differing from functions that list or retrieve existing jobs. |
|
|
14
|
+
| `get_compliance_job` | Retrieves a single batch compliance job by its unique ID. Unlike `list_batch_compliance_jobs`, which fetches a list, this function returns details for one specific job. Optional parameters can customize which data fields are returned in the response. |
|
|
15
|
+
| `create_dm_conversation` | Creates a new group Direct Message conversation with specified participants and sends an initial message. This function specifically handles the creation of new multi-participant conversations, distinct from other methods in this class that add messages to existing one-to-one or group DMs. |
|
|
16
|
+
| `get_dm_events_by_participant_id` | Retrieves direct message events from a conversation identified by a specific participant's ID. Supports pagination and filtering by event type. This method is distinct from `get_dm_conversations_id_dm_events`, which uses a direct conversation ID for retrieval instead of a participant's ID. |
|
|
17
|
+
| `send_dm_by_participant_id` | Sends a direct message to a user specified by their participant ID. It creates a new one-on-one conversation or appends the message to an existing one. Unlike other functions, this method identifies the conversation using the participant's ID rather than a pre-existing conversation ID. |
|
|
18
|
+
| `add_message_to_dm_conversation` | Sends a new message with optional text and attachments to an existing Direct Message conversation. The target conversation is specified by its `dm_conversation_id`, distinguishing it from functions that create new conversations or send one-to-one messages using a participant ID. |
|
|
19
|
+
| `get_dm_events_by_conversation_id` | Retrieves direct message events for a specific conversation using its unique ID. This function, distinct from fetching by participant ID, supports pagination, event type filtering, and data field expansion for detailed results. |
|
|
20
|
+
| `get_dm_events` | Retrieves a list of direct message events, unlike `get_dm_events_by_id` which fetches a single event. Supports pagination, filtering by event type, and specifying which data fields to return for various objects to customize the API response. |
|
|
21
|
+
| `delete_dm_event` | Deletes a specific Direct Message (DM) event identified by its unique ID. This function issues an authenticated HTTP DELETE request to the API to permanently remove the specified event, returning a confirmation of the deletion. |
|
|
22
|
+
| `get_dm_event_by_id` | Fetches a specific Direct Message event using its unique ID. Optional parameters allow customizing the response by selecting specific fields for the event, media, users, and tweets, and by including expanded object details. This differs from `get_dm_events`, which retrieves a list of events. |
|
|
23
|
+
| `get_likes_compliance_stream` | Streams compliance-related data for 'like' events, such as un-likes, with optional time and backfill filters. This endpoint is for compliance monitoring, differing from the firehose and sample streams which provide real-time like creation events. |
|
|
24
|
+
| `get_likes_firehose_stream` | Streams a comprehensive, real-time 'firehose' of all like events from a specified data partition. This function allows time-based filtering and customization of returned fields, providing a complete data flow distinct from the compliance or sampled stream methods. |
|
|
25
|
+
| `likes_sample10_stream` | Streams a 10% sample of real-time like events, a low-volume alternative to the full firehose stream. It allows filtering by partition and time range, and supports data enrichment by specifying tweet, user, and expansion fields to customize the response. |
|
|
26
|
+
| `create_list` | Creates a new list on X (formerly Twitter) with an optional name, description, and privacy setting. It sends a POST request to the `/2/lists` endpoint and returns the JSON data of the newly created list upon success. |
|
|
27
|
+
| `delete_list` | Permanently deletes a specific Twitter List identified by its unique ID. This function sends an authorized DELETE request to the API's `/2/lists/{id}` endpoint, returning a confirmation response upon successful removal. It is distinct from `list_remove_member`, which only removes a user from a list. |
|
|
28
|
+
| `get_list_by_id` | Retrieves detailed information for a specific list by its ID. This function allows for response customization by specifying which list and user fields to return and supports expansions to include related objects like the owner's user data. |
|
|
29
|
+
| `update_list` | Modifies an existing Twitter list identified by its unique ID. This function updates the list's name, description, or privacy status by sending a PUT request to the API and returns the updated list data upon success. |
|
|
30
|
+
| `get_list_followers` | Retrieves the users who follow a specific list, identified by its ID. Supports pagination and allows for the customization of returned user, tweet, and expansion fields to tailor the response data, differentiating it from fetching list members. |
|
|
31
|
+
| `list_get_members` | Retrieves users who are members of a specific Twitter list, identified by its ID. Unlike `list_get_followers`, this returns users explicitly added to the list, not subscribers. Supports pagination and customization of the returned user data fields to include expanded objects and specific details. |
|
|
32
|
+
| `list_add_member` | Adds a user to a specified Twitter list via a POST request to the `/2/lists/{id}/members` endpoint, requiring list and user IDs. This function modifies a list's membership, distinguishing it from `list_get_members` (retrieves) and its counterpart `list_remove_member` (deletes). |
|
|
33
|
+
| `delete_list_member` | Removes a specific user from a Twitter list. This function sends a DELETE request to the `/2/lists/{id}/members/{user_id}` API endpoint, requiring both the list ID and the user ID to perform the action and confirm the member's removal. |
|
|
34
|
+
| `get_list_tweets` | Retrieves tweets from a specified Twitter List using its ID. Supports pagination and allows extensive customization of returned fields for tweets, users, media, and other entities. This function uniquely fetches the list's tweet timeline, distinguishing it from functions that retrieve list members or followers. |
|
|
35
|
+
| `get_open_api_spec` | Args: |
|
|
36
|
+
| `find_spaces_by_ids` | Retrieves detailed information for a batch of spaces, specified by a list of their unique IDs. Optional parameters allow for customizing the response by including specific fields and expansions. This method is distinct from `find_space_by_id`, which fetches only a single space per call. |
|
|
37
|
+
| `find_spaces_by_creator_ids` | Fetches a list of spaces created by specified users, identified by their user IDs. This function is distinct from `find_spaces_by_ids`, which retrieves spaces by their own unique IDs. Optional parameters allow for customizing the fields returned for spaces, users, and topics. |
|
|
38
|
+
| `search_spaces` | Performs a keyword-based search for Twitter Spaces, allowing filters by state (e.g., 'live', 'scheduled'). The function supports customizing the response data by specifying fields for spaces, users, and topics, distinguishing it from methods that find spaces by specific IDs. |
|
|
39
|
+
| `get_space_by_id` | Retrieves detailed information for a single space using its unique ID. Optional parameters allow customizing the response by specifying fields and expansions. Unlike `find_spaces_by_ids`, which fetches multiple spaces, this function targets only one specific space. |
|
|
40
|
+
| `list_space_buyers` | Retrieves a list of users who have purchased tickets for a specific ticketed Space, identified by its ID. This function supports pagination and allows for the customization of user and tweet fields in the API response. |
|
|
41
|
+
| `list_tweets_from_space` | Fetches tweets from a specific Space using its ID. Allows extensive customization of returned data fields (e.g., media, user) and limits results. Unlike `space_buyers`, which retrieves users who purchased tickets, this function returns the actual tweets shared within the Space. |
|
|
42
|
+
| `get_trends_by_woeid` | Fetches trending topics for a specific location identified by its Where On Earth ID (WOEID). It builds and executes an authenticated API request, optionally allowing users to specify which trend-related fields (e.g., 'tweet_count') to include in the returned JSON response. |
|
|
43
|
+
| `find_tweets_by_id` | Fetches detailed information for multiple tweets, specified by a list of their IDs. Optional parameters allow response customization by including specific fields (e.g., media, user, polls) and expansions. This function handles batch lookups, distinguishing it from `find_tweet_by_id` which retrieves a single tweet. |
|
|
44
|
+
| `create_tweet` | Posts a new tweet for an authenticated user, supporting optional parameters like text, media, polls, replies, and quote tweets. This function constructs a POST request to the `/2/tweets` endpoint, enabling the creation of diverse tweet formats with specific visibility and reply settings. |
|
|
45
|
+
| `get_tweets_compliance_stream` | Streams real-time compliance events for tweets, such as deletions and user updates, from a specified partition. Unlike other stream functions that return tweet content, this provides metadata about content and user status changes, supporting optional time-based filtering and backfilling. |
|
|
46
|
+
| `tweet_counts_full_archive_search` | Calculates the number of tweets from the entire historical archive that match a given search query. Results can be aggregated by minute, hour, or day over a specific time range to analyze historical tweet volume trends. |
|
|
47
|
+
| `tweet_counts_recent_search` | Retrieves the total count of tweets from the last seven days matching a specified query. Results can be aggregated by minute, hour, or day and filtered by time range or tweet ID. This function contrasts with `tweet_counts_full_archive_search`, which queries the entire tweet history. |
|
|
48
|
+
| `get_tweets_firehose_stream` | Streams all public tweets in real-time from the Firehose API for a specified partition. This unfiltered feed can be customized with optional parameters to backfill data, define a time window, and specify desired tweet, user, and media fields. |
|
|
49
|
+
| `stream_english_tweets_firehose` | Streams real-time public tweets from the Firehose API, specifically filtered for the English language. Requires a partition number and supports optional parameters to customize the data payload. It is distinct from other language-specific (`_ja`, `_ko`, `_pt`) or the unfiltered `get_tweets_firehose_stream` functions. |
|
|
50
|
+
| `get_tweets_firehose_stream_lang_ja` | Streams real-time tweets specifically in Japanese from the Twitter Firehose API, requiring a partition number. It supports optional parameters for time ranges, backfill, and customizable fields. This method is distinct from other `get_tweets_firehose_stream` variants, which target different languages or the entire stream. |
|
|
51
|
+
| `stream_korean_firehose_tweets` | Streams real-time tweets filtered for the Korean language from the Firehose API. This function allows customization via parameters for partitions, time range, backfill, and specific data fields for tweets, users, and media, distinguishing it from other language-specific stream functions. |
|
|
52
|
+
| `get_tweets_firehose_stream_lang_pt` | Streams real-time tweets in Portuguese from the Firehose API, requiring a partition number. It allows data customization via optional parameters for time ranges and fields, specifically targeting the Portuguese language stream, unlike other general or language-specific firehose functions. |
|
|
53
|
+
| `stream_labeled_tweets` | Streams real-time Tweet objects labeled for compliance reasons, such as withheld content. Unlike `get_tweets_compliance_stream`, which provides events, this returns the actual tweets. Supports filtering by a time window and backfilling missed data upon reconnection. |
|
|
54
|
+
| `sample_stream` | Streams a real-time, random sample of public tweets from the API. It allows data customization through optional field and expansion parameters. This function targets the standard (~1%) sample stream, distinct from `get_tweets_sample_stream` which accesses the partitioned 10% stream. |
|
|
55
|
+
| `get_tweets_sample10_stream` | Streams a 10% random sample of real-time tweets from a specified partition, offering a larger volume than `sample_stream`. It supports optional time-based filtering and customization of returned data for tweets, media, users, and places using field selectors and expansions. |
|
|
56
|
+
| `tweets_fullarchive_search` | Searches the entire historical archive of public Tweets using a specific query. It supports filtering by time range and pagination, allowing customization of returned fields. This differs from `tweets_recent_search`, which only covers the last seven days, and `tweet_counts_full_archive_search`, which returns counts instead of tweet data. |
|
|
57
|
+
| `tweets_recent_search` | Searches for tweets from the past seven days matching a specific query. Allows advanced filtering, pagination, and data expansions to customize results. Unlike `tweet_counts_recent_search`, it returns full tweet objects instead of just a count. |
|
|
58
|
+
| `get_filtered_stream` | Streams real-time tweets matching a user's pre-configured filtering rules from the Twitter API. Unlike `sample_stream` or `get_tweets_firehose_stream`, this provides a targeted feed. Optional parameters can customize returned data fields and specify a time window. |
|
|
59
|
+
| `get_filtered_stream_rules` | Retrieves the active filtering rules for a Twitter API v2 filtered stream. It can fetch all rules or a subset specified by rule IDs, with support for pagination to manage large rule sets, complementing the `add_or_delete_rules` and `search_stream` functions. |
|
|
60
|
+
| `update_stream_rules` | Adds or removes filtering rules for a tweet stream. Supports a dry-run mode to validate rule syntax without application and an option to delete all existing rules. This function directly modifies the active rule set used by the `search_stream` function. |
|
|
61
|
+
| `get_stream_rule_usage` | Retrieves the number of active filtered stream rules for the user's project and app. This helps manage usage against API limits by providing metadata about rule counts, not the number of tweets matching those rules. |
|
|
62
|
+
| `delete_tweet_by_id` | Deletes a specific Tweet, identified by its unique ID, on behalf of the authenticated user. This function permanently removes the targeted Tweet by sending a DELETE request to the API's corresponding endpoint. |
|
|
63
|
+
| `get_tweet_by_id` | Retrieves detailed information for a single Tweet by its unique ID. It supports optional parameters to customize the response by specifying fields for the tweet, user, and media. Unlike `find_tweets_by_id`, which retrieves a batch of tweets, this function fetches exactly one. |
|
|
64
|
+
| `get_tweet_liking_users` | Retrieves a list of users who have liked a specific tweet, identified by its ID. Supports pagination and allows for customization of the returned data fields for users and tweets, including expansions for related objects. |
|
|
65
|
+
| `get_quote_tweets_by_id` | Retrieves a list of tweets that have quoted a specified tweet ID. Supports pagination and allows for response customization by specifying additional data fields for tweets, media, users, polls, and places through various expansion parameters. |
|
|
66
|
+
| `get_retweeting_users_by_tweet_id` | Retrieves a list of users who retweeted a specific tweet, identified by its ID. Supports pagination and allows customizing the response with optional fields. This function returns user objects, unlike `find_tweets_that_retweet_atweet` which returns the actual retweet objects. |
|
|
67
|
+
| `get_retweets_by_id` | Retrieves Tweet objects that are retweets of a specified tweet ID, supporting pagination and data customization. This function returns the actual retweets, distinguishing it from `tweets_id_retweeting_users` which returns the users who retweeted. |
|
|
68
|
+
| `set_reply_visibility` | Updates the visibility of a specific reply tweet. This function sends a PUT request to hide or unhide a reply, identified by its `tweet_id`, based on the provided boolean `hidden` parameter, thus managing its state within a conversation. |
|
|
69
|
+
| `get_usage_tweets` | Fetches Tweet usage data from the `/2/usage/tweets` API endpoint. It allows users to specify the number of days for the report and select specific usage fields to return, providing customized metrics on project consumption. |
|
|
70
|
+
| `get_users_by_ids` | Retrieves detailed information for multiple users in a single API request, specified by a list of their unique IDs. Unlike `find_user_by_id`, which fetches a single user, this function performs a bulk lookup and allows for response customization with optional fields and expansions. |
|
|
71
|
+
| `get_users_by_usernames` | Fetches public data for a batch of users specified by their usernames. This function supports retrieving multiple users in a single request, unlike `find_user_by_username`. It allows for data customization through optional fields and expansions. |
|
|
72
|
+
| `find_user_by_username` | Retrieves detailed information for a single user specified by their username, with options to include additional user, tweet, and expansion fields. This differs from `find_users_by_username`, which fetches data for multiple users in a single request. |
|
|
73
|
+
| `get_users_compliance_stream` | Streams real-time user compliance events, such as account deletions or suspensions, from a specified data partition. Allows for backfilling missed data after a disconnection and filtering the event stream by a specific time range for targeted data retrieval. |
|
|
74
|
+
| `get_authenticated_user` | Retrieves detailed information about the authenticated user making the request. Optional parameters allow for customizing the returned user and tweet data fields and including expanded objects. This differs from other 'find' functions as it requires no ID or username. |
|
|
75
|
+
| `search_users_by_query` | Searches for users matching a specific query string. Supports pagination and allows customizing the response by specifying which user, tweet, and expansion fields to include in the results, providing a flexible way to discover users. |
|
|
76
|
+
| `find_user_by_id` | Retrieves detailed information for a single user specified by their unique ID. This function allows for response customization using optional fields and expansions. It differs from `find_users_by_id`, which fetches data for multiple users in a single request. |
|
|
77
|
+
| `list_blocked_users` | Retrieves a paginated list of users blocked by a specified user ID. The response can be customized by specifying additional fields for users, tweets, and expansions to tailor the returned data objects. |
|
|
78
|
+
| `list_user_bookmarks` | Retrieves a paginated list of tweets bookmarked by a specified user. Allows extensive customization of the response data by specifying tweet, media, user, and place fields, as well as object expansions. |
|
|
79
|
+
| `bookmark_tweet` | Bookmarks a specific tweet for a user. This action adds the tweet, identified by `tweet_id`, to the bookmarks of the user specified by their unique `id`, making a POST request to the bookmarks endpoint. |
|
|
80
|
+
| `remove_bookmark` | Deletes a bookmarked tweet for a specified user. This action requires both the user's ID and the tweet's ID to target the correct bookmark for removal via an API DELETE request. It is the inverse of `post_users_id_bookmarks`. |
|
|
81
|
+
| `get_user_followed_lists` | Retrieves a paginated list of Twitter Lists that a specified user follows. Identified by user ID, this function allows response customization with optional parameters for pagination, expansions, and specific list or user fields to include in the results. |
|
|
82
|
+
| `follow_list` | Causes a specified user to follow a particular Twitter List. It sends a POST request to the `/users/{id}/followed_lists` endpoint with the list's ID. This contrasts with `user_followed_lists`, which retrieves the lists a user already follows, and `list_user_unfollow`, which removes a list. |
|
|
83
|
+
| `unfollow_list` | Causes a user, specified by their ID, to unfollow a particular Twitter List, identified by its list ID. This action sends a DELETE request to the API, removing the follow relationship between the user and the list. |
|
|
84
|
+
| `get_user_followers` | Fetches a paginated list of users who follow a specified user ID. The response can be customized with optional parameters to control the number of results, expand related objects, and specify which user or tweet fields to return. |
|
|
85
|
+
| `get_following_by_user_id` | Retrieves a paginated list of users followed by a specific user ID. The response can be customized by requesting additional user fields, tweet fields, and data expansions to include more detailed information about the followed accounts. |
|
|
86
|
+
| `follow_user` | Causes a source user, specified by `id`, to follow a target user (`target_user_id`). It sends a POST request to the `/2/users/{id}/following` endpoint to create the follow relationship, distinct from `users_id_following` which retrieves a list of followed users. |
|
|
87
|
+
| `get_liked_tweets_by_user` | Fetches a list of tweets liked by a specified user ID. This function supports pagination and allows for extensive customization of the returned data, including expansions and specific fields for tweets, media, users, polls, and places. |
|
|
88
|
+
| `like_tweet` | Causes a user, specified by `id`, to like a tweet, specified by `tweet_id`. This function sends a POST request to add a like, contrasting with `users_id_unlike` which removes a like and `users_id_liked_tweets` which retrieves a list of liked tweets. |
|
|
89
|
+
| `unlike_tweet` | Removes a like from a tweet on behalf of an authenticated user. This function identifies the specific like to be deleted using the user's ID and the tweet's ID, then sends a corresponding DELETE request to the Twitter API. |
|
|
90
|
+
| `get_user_list_memberships` | Retrieves all Twitter Lists of which a specific user is a member. Supports pagination and allows for response customization by specifying which list fields, user fields, and expansions to return, differentiating it from functions that get followed, owned, or pinned lists. |
|
|
91
|
+
| `get_user_mentions` | Retrieves a timeline of tweets mentioning a specified user, identified by their ID. Allows for pagination and filtering by time or tweet ID, with options to customize the returned data fields for tweets, users, media, and other entities. |
|
|
92
|
+
| `get_muted_users` | Retrieves a list of users muted by a specific user, identified by ID. Supports pagination and allows for customizing the returned data, including user fields, expansions, and tweet fields, to tailor the response. |
|
|
93
|
+
| `mute_user` | Mutes a target user on behalf of an authenticated user. This action requires the authenticated user's ID and the target user's ID. It differs from `users_id_unmute` (which unmutes) and `users_id_muting` (which lists muted users) by performing the actual mute operation via POST request. |
|
|
94
|
+
| `get_user_owned_lists` | Retrieves all Twitter Lists owned by a specified user ID. Supports pagination and custom data fields for detailed results. This function fetches lists created by the user, distinguishing it from methods that retrieve lists the user follows (`user_followed_lists`) or has pinned (`list_user_pinned_lists`). |
|
|
95
|
+
| `get_user_pinned_lists` | Retrieves the collection of lists pinned by a specific user, identified by their ID. Optional parameters allow for customizing the returned list and user data fields, and including expansions. This is distinct from fetching lists a user follows or owns. |
|
|
96
|
+
| `pin_list` | Pins a specified list to a user's profile via a POST request, using the user and list IDs. This creates a new pin, differing from `list_user_unpin` which removes a pin and `list_user_pinned_lists` which retrieves all of a user's currently pinned lists. |
|
|
97
|
+
| `unpin_list` | Unpins a specific list from a user's profile, identified by their user ID and the list's ID. This action sends a DELETE request to the API, removing the specified list from the user's collection of pinned lists. |
|
|
98
|
+
| `create_retweet` | Causes a user, identified by `id`, to retweet a specific tweet. This action sends a POST request to the `/2/users/{id}/retweets` endpoint, requiring the `tweet_id` of the tweet to be retweeted. It is the opposite of the `users_id_unretweets` function, which deletes a retweet. |
|
|
99
|
+
| `delete_retweet` | Removes a retweet for a specified user by sending a DELETE request to the Twitter API. It requires the user's ID and the ID of the original tweet that was retweeted to successfully undo the action. |
|
|
100
|
+
| `get_user_tweet_timeline` | Retrieves tweets from a user's timeline in reverse chronological order. Supports filtering by time or tweet ID, pagination, and excluding replies or retweets. Optional parameters allow for expanding returned data with additional tweet, user, and media fields. |
|
|
101
|
+
| `get_tweets_by_user_id` | Retrieves tweets authored by a specific user, identified by their ID. Supports pagination and filtering by time range, allowing response customization to exclude replies or retweets. This fetches tweets composed by the user, unlike the more general `users_id_timeline` function which includes retweets. |
|
|
102
|
+
| `unfollow_user` | Causes a specified user (`source_user_id`) to unfollow another user (`target_user_id`). This function sends a DELETE API request to remove the follow relationship, requiring both user IDs to successfully complete the action. |
|
|
103
|
+
| `unmute_user` | Allows an authenticated user (source) to unmute another user (target). This action removes the specified target user from the source user's mute list, reversing a previous mute action. |
|
|
@@ -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. |
|
|
@@ -31,7 +31,7 @@ class UnipileApp(APIApplication):
|
|
|
31
31
|
@property
|
|
32
32
|
def base_url(self) -> str:
|
|
33
33
|
"""
|
|
34
|
-
A property that lazily constructs and caches the Unipile API base URL
|
|
34
|
+
A property that lazily constructs and caches the Unipile API base URL from 'subdomain' and 'port' credentials. Built on first access and used by all API methods, it raises a ValueError if credentials are missing. This is the default construction, unlike the setter which allows manual override.
|
|
35
35
|
"""
|
|
36
36
|
if not self._base_url:
|
|
37
37
|
credentials = self.integration.get_credentials()
|
|
@@ -50,7 +50,7 @@ class UnipileApp(APIApplication):
|
|
|
50
50
|
@base_url.setter
|
|
51
51
|
def base_url(self, base_url: str) -> None:
|
|
52
52
|
"""
|
|
53
|
-
Sets or overrides the
|
|
53
|
+
Sets or overrides the Unipile API's base URL. This setter allows manually changing the endpoint, bypassing the default URL that is dynamically constructed from integration credentials. It is primarily intended for testing against different environments or for custom deployments.
|
|
54
54
|
|
|
55
55
|
Args:
|
|
56
56
|
base_url: The new base URL to set.
|
|
@@ -154,7 +154,7 @@ class UnipileApp(APIApplication):
|
|
|
154
154
|
sender_id: str | None = None,
|
|
155
155
|
) -> dict[str, Any]:
|
|
156
156
|
"""
|
|
157
|
-
Retrieves messages from a specific chat identified by `chat_id`.
|
|
157
|
+
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.
|
|
158
158
|
|
|
159
159
|
Args:
|
|
160
160
|
chat_id: The ID of the chat to retrieve messages from.
|
|
@@ -195,7 +195,7 @@ class UnipileApp(APIApplication):
|
|
|
195
195
|
text: str,
|
|
196
196
|
) -> dict[str, Any]:
|
|
197
197
|
"""
|
|
198
|
-
Sends a text message to a specific chat
|
|
198
|
+
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.
|
|
199
199
|
|
|
200
200
|
Args:
|
|
201
201
|
chat_id: The ID of the chat where the message will be sent.
|
|
@@ -221,7 +221,7 @@ class UnipileApp(APIApplication):
|
|
|
221
221
|
self, chat_id: str, account_id: str | None = None
|
|
222
222
|
) -> dict[str, Any]:
|
|
223
223
|
"""
|
|
224
|
-
Retrieves a single chat
|
|
224
|
+
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.
|
|
225
225
|
|
|
226
226
|
Args:
|
|
227
227
|
chat_id: The Unipile or provider ID of the chat.
|
|
@@ -327,7 +327,7 @@ class UnipileApp(APIApplication):
|
|
|
327
327
|
account_id: str,
|
|
328
328
|
) -> dict[str, Any]:
|
|
329
329
|
"""
|
|
330
|
-
Retrieves
|
|
330
|
+
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.
|
|
331
331
|
|
|
332
332
|
Args:
|
|
333
333
|
account_id: The ID of the account to retrieve.
|
|
@@ -354,7 +354,7 @@ class UnipileApp(APIApplication):
|
|
|
354
354
|
is_company: bool | None = None,
|
|
355
355
|
) -> dict[str, Any]:
|
|
356
356
|
"""
|
|
357
|
-
Retrieves a paginated list of posts from a specific user or company profile using their provider ID.
|
|
357
|
+
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.
|
|
358
358
|
|
|
359
359
|
Args:
|
|
360
360
|
identifier: The entity's provider internal ID (LinkedIn ID).
|
|
@@ -389,7 +389,7 @@ class UnipileApp(APIApplication):
|
|
|
389
389
|
account_id: str,
|
|
390
390
|
) -> dict[str, Any]:
|
|
391
391
|
"""
|
|
392
|
-
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
|
|
392
|
+
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.
|
|
393
393
|
|
|
394
394
|
Args:
|
|
395
395
|
account_id: The ID of the Unipile account to use for retrieving the profile (REQUIRED).
|
|
@@ -414,7 +414,7 @@ class UnipileApp(APIApplication):
|
|
|
414
414
|
account_id: str,
|
|
415
415
|
) -> dict[str, Any]:
|
|
416
416
|
"""
|
|
417
|
-
Fetches
|
|
417
|
+
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.
|
|
418
418
|
|
|
419
419
|
Args:
|
|
420
420
|
post_id: The ID of the post to retrieve.
|
|
@@ -443,7 +443,7 @@ class UnipileApp(APIApplication):
|
|
|
443
443
|
limit: int | None = None,
|
|
444
444
|
) -> dict[str, Any]:
|
|
445
445
|
"""
|
|
446
|
-
Fetches comments for a specific post.
|
|
446
|
+
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'.
|
|
447
447
|
|
|
448
448
|
Args:
|
|
449
449
|
post_id: The social ID of the post.
|
|
@@ -481,7 +481,7 @@ class UnipileApp(APIApplication):
|
|
|
481
481
|
external_link: str | None = None,
|
|
482
482
|
) -> dict[str, Any]:
|
|
483
483
|
"""
|
|
484
|
-
Publishes a new post
|
|
484
|
+
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.
|
|
485
485
|
|
|
486
486
|
Args:
|
|
487
487
|
account_id: The ID of the Unipile account that will author the post (added as query parameter).
|
|
@@ -523,7 +523,7 @@ class UnipileApp(APIApplication):
|
|
|
523
523
|
limit: int | None = None,
|
|
524
524
|
) -> dict[str, Any]:
|
|
525
525
|
"""
|
|
526
|
-
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 `
|
|
526
|
+
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.
|
|
527
527
|
|
|
528
528
|
Args:
|
|
529
529
|
post_id: The social ID of the post.
|
|
@@ -613,7 +613,7 @@ class UnipileApp(APIApplication):
|
|
|
613
613
|
comment_id: str | None = None,
|
|
614
614
|
) -> dict[str, Any]:
|
|
615
615
|
"""
|
|
616
|
-
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 `
|
|
616
|
+
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.
|
|
617
617
|
|
|
618
618
|
Args:
|
|
619
619
|
post_social_id: The social ID of the post or comment to react to.
|
|
@@ -784,7 +784,7 @@ class UnipileApp(APIApplication):
|
|
|
784
784
|
account_id: str,
|
|
785
785
|
) -> dict[str, Any]:
|
|
786
786
|
"""
|
|
787
|
-
Retrieves a specific LinkedIn user's profile using their public or internal ID
|
|
787
|
+
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.
|
|
788
788
|
|
|
789
789
|
Args:
|
|
790
790
|
identifier: Can be the provider's internal id OR the provider's public id of the requested user.For example, for https://www.linkedin.com/in/manojbajaj95/, the identifier is "manojbajaj95".
|
|
@@ -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. |
|