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.

Files changed (88) hide show
  1. universal_mcp/applications/ahrefs/README.md +3 -3
  2. universal_mcp/applications/airtable/README.md +3 -3
  3. universal_mcp/applications/asana/README.md +3 -3
  4. universal_mcp/applications/aws_s3/README.md +29 -0
  5. universal_mcp/applications/bill/README.md +249 -0
  6. universal_mcp/applications/calendly/README.md +45 -45
  7. universal_mcp/applications/canva/README.md +35 -35
  8. universal_mcp/applications/clickup/README.md +4 -4
  9. universal_mcp/applications/contentful/README.md +1 -2
  10. universal_mcp/applications/crustdata/README.md +3 -3
  11. universal_mcp/applications/domain_checker/README.md +2 -2
  12. universal_mcp/applications/e2b/README.md +4 -4
  13. universal_mcp/applications/elevenlabs/README.md +3 -77
  14. universal_mcp/applications/exa/README.md +7 -7
  15. universal_mcp/applications/falai/README.md +13 -12
  16. universal_mcp/applications/falai/app.py +6 -6
  17. universal_mcp/applications/figma/README.md +3 -3
  18. universal_mcp/applications/file_system/README.md +13 -0
  19. universal_mcp/applications/firecrawl/README.md +9 -9
  20. universal_mcp/applications/firecrawl/app.py +10 -10
  21. universal_mcp/applications/fireflies/README.md +14 -14
  22. universal_mcp/applications/fpl/README.md +12 -12
  23. universal_mcp/applications/fpl/app.py +5 -5
  24. universal_mcp/applications/github/README.md +10 -10
  25. universal_mcp/applications/github/app.py +9 -9
  26. universal_mcp/applications/google_calendar/README.md +10 -10
  27. universal_mcp/applications/google_calendar/app.py +10 -10
  28. universal_mcp/applications/google_docs/README.md +14 -14
  29. universal_mcp/applications/google_docs/app.py +12 -12
  30. universal_mcp/applications/google_drive/README.md +54 -57
  31. universal_mcp/applications/google_drive/app.py +38 -38
  32. universal_mcp/applications/google_gemini/README.md +3 -14
  33. universal_mcp/applications/google_gemini/app.py +13 -12
  34. universal_mcp/applications/google_mail/README.md +20 -20
  35. universal_mcp/applications/google_mail/app.py +19 -19
  36. universal_mcp/applications/google_searchconsole/README.md +10 -10
  37. universal_mcp/applications/google_searchconsole/app.py +8 -8
  38. universal_mcp/applications/google_sheet/README.md +25 -25
  39. universal_mcp/applications/google_sheet/app.py +20 -20
  40. universal_mcp/applications/http_tools/README.md +5 -5
  41. universal_mcp/applications/hubspot/__init__.py +1 -1
  42. universal_mcp/applications/hubspot/api_segments/__init__.py +0 -0
  43. universal_mcp/applications/hubspot/api_segments/api_segment_base.py +25 -0
  44. universal_mcp/applications/hubspot/api_segments/crm_api.py +7337 -0
  45. universal_mcp/applications/hubspot/api_segments/marketing_api.py +1467 -0
  46. universal_mcp/applications/hubspot/app.py +74 -146
  47. universal_mcp/applications/klaviyo/README.md +0 -36
  48. universal_mcp/applications/linkedin/README.md +4 -4
  49. universal_mcp/applications/linkedin/app.py +4 -4
  50. universal_mcp/applications/mailchimp/README.md +3 -3
  51. universal_mcp/applications/ms_teams/README.md +31 -31
  52. universal_mcp/applications/ms_teams/app.py +28 -28
  53. universal_mcp/applications/neon/README.md +3 -3
  54. universal_mcp/applications/openai/README.md +18 -17
  55. universal_mcp/applications/outlook/README.md +9 -9
  56. universal_mcp/applications/outlook/app.py +9 -9
  57. universal_mcp/applications/perplexity/README.md +4 -4
  58. universal_mcp/applications/posthog/README.md +128 -127
  59. universal_mcp/applications/reddit/README.md +21 -124
  60. universal_mcp/applications/reddit/app.py +90 -89
  61. universal_mcp/applications/replicate/README.md +10 -10
  62. universal_mcp/applications/resend/README.md +29 -29
  63. universal_mcp/applications/scraper/README.md +4 -4
  64. universal_mcp/applications/scraper/app.py +31 -31
  65. universal_mcp/applications/semrush/README.md +3 -0
  66. universal_mcp/applications/serpapi/README.md +3 -3
  67. universal_mcp/applications/sharepoint/README.md +17 -0
  68. universal_mcp/applications/sharepoint/app.py +7 -7
  69. universal_mcp/applications/shortcut/README.md +3 -3
  70. universal_mcp/applications/slack/README.md +23 -0
  71. universal_mcp/applications/spotify/README.md +3 -3
  72. universal_mcp/applications/supabase/README.md +3 -3
  73. universal_mcp/applications/tavily/README.md +4 -4
  74. universal_mcp/applications/twilio/README.md +15 -0
  75. universal_mcp/applications/twitter/README.md +92 -89
  76. universal_mcp/applications/twitter/app.py +11 -11
  77. universal_mcp/applications/unipile/README.md +17 -17
  78. universal_mcp/applications/unipile/app.py +14 -14
  79. universal_mcp/applications/whatsapp/README.md +12 -12
  80. universal_mcp/applications/whatsapp/app.py +13 -13
  81. universal_mcp/applications/whatsapp_business/README.md +23 -23
  82. universal_mcp/applications/youtube/README.md +46 -46
  83. universal_mcp/applications/youtube/app.py +7 -1
  84. universal_mcp/applications/zenquotes/README.md +1 -1
  85. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.19.dist-info}/METADATA +2 -89
  86. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.19.dist-info}/RECORD +88 -83
  87. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.19.dist-info}/WHEEL +0 -0
  88. {universal_mcp_applications-0.1.17.dist-info → universal_mcp_applications-0.1.19.dist-info}/licenses/LICENSE +0 -0
@@ -24,7 +24,7 @@ class GoogleMailApp(APIApplication):
24
24
  thread_id: str | None = None,
25
25
  ) -> dict[str, Any]:
26
26
  """
27
- Composes and immediately sends an email message via the Gmail API. It can function as a reply within an existing conversation if a `thread_id` is provided. This action is distinct from `send_draft`, which sends a previously saved draft message.
27
+ Composes and immediately sends an email message via the Gmail API. It can function as a reply within an existing conversation if a `thread_id` is provided. This action is distinct from `send_draft`, which sends a previously saved draft message, or `create_draft`, which only saves an email.
28
28
 
29
29
  Args:
30
30
  to: The email address of the recipient
@@ -79,7 +79,7 @@ class GoogleMailApp(APIApplication):
79
79
  thread_id: str | None = None,
80
80
  ) -> dict[str, Any]:
81
81
  """
