universal-mcp-applications 0.1.25__py3-none-any.whl → 0.1.32__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.
@@ -11,7 +11,7 @@ class GoogleDocsApp(APIApplication):
11
11
 
12
12
  def create_document(self, title: str) -> dict[str, Any]:
13
13
  """
14
- Creates a blank Google Document with a specified title by sending a POST request to the Google Docs API. The function returns a dictionary containing the new document's metadata, including the unique document ID required by other functions for subsequent modifications or retrieval.
14
+ Creates a blank Google Document with a specified title by sending a POST request to the Google Docs API. The function returns a dictionary containing the new document's metadata, including the unique document ID required by other functions for subsequent modifications or retrieval. Note that you need to call other google_docs functions (e.g. `google_docs__insert_text`) to actually add content after creating the document.
15
15
 
16
16
  Args:
17
17
  title: The title for the new Google Document to be created.
@@ -30,7 +30,11 @@ class GoogleDocsApp(APIApplication):
30
30
  document_data = {"title": title}
31
31
  response = self._post(url, data=document_data)
32
32
  response.raise_for_status()
33
- return response.json()
33
+ payload = response.json()
34
+ payload["Note"] = (
35
+ "You must load and call other google docs content functions (like google_docs__insert_text)"
36
+ )
37
+ return payload
34
38
 
35
39
  def get_document(self, document_id: str) -> dict[str, Any]:
36
40
  """
@@ -62,9 +62,9 @@ class GoogleGeminiApp(APIApplication):
62
62
  async def generate_image(
63
63
  self,
64
64
  prompt: Annotated[str, "The prompt to generate image from"],
65
- images: Annotated[list[str], "The reference images path"] | None = None,
65
+ images: Annotated[list[str], "The reference image URLs"] | None = None,
66
66
  model: str = "gemini-2.5-flash-image-preview",
67
- ) -> list:
67
+ ) -> dict:
68
68
  """
69
69
  Generates an image based on a text prompt and an optional reference image using the Google Gemini model.
70
70
  This tool is ideal for creating visual content or modifying existing images based on natural language descriptions.
@@ -72,7 +72,7 @@ class GoogleGeminiApp(APIApplication):
72
72
 
73
73
  Args:
74
74
  prompt (str): The descriptive text prompt to guide the image generation. For example: "A futuristic city at sunset with flying cars."
75
- images (list[str], optional): An optional list of URL to a reference image. These images will be used as a basis for the generation.
75
+ images (list[str], optional): An optional list of URLs to reference images. These images will be used as a basis for the generation.
76
76
  model (str, optional): The Gemini model to use for image generation. Defaults to "gemini-2.5-flash-image-preview".
77
77
 
78
78
  Returns:
@@ -21,7 +21,7 @@ class GoogleSheetApp(APIApplication):
21
21
 
22
22
  def create_spreadsheet(self, title: str) -> dict[str, Any]:
23
23
  """
24
- Creates a new, blank Google Spreadsheet file with a specified title. This function generates a completely new document, unlike `add_sheet` which adds a worksheet (tab) to an existing spreadsheet. It returns the API response containing the new spreadsheet's metadata.
24
+ Creates a new, blank Google Spreadsheet file with a specified title. This function generates a completely new document, unlike `add_sheet` which adds a worksheet (tab) to an existing spreadsheet. It returns the API response containing the new spreadsheet's metadata. Note that you need to call other google_sheet functions (e.g. `google_sheet__write_values_to_sheet`) to actually add content after creating the spreadsheet.
25
25
 
26
26
  Args:
27
27
  title: String representing the desired title for the new spreadsheet
@@ -39,7 +39,11 @@ class GoogleSheetApp(APIApplication):
39
39
  url = self.base_url
40
40
  spreadsheet_data = {"properties": {"title": title}}
41
41
  response = self._post(url, data=spreadsheet_data)
42
- return self._handle_response(response)
42
+ payload = self._handle_response(response)
43
+ payload["Note"] = (
44
+ "You must load and call other google_sheet content functions (like `google_sheet__write_values_to_sheet`)"
45
+ )
46
+ return payload
43
47
 
44
48
  def get_spreadsheet_metadata(self, spreadsheetId: str) -> dict[str, Any]:
45
49
  """
@@ -9,7 +9,19 @@ This is automatically generated from OpenAPI schema for the LinkedinApp API.
9
9
 
10
10
  | Tool | Description |
11
11
  |------|-------------|
12
- | `create_post` | Publishes a new text post to a specified LinkedIn author's feed (person or organization). It allows configuring visibility, distribution, and lifecycle state. Upon success, it returns the unique URN and URL for the new post, distinguishing this creation operation from the update or delete functions. |
13
- | `get_authenticated_user_profile` | Retrieves the authenticated user's profile from the LinkedIn `/v2/userinfo` endpoint. Using credentials from the active integration, it returns a dictionary with basic user details like name and email. This function is for fetching user data, distinct from others that create, update, or delete posts. |
14
- | `delete_post` | Deletes a LinkedIn post identified by its unique Uniform Resource Name (URN). This function sends a DELETE request to the API, permanently removing the content. Upon a successful HTTP 204 response, it returns a dictionary confirming the post's deletion status. |
15
- | `update_post` | Modifies an existing LinkedIn post, identified by its URN, by performing a partial update. It selectively changes attributes like commentary or ad context, distinguishing it from `create_post` which creates new content. Returns a confirmation dictionary upon successful completion. |
12
+ | `list_all_chats` | Retrieves a paginated list of all chat conversations across linked accounts. Supports filtering by unread status, date range, and account provider, 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. 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. Unlike `list_chat_messages` which targets a specific conversation, this function provides a global message view, filterable by sender 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
+ | `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. |
19
+ | `retrieve_own_profile` | Retrieves the profile details for the user associated with the Unipile account. 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. |
20
+ | `retrieve_user_profile` | Retrieves a specific LinkedIn user's profile using their public or internal 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. |
21
+ | `retrieve_post` | Fetches a specific post's details by its unique ID. 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. |
22
+ | `list_post_comments` | Fetches comments for a specific post. 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'. |
23
+ | `create_post` | Publishes a new top-level post from the 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. |
24
+ | `list_content_reactions` | Retrieves a paginated list of reactions for a given post or, optionally, a specific comment. This read-only operation uses the account for the request, distinguishing it from the `create_reaction` function which adds new reactions. |
25
+ | `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. |
26
+ | `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. |
27
+ | `search` | Performs a comprehensive LinkedIn search for people, companies, posts, or jobs using keywords. |