82
- Saves a new draft email in Gmail with a specified recipient, subject, and body. An optional thread ID can be provided to create the draft as a reply within an existing conversation, distinguishing it from `send_email` which sends immediately.
82
+ Saves a new email draft in Gmail with a specified recipient, subject, and body. An optional thread ID can create the draft as a reply within an existing conversation, distinguishing it from `send_email`, which sends immediately.
83
83
 
84
84
  Args:
85
85
  to: The email address of the recipient
@@ -118,7 +118,7 @@ class GoogleMailApp(APIApplication):
118
118
 
119
119
  def send_draft(self, draft_id: str) -> dict[str, Any]:
120
120
  """
121
- Sends a pre-existing Gmail draft identified by its unique ID. It posts to the `/drafts/send` endpoint, converting a saved draft into a sent message. This function acts on drafts created via `create_draft` and differs from `send_email`, which sends a new email in one step.
121
+ Sends a pre-existing Gmail draft identified by its unique ID. It posts to the `/drafts/send` endpoint, converting a saved draft into a sent message. This function acts on drafts from `create_draft` and differs from `send_email`, which composes and sends an email in one step.
122
122
 
123
123
  Args:
124
124
  draft_id: The unique identifier of the Gmail draft to be sent
@@ -183,7 +183,7 @@ class GoogleMailApp(APIApplication):
183
183
  include_spam_trash: bool = False,
184
184
  ) -> dict[str, Any]:
185
185
  """
186
- Retrieves a list of email drafts from a Gmail account, supporting filtering via search query and limiting results. Can optionally include drafts from spam and trash, returning the raw API response with draft objects and metadata, distinguishing it from `get_draft` which fetches a single, specific draft.
186
+ Fetches a list of email drafts, allowing filtering by a search query and limiting results. It can optionally include drafts from spam and trash, returning a collection of draft objects. This is distinct from `get_draft`, which retrieves only a single, specific draft by its ID.
187
187
 
188
188
  Args:
189
189
  max_results: Maximum number of drafts to return (max 500, default 20)
@@ -221,7 +221,7 @@ class GoogleMailApp(APIApplication):
221
221
 
222
222
  def get_message_details(self, message_id: str) -> dict[str, Any]:
223
223
  """
224
- Retrieves a specific email from Gmail by its ID. It parses the API response to extract and format key details—including sender, recipient, subject, and full body content—into a structured dictionary. This provides detailed data for other functions like `list_messages`.
224
+ Retrieves a specific email from Gmail by its ID. It parses the API response to extract and format key details—including sender, subject, body, and attachments—into a structured dictionary. This function provides detailed data for a single message, distinguishing it from `list_messages` which fetches multiple messages.
225
225
 
226
226
  Args:
227
227
  message_id: The unique identifier of the Gmail message to retrieve
@@ -387,7 +387,7 @@ class GoogleMailApp(APIApplication):
387
387
  page_token: str | None = None,
388
388
  ) -> dict[str, Any]:
389
389
  """
390
- Fetches a paginated list of detailed email messages from Gmail using optional search queries. It concurrently retrieves the full content (sender, subject, body) for each message, returning the results and a token to access the next page. This differs from `get_message_details` which fetches only one.
390
+ Fetches a paginated list of detailed email messages using optional search queries. It concurrently retrieves full content (sender, subject, body) for each message, returning the results and a pagination token. This differs from `get_message_details`, which fetches only a single message.
391
391
 
392
392
  Args:
393
393
  max_results: Maximum number of messages to return (max 500, default 20)
@@ -471,7 +471,7 @@ class GoogleMailApp(APIApplication):
471
471
 
472
472
  def get_email_thread(self, thread_id: str) -> dict[str, Any]:
473
473
  """
474
- Retrieves a complete email conversation from the Gmail API by its thread ID. It returns a dictionary containing all messages and metadata for the entire thread, providing the full context of the conversation.
474
+ Fetches a complete email conversation by its unique thread ID. Unlike `get_message_details`, which retrieves a single message, this returns all messages and metadata for the entire thread, providing the full context of the conversation.
475
475
 
476
476
  Args:
477
477
  thread_id: The unique identifier of the Gmail thread to retrieve
@@ -494,7 +494,7 @@ class GoogleMailApp(APIApplication):
494
494
 
495
495
  def list_labels(self) -> dict[str, Any]:
496
496
  """
497
- Fetches a complete list of all available labels from the user's Gmail account via the API. This includes both system-defined (e.g., INBOX) and user-created labels, returning details such as their names, IDs, and types after standard response handling.
497
+ Fetches a complete list of all available labels from the user's Gmail account via the API. It retrieves both system-defined (e.g., INBOX) and user-created labels, returning their names and IDs, complementing management functions like `create_label` and `update_label`.
498
498
 
499
499
  Args:
500
500
  None: This method takes no arguments
@@ -520,7 +520,7 @@ class GoogleMailApp(APIApplication):
520
520
 
521
521
  def create_label(self, name: str) -> dict[str, Any]:
522
522
  """
523
- Creates a new Gmail label with a specified name. The function hardcodes the label's visibility settings to ensure it appears in both the label and message lists. It returns the API response, which includes the new label's details upon success or an error message on failure.
523
+ Creates a new Gmail label with a specified name, hardcoding its visibility to ensure it appears in both label and message lists. This function complements `update_label` and `delete_label` by adding new organizational tags to the user's account via the API.
524
524
 
525
525
  Args:
526
526
  name: The display name of the label to create
@@ -594,7 +594,7 @@ class GoogleMailApp(APIApplication):
594
594
  message=None,
595
595
  ) -> dict[str, Any]:
596
596
  """
597
- Updates a specific Gmail draft by its ID, replacing its existing content and metadata. The new message body and headers are provided in a message object, allowing for complete modification of the draft before it is sent.
597
+ Replaces the entire content of a specific Gmail draft, identified by its ID, with a new message object. This allows complete modification of the recipient, subject, and body, serving as the primary "edit" function for drafts created via `create_draft`.
598
598
 
599
599
  Args:
600
600
  userId (string): userId
@@ -713,7 +713,7 @@ class GoogleMailApp(APIApplication):
713
713
  xgafv=None,
714
714
  ) -> dict[str, Any]:
715
715
  """
716
- Moves a specific Gmail message to the trash folder using its unique ID. This action serves as a soft delete and is the direct counterpart to `untrash_messages`, which restores a trashed message. It requires both a user ID and message ID to execute.
716
+ Moves a specific Gmail message to the trash folder by its unique ID. This action performs a soft delete and is the direct counterpart to `untrash_message`, which restores a message. It requires both a user ID and the specific message ID to make the API call.
717
717
 
718
718
  Args:
719
719
  userId (string): userId
@@ -779,7 +779,7 @@ class GoogleMailApp(APIApplication):
779
779
  xgafv=None,
780
780
  ) -> dict[str, Any]:
781
781
  """
782
- Restores a specific Gmail message from the trash to the user's mailbox, identified by its unique ID. It serves as the direct counterpart to `trash_messsages`, undoing the deletion action and making the message visible again in the user's account via an API call.
782
+ Restores a specific Gmail message from the trash to the user's mailbox, identified by its unique ID. It serves as the direct counterpart to `trash_message`, undoing the deletion action and making the message visible again in the user's account via an API call.
783
783
 
784
784
  Args:
785
785
  userId (string): userId
@@ -846,7 +846,7 @@ class GoogleMailApp(APIApplication):
846
846
  xgafv=None,
847
847
  ) -> dict[str, Any]:
848
848
  """
849
- Retrieves a specific email attachment's content by its unique ID from a specified message. It requires the user, message, and attachment IDs to make a targeted API request, returning the attachment's size and base64-encoded data.
849
+ Fetches the raw, base64-encoded content of a specific email attachment using its unique ID. It requires the parent message and user IDs for a targeted API request, returning the file's size and data for download or processing, unlike functions that only list attachment metadata.
850
850
 
851
851
  Args:
852
852
  userId (string): userId
@@ -924,7 +924,7 @@ class GoogleMailApp(APIApplication):
924
924
  type=None,
925
925
  ) -> dict[str, Any]:
926
926
  """
927
- Updates an existing Gmail label's properties, such as its name, color, or visibility, using its unique ID. It sends a PUT request to the Gmail API and returns the full, updated label resource as a dictionary upon successful modification.
927
+ Updates an existing Gmail label's properties, such as its name, color, or visibility, using its unique ID. This modification function is distinct from `create_label` and `delete_label`, returning the full, updated label resource from the API upon successful completion.
928
928
 
929
929
  Args:
930
930
  userId (string): userId
@@ -1030,7 +1030,7 @@ class GoogleMailApp(APIApplication):
1030
1030
  xgafv=None,
1031
1031
  ) -> Any:
1032
1032
  """
1033
- Permanently removes a specific Gmail label from a user's account, identified by its unique ID. This function performs an irreversible deletion via an API call, requiring both the `userId` and the label `id`. It is the destructive counterpart to `create_label` and `update_labels`.
1033
+ Permanently removes a specific Gmail label from a user's account, identified by its unique ID. This function performs an irreversible deletion via an API call, requiring both the `userId` and the label `id`. It is the destructive counterpart to `create_label` and `update_label`.
1034
1034
 
1035
1035
  Args:
1036
1036
  userId (string): userId
@@ -1096,7 +1096,7 @@ class GoogleMailApp(APIApplication):
1096
1096
  xgafv=None,
1097
1097
  ) -> dict[str, Any]:
1098
1098
  """
1099
- Fetches the configuration for a single Gmail filter using its unique ID. It returns the specific criteria (e.g., from, subject) and the automated actions (e.g., add label, archive) defined for that filter.
1099
+ Fetches a single Gmail filter's configuration by its unique ID for a specified user. It returns the filter’s criteria (e.g., sender) and actions (e.g., add label). This differs from `get_all_filters`, which retrieves a complete list of all filters for the user.
1100
1100
 
1101
1101
  Args:
1102
1102
  userId (string): userId
@@ -1162,7 +1162,7 @@ class GoogleMailApp(APIApplication):
1162
1162
  xgafv=None,
1163
1163
  ) -> Any:
1164
1164
  """
1165
- Deletes a specific Gmail filter using its unique ID for a specified user account. This action permanently removes the filter and its associated automation rules, such as applying labels or forwarding messages, from the user's Gmail settings.
1165
+ Permanently removes a specific Gmail filter, identified by its unique ID, from a user's account. This action deletes the filter's criteria and all associated automation rules, making it the destructive counterpart to `create_filter` and `get_filter`.
1166
1166
 
1167
1167
  Args:
1168
1168
  userId (string): userId
@@ -1227,7 +1227,7 @@ class GoogleMailApp(APIApplication):
1227
1227
  xgafv=None,
1228
1228
  ) -> dict[str, Any]:
1229
1229
  """
1230
- Retrieves all configured email filters for a specified Gmail user ID. It fetches a list of a user's filters, including their matching criteria and automated actions, providing a comprehensive overview of their email organization rules via the Gmail API.
1230
+ Retrieves all configured email filters for a specified Gmail user ID. It fetches a list of a user's filters, including their matching criteria and automated actions, distinguishing it from `get_filter`, which retrieves only a single filter.
1231
1231
 
1232
1232
  Args:
1233
1233
  userId (string): userId
@@ -1292,7 +1292,7 @@ class GoogleMailApp(APIApplication):
1292
1292
  id=None,
1293
1293
  ) -> dict[str, Any]:
1294
1294
  """
1295
- Sets up a new automated email filter in Gmail. It requires defining matching criteria (like sender or subject) and an action (like adding a label) to apply to emails that meet those criteria for a specified user account.
1295
+ Creates a new automated email filter in Gmail for a specified user. It requires defining matching criteria (e.g., sender, subject) and an action (e.g., add label). This function adds new rules, distinguishing it from `get_all_filters` and `delete_filter` which manage existing ones.
1296
1296
 
1297
1297
  Args:
1298
1298
  userId (string): userId
@@ -9,13 +9,13 @@ This is automatically generated from OpenAPI schema for the GoogleSearchconsoleA
9
9
 
10
10
  | Tool | Description |
11
11
  |------|-------------|
12
- | `get_sitemap` | Retrieves information about a specific sitemap. |
13
- | `list_sitemaps` | Lists the sitemaps-entries submitted for this site, or included in the sitemap index file |
14
- | `submit_sitemap` | Submits a sitemap for a site. Typically returns HTTP 204 No Content on success. |
15
- | `delete_sitemap` | Deletes a sitemap from this site. Typically returns HTTP 204 No Content on success. |
16
- | `get_site` | Retrieves information about a specific site. |
17
- | `list_sites` | Lists the user's Search Console sites. |
18
- | `add_site` | Adds a site to the set of the user's sites in Search Console. |
19
- | `delete_site` | Removes a site from the set of the user's Search Console sites. |
20
- | `index_inspect_url` | Inspects a URL in Google Index and provides information about its status. |
21
- | `query_search_analytics` | Queries your search traffic data with filters and parameters that you define. |
12
+ | `get_sitemap` | Retrieves detailed information for a single sitemap from a specified Google Search Console property. Unlike `list_sitemaps` which fetches all sitemaps, this function targets one sitemap by its URL (`feedpath`) to return its resource details, including status and last processed date. |
13
+ | `list_sitemaps` | Retrieves a list of sitemaps for a specific site property. It can optionally list sitemaps contained within a specified sitemap index file. This function contrasts with `get_sitemap`, which fetches details for only a single, specified sitemap rather than a collection. |
14
+ | `submit_sitemap` | Submits a sitemap to a specified Google Search Console property using its URL (feedpath). It notifies Google to crawl the sitemap's location, complementing other sitemap management functions (`list_sitemaps`, `delete_sitemap`) by adding or updating a sitemap's registration for a given site. |
15
+ | `delete_sitemap` | Deletes a specific sitemap from a Google Search Console property using its URL (`feedpath`). This function is distinct from `delete_site`, which removes the entire site property, not just a single sitemap file. It issues an HTTP DELETE request to the specified API endpoint. |
16
+ | `get_site` | Retrieves detailed information for a specific site property from Google Search Console using its URL. Unlike `list_sites`, which fetches all properties associated with the user's account, this function targets and returns the resource for a single, known site. |
17
+ | `list_sites` | Retrieves all websites and domain properties the authenticated user manages in Google Search Console. While `get_site` fetches a single, specific property, this function returns a comprehensive list of all sites linked to the user's account, providing a complete overview of managed properties. |
18
+ | `add_site` | Adds a site property to the user's Google Search Console account using its URL. This action requires subsequent ownership verification. Unlike `list_sites`, which only retrieves existing properties, this function creates a new entry and returns the corresponding site resource upon successful creation. |
19
+ | `delete_site` | Removes a website property from the user's Google Search Console account using its URL. Unlike `delete_sitemap`, which only targets a sitemap file, this function deletes the entire site property, revoking management access and removing it from the user's list of managed sites. |
20
+ | `inspect_url` | Retrieves the Google Index status for a specified URL within a given Search Console property. This function queries the URL Inspection API to return detailed information about how Google sees the page, including its indexing eligibility and any detected issues. |
21
+ | `query_search_analytics` | Queries and retrieves search traffic data for a specified site within a given date range. Supports advanced filtering, grouping by various dimensions (e.g., query, page, device), and aggregation to customize the analytics report from the Google Search Console API. |
@@ -16,7 +16,7 @@ class GoogleSearchconsoleApp(APIApplication):
16
16
 
17
17
  def delete_sitemap(self, siteUrl: str, feedpath: str) -> None:
18
18
  """
19
- Deletes a sitemap from a specified Google Search Console property. It targets the sitemap using the site's URL and the sitemap's `feedpath`, then issues an HTTP DELETE request. This action is distinct from `delete_site`, which removes the entire property, not just a sitemap.
19
+ Deletes a specific sitemap from a Google Search Console property using its URL (`feedpath`). This function is distinct from `delete_site`, which removes the entire site property, not just a single sitemap file. It issues an HTTP DELETE request to the specified API endpoint.
20
20
 
21
21
  Args:
22
22
  siteUrl (str): The site's URL, including protocol (e.g. 'http://www.example.com/').
@@ -38,7 +38,7 @@ class GoogleSearchconsoleApp(APIApplication):
38
38
 
39
39
  def get_sitemap(self, siteUrl: str, feedpath: str) -> dict[str, Any]:
40
40
  """
41
- Retrieves detailed information for a single, specific sitemap using its full URL (`feedpath`). Unlike `list_sitemaps`, which fetches all sitemaps for a site, this function targets and returns one sitemap resource, providing its status, last processed date, and other API metadata.
41
+ Retrieves detailed information for a single sitemap from a specified Google Search Console property. Unlike `list_sitemaps` which fetches all sitemaps, this function targets one sitemap by its URL (`feedpath`) to return its resource details, including status and last processed date.
42
42
 
43
43
  Args:
44
44
  siteUrl (str): The site's URL, including protocol (e.g. 'http://www.example.com/').
@@ -62,7 +62,7 @@ class GoogleSearchconsoleApp(APIApplication):
62
62
  self, siteUrl: str, sitemapIndex: str | None = None
63
63
  ) -> dict[str, Any]:
64
64
  """
65
- Retrieves a list of sitemaps submitted for a specific site. Optionally, it can list the sitemaps contained within a specified sitemap index file instead of all sitemaps for the site. This contrasts with get_sitemap, which fetches a single sitemap's details.
65
+ Retrieves a list of sitemaps for a specific site property. It can optionally list sitemaps contained within a specified sitemap index file. This function contrasts with `get_sitemap`, which fetches details for only a single, specified sitemap rather than a collection.
66
66
 
67
67
  Args:
68
68
  siteUrl (str): The site's URL, including protocol (e.g. 'http://www.example.com/').
@@ -88,7 +88,7 @@ class GoogleSearchconsoleApp(APIApplication):
88
88
 
89
89
  def submit_sitemap(self, siteUrl: str, feedpath: str) -> None:
90
90
  """
91
- Submits a sitemap to a specified Google Search Console site property. This function notifies Google of the sitemap's location for crawling via a PUT request. It is the primary action for adding or updating a sitemap, complementing `get_sitemap`, `list_sitemaps`, and `delete_sitemap`.
91
+ Submits a sitemap to a specified Google Search Console property using its URL (feedpath). It notifies Google to crawl the sitemap's location, complementing other sitemap management functions (`list_sitemaps`, `delete_sitemap`) by adding or updating a sitemap's registration for a given site.
92
92
 
93
93
  Args:
94
94
  siteUrl (str): The site's URL, including protocol (e.g. 'http://www.example.com/').
@@ -112,7 +112,7 @@ class GoogleSearchconsoleApp(APIApplication):
112
112
 
113
113
  def add_site(self, siteUrl: str) -> dict[str, Any]:
114
114
  """
115
- Adds a site to the user's Google Search Console account, which requires subsequent ownership verification. Upon success, it returns a dictionary containing the site resource. This method creates a new site entry, unlike `list_sites` which only retrieves existing ones.
115
+ Adds a site property to the user's Google Search Console account using its URL. This action requires subsequent ownership verification. Unlike `list_sites`, which only retrieves existing properties, this function creates a new entry and returns the corresponding site resource upon successful creation.
116
116
 
117
117
  Args:
118
118
  siteUrl (str): The URL of the site to add. Example: 'http://www.example.com/'.
@@ -134,7 +134,7 @@ class GoogleSearchconsoleApp(APIApplication):
134
134
 
135
135
  def delete_site(self, siteUrl: str) -> None:
136
136
  """
137
- Removes a website property from the user's Google Search Console account using its URL. This function sends a DELETE request to the API, distinguishing it from `delete_sitemap` which only removes a sitemap file rather than the entire site property from the user's management list.
137
+ Removes a website property from the user's Google Search Console account using its URL. Unlike `delete_sitemap`, which only targets a sitemap file, this function deletes the entire site property, revoking management access and removing it from the user's list of managed sites.
138
138
 
139
139
  Args:
140
140
  siteUrl (str): The URL of the site to delete. Example: 'http://www.example.com/'.
@@ -152,7 +152,7 @@ class GoogleSearchconsoleApp(APIApplication):
152
152
 
153
153
  def get_site(self, siteUrl: str) -> dict[str, Any]:
154
154
  """
155
- Retrieves the resource for a specific site property from Google Search Console, using its URL as an identifier. Unlike `list_sites`, which retrieves all user properties, this function fetches detailed information for a single, known site.
155
+ Retrieves detailed information for a specific site property from Google Search Console using its URL. Unlike `list_sites`, which fetches all properties associated with the user's account, this function targets and returns the resource for a single, known site.
156
156
 
157
157
  Args:
158
158
  siteUrl (str): The site's URL, including protocol (e.g. 'http://www.example.com/').
@@ -171,7 +171,7 @@ class GoogleSearchconsoleApp(APIApplication):
171
171
 
172
172
  def list_sites(self) -> dict[str, Any]:
173
173
  """
174
- Retrieves a list of all websites and domain properties the authenticated user can access in Google Search Console. Unlike `get_site`, which fetches a single property, this function returns a comprehensive overview of all managed sites associated with the user's account.
174
+ Retrieves all websites and domain properties the authenticated user manages in Google Search Console. While `get_site` fetches a single, specific property, this function returns a comprehensive list of all sites linked to the user's account, providing a complete overview of managed properties.
175
175
 
176
176
  Returns:
177
177
  Dict[str, Any]: List of site resources.
@@ -9,28 +9,28 @@ This is automatically generated from OpenAPI schema for the GoogleSheetApp API.
9
9
 
10
10
  | Tool | Description |
11
11
  |------|-------------|
12
- | `create_spreadsheet` | Creates a new blank Google Spreadsheet with the specified title and returns the API response. |
13
- | `get_spreadsheet` | Retrieves detailed information about a specific Google Spreadsheet using its ID excluding cell data. |
14
- | `batch_get_values` | Retrieves multiple ranges of values from a Google Spreadsheet in a single batch request. |
15
- | `insert_dimensions` | Inserts new rows or columns into a Google Sheet at a specific position within the sheet. |
16
- | `append_dimensions` | Appends empty rows or columns to the end of a Google Sheet. |
17
- | `delete_dimensions` | Tool to delete specified rows or columns from a sheet in a google spreadsheet. use when you need to remove a range of rows or columns. |
18
- | `add_sheet` | Adds a new sheet (worksheet) to a spreadsheet. use this tool to create a new tab within an existing google sheet, optionally specifying its title, index, size, and other properties. |
19
- | `delete_sheet` | Tool to delete a sheet (worksheet) from a spreadsheet. use when you need to remove a specific sheet from a google sheet document. |
20
- | `add_basic_chart` | Adds a basic chart to a Google Spreadsheet like a column chart, bar chart, line chart and area chart. |
21
- | `add_pie_chart` | Adds a pie chart to a Google Spreadsheet. |
22
- | `add_table` | Adds a table to a Google Spreadsheet. |
23
- | `update_table` | Updates an existing table in a Google Spreadsheet. |
24
- | `clear_values` | Clears all values from a specified range in a Google Spreadsheet while preserving cell formatting and other properties |
25
- | `update_values` | Updates cell values in a specified range of a Google Spreadsheet using the Sheets API |
26
- | `batch_update` | Updates a specified range in a google sheet with given values, or appends them as new rows if `first cell location` is omitted; ensure the target sheet exists and the spreadsheet contains at least one worksheet. |
27
- | `clear_basic_filter` | Tool to clear the basic filter from a sheet. use when you need to remove an existing basic filter from a specific sheet within a google spreadsheet. |
28
- | `list_tables` | This action is used to list all tables in a google spreadsheet, call this action to get the list of tables in a spreadsheet. discover all tables in a google spreadsheet by analyzing sheet structure and detecting data patterns. uses heuristic analysis to find header rows, data boundaries, and table structures. |
29
- | `get_values` | Retrieves values from a specific range in a Google Spreadsheet. |
30
- | `get_table_schema` | Analyzes table structure and infers column names, types, and constraints. |
31
- | `set_basic_filter` | Tool to set a basic filter on a sheet in a google spreadsheet. use when you need to filter or sort data within a specific range on a sheet. |
32
- | `copy_to_sheet` | Tool to copy a single sheet from a spreadsheet to another spreadsheet. Use when you need to duplicate a sheet into a different spreadsheet. |
33
- | `append_values` | Tool to append values to a spreadsheet. use when you need to add new data to the end of an existing table in a google sheet. |
34
- | `batch_clear_values` | Tool to clear one or more ranges of values from a spreadsheet. use when you need to remove data from specific cells or ranges while keeping formatting and other properties intact. |
35
- | `batch_get_values_by_data_filter` | Tool to return one or more ranges of values from a spreadsheet that match the specified data filters. use when you need to retrieve specific data sets based on filtering criteria rather than entire sheets or fixed ranges. |
36
- | `format_cells` | Applies comprehensive cell formatting to a specified range in a Google Sheets worksheet. |
12
+ | `create_spreadsheet` | 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. |
13
+ | `get_spreadsheet_metadata` | Retrieves a spreadsheet's metadata and structural properties, such as sheet names, IDs, and named ranges, using its unique ID. This function intentionally excludes cell data, distinguishing it from `get_values` which fetches the actual content within cells. |
14
+ | `get_values` | Retrieves cell values from a single, specified A1 notation range. Unlike `batch_get_values_by_range` which fetches multiple ranges, this function is for a singular query and provides options to control the data's output format (e.g., rows vs. columns, formatted vs. raw values). |
15
+ | `batch_get_values_by_range` | Efficiently retrieves values from multiple predefined A1 notation ranges in a single API request. Unlike `get_values`, which fetches a single range, or `batch_get_values_by_data_filter`, which uses dynamic filtering criteria, this function operates on a simple list of range strings for bulk data retrieval. |
16
+ | `insert_dimensions` | Inserts a specified number of empty rows or columns at a given index, shifting existing content. Distinct from `append_dimensions`, which only adds to the end, this function creates space within the sheet's data grid, preserving surrounding data and formatting. |
17
+ | `append_dimensions` | Adds a specified number of empty rows or columns to the end of a designated sheet. Unlike `insert_dimensions`, which adds space at a specific index, this function exclusively extends the sheet's boundaries at the bottom or to the right without affecting existing content. |
18
+ | `delete_dimensions` | Deletes a specified range of rows or columns, permanently removing them and shifting subsequent cells. This alters the sheet's structure, unlike `clear_values` which only removes cell content. It is the direct counterpart to `insert_dimensions`, which adds space within the data grid. |
19
+ | `add_sheet` | Adds a new worksheet (tab) to an existing Google Spreadsheet. It allows extensive customization of the new sheet's properties, such as its title, position, and dimensions. This is distinct from `create_spreadsheet`, which generates a completely new spreadsheet file instead of modifying an existing one. |
20
+ | `add_basic_chart` | Adds various axis-based charts (e.g., column, bar, line, area) to a spreadsheet from specified data ranges. The chart can be placed on a new sheet or positioned on an existing one. This is distinct from `add_pie_chart`, which creates proportional visualizations instead of axis-based charts. |
21
+ | `add_pie_chart` | Adds a pie or donut chart to a Google Spreadsheet from a specified data range. Unlike the more general `add_basic_chart`, this is specialized for visualizing data as proportions of a whole and supports pie-specific options like creating a donut chart via the `pie_hole` parameter. |
22
+ | `add_table` | Creates a structured table within a specified range on a Google Sheet. Defines the table's name, ID, and dimensions, and can optionally configure column properties like data types and validation rules. This action creates a formal table object, distinct from functions that only write cell values. |
23
+ | `update_table` | Modifies properties of an existing table within a Google Sheet, such as its name, data range, or column specifications. This function updates the table's structural metadata, distinguishing it from `update_values` which alters the cell data within the table's range. |
24
+ | `clear_values` | Clears data from a single, specified cell range while preserving all formatting. Unlike `delete_dimensions`, it only removes content, not the cells themselves. For clearing multiple ranges simultaneously, use the `batch_clear_values` function. |
25
+ | `update_values` | Overwrites cell values within a specific A1 notation range using a provided 2D list. This function replaces existing data in a predefined area, distinguishing it from `append_values`, which adds new rows after a table instead of overwriting a specific block of cells. |
26
+ | `batch_clear_values` | Clears cell values from multiple specified ranges in a single batch operation, preserving existing formatting. Unlike `clear_values`, which handles a single range, this method efficiently processes a list of ranges at once, removing only the content and not the cells themselves. |
27
+ | `batch_get_values_by_data_filter` | Retrieves values from spreadsheet ranges matching a list of data filters. This method provides dynamic, criteria-based selection using A1 notation or grid coordinates, unlike `batch_get_values_by_range` which uses a simple list of range strings. It is ideal for fetching multiple, specific datasets in one request. |
28
+ | `copy_sheet_to_spreadsheet` | Copies a specific sheet, including all its data and formatting, from a source spreadsheet to a different destination spreadsheet. This action duplicates an entire worksheet into another workbook, returning properties of the newly created sheet. |
29
+ | `write_values_to_sheet` | Writes a 2D list of values to a sheet, overwriting existing data. Data is written starting from a specified cell, or defaults to cell A1 if no location is provided. This differs from `append_values`, which adds new rows after existing data without replacing content. |
30
+ | `append_values` | Appends rows of data after a specified table in a Google Sheet. Distinct from `update_values` which overwrites data, this function adds new rows at the end of the table. It can also insert rows, shifting existing cells down, offering finer control over data addition. |
31
+ | `clear_basic_filter` | Removes the basic filter from a specified sheet, clearing active sorting and filtering criteria to restore the default data view. As the direct counterpart to `set_basic_filter`, this function removes the entire filter object, not just the cell content. |
32
+ | `delete_sheet` | Permanently deletes a specific sheet (worksheet) from a Google Spreadsheet using its sheet ID. This operation removes the target sheet and all its contents, acting as the direct counterpart to the `add_sheet` function which creates new sheets within a spreadsheet. |
33
+ | `discover_tables` | Heuristically analyzes a spreadsheet to discover and list all table-like data structures, identifying headers and data boundaries. It returns informal data blocks meeting specified size criteria, distinguishing it from functions like `add_table` that manage formally defined tables. |
34
+ | `analyze_table_schema` | Infers a specified table's schema by analyzing a data sample. After locating the table by name (a value discovered via `discover_tables`), this function determines the most likely data type and properties for each column, providing a detailed structural breakdown of its content. |
35
+ | `set_basic_filter` | Sets or updates a basic filter on a specified range within a sheet, enabling data sorting and filtering. The filter's target range and optional sort specifications are defined in a dictionary argument. It is the counterpart to `clear_basic_filter`, which removes an existing filter. |
36
+ | `format_cells` | Applies comprehensive formatting to a specified cell range in a worksheet. It modifies visual properties like text style, color, alignment, borders, and can merge cells, without altering the underlying cell values, distinguishing it from data-modification functions like `update_values`. |
@@ -3,7 +3,7 @@ from typing import Any
3
3
  from universal_mcp.applications.application import APIApplication
4
4
  from universal_mcp.integrations import Integration
5
5
 
6
- from .helper import (
6
+ from universal_mcp.applications.google_sheet.helper import (
7
7
  analyze_sheet_for_tables,
8
8
  analyze_table_schema,
9
9
  )
@@ -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 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.
25
25
 
26
26
  Args:
27
27
  title: String representing the desired title for the new spreadsheet
@@ -43,7 +43,7 @@ class GoogleSheetApp(APIApplication):
43
43
 
44
44
  def get_spreadsheet_metadata(self, spreadsheet_id: str) -> dict[str, Any]:
45
45
  """
46
- Retrieves a spreadsheet's metadata and structural properties, such as sheet names, IDs, and named ranges, using its unique ID. This function intentionally excludes cell data, distinguishing it from `get_values` which fetches the actual content within the cells.
46
+ Retrieves a spreadsheet's metadata and structural properties, such as sheet names, IDs, and named ranges, using its unique ID. This function intentionally excludes cell data, distinguishing it from `get_values` which fetches the actual content within cells.
47
47
 
48
48
  Args:
49
49
  spreadsheet_id: The unique identifier of the Google Spreadsheet to retrieve (found in the spreadsheet's URL)
@@ -72,7 +72,7 @@ class GoogleSheetApp(APIApplication):
72
72
  dateTimeRenderOption: str | None = None,
73
73
  ) -> dict[str, Any]:
74
74
  """
75
- Retrieves cell values from a single, specified A1 notation range in a Google Spreadsheet. Unlike `batch_get_values` which fetches multiple ranges, this function is for a singular query and provides options to control the data's output format (e.g., rows vs. columns, formatted vs. raw values).
75
+ Retrieves cell values from a single, specified A1 notation range. Unlike `batch_get_values_by_range` which fetches multiple ranges, this function is for a singular query and provides options to control the data's output format (e.g., rows vs. columns, formatted vs. raw values).
76
76
 
77
77
  Args:
78
78
  spreadsheetId: The unique identifier of the Google Spreadsheet to retrieve values from
@@ -108,7 +108,7 @@ class GoogleSheetApp(APIApplication):
108
108
  self, spreadsheet_id: str, ranges: list[str] | None = None
109
109
  ) -> dict[str, Any]:
110
110
  """
111
- Efficiently retrieves values from multiple specified ranges in a Google Spreadsheet using a single batch API request. This method is distinct from `get_values`, which fetches a single range, and `batch_get_values_by_data_filter`, which uses filtering criteria instead of predefined A1 notation ranges.
111
+ Efficiently retrieves values from multiple predefined A1 notation ranges in a single API request. Unlike `get_values`, which fetches a single range, or `batch_get_values_by_data_filter`, which uses dynamic filtering criteria, this function operates on a simple list of range strings for bulk data retrieval.
112
112
 
113
113
  Args:
114
114
  spreadsheet_id: The unique identifier of the Google Spreadsheet to retrieve values from
@@ -144,7 +144,7 @@ class GoogleSheetApp(APIApplication):
144
144
  response_ranges: list[str] | None = None,
145
145
  ) -> dict[str, Any]:
146
146
  """
147
- Inserts empty rows or columns at a specified index, shifting existing content. Unlike `append_dimensions`, which adds to the end, this function is used to insert space within the data grid. Returns the API response containing update details.
147
+ Inserts a specified number of empty rows or columns at a given index, shifting existing content. Distinct from `append_dimensions`, which only adds to the end, this function creates space within the sheet's data grid, preserving surrounding data and formatting.
148
148
 
149
149
  This function inserts empty rows or columns at a specified location, shifting existing content.
150
150
  Use this when you need to add rows/columns in the middle of your data.
@@ -223,7 +223,7 @@ class GoogleSheetApp(APIApplication):
223
223
  length: int,
224
224
  ) -> dict[str, Any]:
225
225
  """
226
- Adds a specified number of empty rows or columns to the end of a designated sheet. Unlike `insert_dimensions`, which adds dimensions at a specific index, this function exclusively extends the sheet's boundaries at the bottom or to the right without affecting existing content.
226
+ Adds a specified number of empty rows or columns to the end of a designated sheet. Unlike `insert_dimensions`, which adds space at a specific index, this function exclusively extends the sheet's boundaries at the bottom or to the right without affecting existing content.
227
227
 
228
228
  This function adds empty rows or columns to the end of the sheet without affecting existing content.
229
229
  Use this when you need to extend the sheet with additional space at the bottom or right.
@@ -282,7 +282,7 @@ class GoogleSheetApp(APIApplication):
282
282
  response_ranges: list[str] | None = None,
283
283
  ) -> dict[str, Any]:
284
284
  """
285
- Deletes a specified range of rows or columns from a sheet, permanently removing them and shifting subsequent cells. This alters the sheet's structure, unlike `clear_values` which only removes cell content. It complements `insert_dimensions` and `append_dimensions` for structural modifications.
285
+ Deletes a specified range of rows or columns, permanently removing them and shifting subsequent cells. This alters the sheet's structure, unlike `clear_values` which only removes cell content. It is the direct counterpart to `insert_dimensions`, which adds space within the data grid.
286
286
 
287
287
  Args:
288
288
  spreadsheet_id: The ID of the spreadsheet. Example: "abc123xyz789"
@@ -371,7 +371,7 @@ class GoogleSheetApp(APIApplication):
371
371
  responseIncludeGridData: bool = False,
372
372
  ) -> dict[str, Any]:
373
373
  """
374
- Adds a new worksheet (tab) to an existing Google Spreadsheet. Allows customization of the new sheet's properties, including its title, index position, size (rows/columns), and visibility. This differs from `create_spreadsheet`, which creates a new spreadsheet file entirely.
374
+ Adds a new worksheet (tab) to an existing Google Spreadsheet. It allows extensive customization of the new sheet's properties, such as its title, position, and dimensions. This is distinct from `create_spreadsheet`, which generates a completely new spreadsheet file instead of modifying an existing one.
375
375
 
376
376
  Args:
377
377
  spreadsheetId: The ID of the spreadsheet to add the sheet to. This is the long string of characters in the URL of your Google Sheet. Example: "abc123xyz789"
@@ -638,7 +638,7 @@ class GoogleSheetApp(APIApplication):
638
638
  pie_hole: float | None = None,
639
639
  ) -> dict[str, Any]:
640
640
  """
641
- Adds a pie or donut chart to a Google Spreadsheet from a specified data range. Unlike the more general `add_basic_chart`, this function is specialized for visualizing data as proportions of a whole and supports pie-specific options like creating a donut chart via the `pie_hole` parameter.
641
+ Adds a pie or donut chart to a Google Spreadsheet from a specified data range. Unlike the more general `add_basic_chart`, this is specialized for visualizing data as proportions of a whole and supports pie-specific options like creating a donut chart via the `pie_hole` parameter.
642
642
 
643
643
  This function creates a pie chart from the specified data range and places it in a new sheet or existing sheet.
644
644
  Use this when you need to visualize data as proportions of a whole.
@@ -997,7 +997,7 @@ class GoogleSheetApp(APIApplication):
997
997
 
998
998
  def clear_values(self, spreadsheet_id: str, range: str) -> dict[str, Any]:
999
999
  """
1000
- Clears data from a single, specified cell range in a Google Sheet while preserving all formatting. Unlike `delete_dimensions`, it only removes content, not the cells themselves. For clearing multiple ranges simultaneously, use the `batch_clear_values` function.
1000
+ Clears data from a single, specified cell range while preserving all formatting. Unlike `delete_dimensions`, it only removes content, not the cells themselves. For clearing multiple ranges simultaneously, use the `batch_clear_values` function.
1001
1001
 
1002
1002
  Args:
1003
1003
  spreadsheet_id: The unique identifier of the Google Spreadsheet to modify
@@ -1025,7 +1025,7 @@ class GoogleSheetApp(APIApplication):
1025
1025
  value_input_option: str = "RAW",
1026
1026
  ) -> dict[str, Any]:
1027
1027
  """
1028
- Overwrites cell values within a specific A1 notation range in a Google Spreadsheet. This function replaces existing data with the provided values, differing from `append_values` which adds new rows. It provides a direct method for targeted data replacement in a predefined area of the sheet.
1028
+ Overwrites cell values within a specific A1 notation range using a provided 2D list. This function replaces existing data in a predefined area, distinguishing it from `append_values`, which adds new rows after a table instead of overwriting a specific block of cells.
1029
1029
 
1030
1030
  Args:
1031
1031
  spreadsheet_id: The unique identifier of the target Google Spreadsheet
@@ -1093,7 +1093,7 @@ class GoogleSheetApp(APIApplication):
1093
1093
  date_time_render_option: str | None = None,
1094
1094
  ) -> dict[str, Any]:
1095
1095
  """
1096
- Retrieves values from spreadsheet ranges matching a list of data filters. This method provides dynamic, criteria-based selection using A1 notation or grid coordinates, unlike `batch_get_values` which uses a simple list of range strings. It is ideal for fetching multiple, specific datasets in one request.
1096
+ Retrieves values from spreadsheet ranges matching a list of data filters. This method provides dynamic, criteria-based selection using A1 notation or grid coordinates, unlike `batch_get_values_by_range` which uses a simple list of range strings. It is ideal for fetching multiple, specific datasets in one request.
1097
1097
 
1098
1098
  Args:
1099
1099
  spreadsheet_id: The ID of the spreadsheet to retrieve data from. Example: "1q2w3e4r5t6y7u8i9o0p"
@@ -1168,7 +1168,7 @@ class GoogleSheetApp(APIApplication):
1168
1168
  destination_spreadsheet_id: str,
1169
1169
  ) -> dict[str, Any]:
1170
1170
  """
1171
- Copies a specific sheet, including all its data and formatting, from a source spreadsheet to a different destination spreadsheet. This action duplicates an entire worksheet into another workbook, returning the properties of the newly created sheet in the API response.
1171
+ Copies a specific sheet, including all its data and formatting, from a source spreadsheet to a different destination spreadsheet. This action duplicates an entire worksheet into another workbook, returning properties of the newly created sheet.
1172
1172
 
1173
1173
 
1174
1174
  Args:
@@ -1212,7 +1212,7 @@ class GoogleSheetApp(APIApplication):
1212
1212
  include_values_in_response: bool = False,
1213
1213
  ) -> dict[str, Any]:
1214
1214
  """
1215
- Writes a 2D list of values to a sheet, overwriting existing data. Data is written starting from a specified cell, or defaults to cell A1 if no location is provided. This differs from `append_values`, which adds new rows after existing data.
1215
+ Writes a 2D list of values to a sheet, overwriting existing data. Data is written starting from a specified cell, or defaults to cell A1 if no location is provided. This differs from `append_values`, which adds new rows after existing data without replacing content.
1216
1216
 
1217
1217
  Args:
1218
1218
  spreadsheet_id: The unique identifier of the Google Sheets spreadsheet to be updated. Example: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
@@ -1278,7 +1278,7 @@ class GoogleSheetApp(APIApplication):
1278
1278
  response_date_time_render_option: str | None = None,
1279
1279
  ) -> dict[str, Any]:
1280
1280
  """
1281
- Appends rows of data after a table within a specified range. Unlike `batch_update`, this function can optionally insert new rows, shifting existing data down. This provides more granular control for adding data to a sheet without overwriting existing cells below the target table.
1281
+ Appends rows of data after a specified table in a Google Sheet. Distinct from `update_values` which overwrites data, this function adds new rows at the end of the table. It can also insert rows, shifting existing cells down, offering finer control over data addition.
1282
1282
 
1283
1283
  Args:
1284
1284
  spreadsheet_id: The ID of the spreadsheet to update. Example: "1q0gLhLdGXYZblahblahblah"
@@ -1371,7 +1371,7 @@ class GoogleSheetApp(APIApplication):
1371
1371
  sheet_id: int,
1372
1372
  ) -> dict[str, Any]:
1373
1373
  """
1374
- Removes the basic filter from a specified sheet within a Google Spreadsheet. This action clears any active sorting or filtering criteria, restoring the default data view. It is the direct counterpart to the `set_basic_filter` function.
1374
+ Removes the basic filter from a specified sheet, clearing active sorting and filtering criteria to restore the default data view. As the direct counterpart to `set_basic_filter`, this function removes the entire filter object, not just the cell content.
1375
1375
 
1376
1376
  Args:
1377
1377
  spreadsheet_id: The ID of the spreadsheet. Example: "abc123xyz789"
@@ -1443,7 +1443,7 @@ class GoogleSheetApp(APIApplication):
1443
1443
  min_confidence: float = 0.5,
1444
1444
  ) -> dict[str, Any]:
1445
1445
  """
1446
- Discovers and lists all table-like data structures within a Google Spreadsheet. It heuristically analyzes each sheet to identify headers and data boundaries, returning tables that meet specified size and confidence criteria. This is distinct from listing formally defined tables.
1446
+ Heuristically analyzes a spreadsheet to discover and list all table-like data structures, identifying headers and data boundaries. It returns informal data blocks meeting specified size criteria, distinguishing it from functions like `add_table` that manage formally defined tables.
1447
1447
 
1448
1448
  Args:
1449
1449
  spreadsheet_id: Google Sheets ID from the URL (e.g., '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms'). Example: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
@@ -1514,7 +1514,7 @@ class GoogleSheetApp(APIApplication):
1514
1514
  sample_size: int = 50,
1515
1515
  ) -> dict[str, Any]:
1516
1516
  """
1517
- Infers the schema for a specific table within a Google Sheet by analyzing a sample of its data. After locating the table by name (as discovered by `list_tables`), it determines the most likely data type and properties for each column.
1517
+ Infers a specified table's schema by analyzing a data sample. After locating the table by name (a value discovered via `discover_tables`), this function determines the most likely data type and properties for each column, providing a detailed structural breakdown of its content.
1518
1518
 
1519
1519
  Args:
1520
1520
  spreadsheet_id: Google Sheets ID from the URL (e.g., '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms')
@@ -1681,7 +1681,7 @@ class GoogleSheetApp(APIApplication):
1681
1681
  mergeCells: bool = False,
1682
1682
  ) -> dict[str, Any]:
1683
1683
  """
1684
- Applies comprehensive formatting to a specified cell range in a worksheet. It modifies visual properties like text style, color, alignment, borders, and can merge cells, without altering the underlying cell values.
1684
+ Applies comprehensive formatting to a specified cell range in a worksheet. It modifies visual properties like text style, color, alignment, borders, and can merge cells, without altering the underlying cell values, distinguishing it from data-modification functions like `update_values`.
1685
1685
 
1686
1686
  Args:
1687
1687
  spreadsheetId: Identifier of the Google Sheets spreadsheet. Example: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
@@ -9,8 +9,8 @@ This is automatically generated from OpenAPI schema for the HttpToolsApp API.
9
9
 
10
10
  | Tool | Description |
11
11
  |------|-------------|
12
- | `http_get` | Perform a GET request to the specified URL with optional parameters. |
13
- | `http_post` | Perform a POST request to the specified URL with optional parameters. |
14
- | `http_put` | Perform a PUT request to the specified URL with optional parameters. |
15
- | `http_delete` | Perform a DELETE request to the specified URL with optional parameters. |
16
- | `http_patch` | Perform a PATCH request to the specified URL with optional parameters. |
12
+ | `http_get` | Executes an HTTP GET request to a given URL with optional headers and query parameters. It handles HTTP errors by raising an exception and processes the response, returning parsed JSON or a dictionary with the raw text and status details if JSON is unavailable. |
13
+ | `http_post` | Sends an HTTP POST request to a URL with an optional JSON body and headers. It returns the parsed JSON response or raw text if parsing fails and raises an exception for HTTP errors. It is used for creating new resources, unlike http_get which retrieves data. |
14
+ | `http_put` | Performs an HTTP PUT request to update or replace a resource at a specified URL. It accepts an optional JSON body and headers, raises an exception for error responses, and returns the parsed JSON response or a dictionary with the raw text and status details. |
15
+ | `http_delete` | Sends an HTTP DELETE request to a URL with optional headers and a JSON body. Raises an exception for HTTP error statuses and returns the parsed JSON response. If the response isn't JSON, it returns the text content, status code, and headers. |
16
+ | `http_patch` | Sends an HTTP PATCH request to apply partial modifications to a resource at a given URL. It accepts optional headers and a JSON body. It returns the parsed JSON response, or the raw text with status details if the response is not valid JSON. |
@@ -1 +1 @@
1
- from .app import HubspotApp
1
+ from .app import HubspotApp