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
|
@@ -25,7 +25,7 @@ class GithubApp(APIApplication):
|
|
|
25
25
|
|
|
26
26
|
def star_repository(self, repo_full_name: str) -> str:
|
|
27
27
|
"""
|
|
28
|
-
Stars a GitHub repository for the authenticated user
|
|
28
|
+
Stars a GitHub repository for the authenticated user. This user-centric action takes the full repository name ('owner/repo') and returns a simple string message confirming the outcome, unlike other functions that list or create repository content like issues or pull requests.
|
|
29
29
|
|
|
30
30
|
Args:
|
|
31
31
|
repo_full_name: The full name of the repository in 'owner/repo' format (e.g., 'octocat/Hello-World')
|
|
@@ -52,7 +52,7 @@ class GithubApp(APIApplication):
|
|
|
52
52
|
|
|
53
53
|
def list_recent_commits(self, repo_full_name: str) -> str:
|
|
54
54
|
"""
|
|
55
|
-
Fetches and formats the 12 most recent commits from a
|
|
55
|
+
Fetches and formats the 12 most recent commits from a repository. It returns a human-readable string summarizing each commit's hash, author, and message, providing a focused overview of recent code changes, unlike functions that list branches, issues, or pull requests.
|
|
56
56
|
|
|
57
57
|
Args:
|
|
58
58
|
repo_full_name: The full name of the repository in 'owner/repo' format
|
|
@@ -85,7 +85,7 @@ class GithubApp(APIApplication):
|
|
|
85
85
|
|
|
86
86
|
def list_branches(self, repo_full_name: str) -> str:
|
|
87
87
|
"""
|
|
88
|
-
|
|
88
|
+
Fetches all branches for a specified GitHub repository and formats them into a human-readable string. This method is distinct from others like `search_issues`, as it returns a formatted list for display rather than raw JSON data for programmatic use.
|
|
89
89
|
|
|
90
90
|
Args:
|
|
91
91
|
repo_full_name: The full name of the repository in 'owner/repo' format (e.g., 'octocat/Hello-World')
|
|
@@ -115,7 +115,7 @@ class GithubApp(APIApplication):
|
|
|
115
115
|
|
|
116
116
|
def list_pull_requests(self, repo_full_name: str, state: str = "open") -> str:
|
|
117
117
|
"""
|
|
118
|
-
Fetches pull requests for a repository, filtered by state (e.g., 'open'). It returns a formatted string summarizing each PR's details
|
|
118
|
+
Fetches pull requests for a repository, filtered by state (e.g., 'open'). It returns a formatted string summarizing each PR's details, distinguishing it from `get_pull_request` (single PR) and `search_issues` (raw issue data).
|
|
119
119
|
|
|
120
120
|
Args:
|
|
121
121
|
repo_full_name: The full name of the repository in the format 'owner/repo' (e.g., 'tensorflow/tensorflow')
|
|
@@ -193,7 +193,7 @@ class GithubApp(APIApplication):
|
|
|
193
193
|
|
|
194
194
|
def get_pull_request(self, repo_full_name: str, pull_number: int) -> str:
|
|
195
195
|
"""
|
|
196
|
-
Fetches a specific pull request from a repository
|
|
196
|
+
Fetches a specific pull request from a repository using its unique number. It returns a human-readable string summarizing the PR's title, creator, status, and description, unlike `list_pull_requests` which retrieves a list of multiple PRs.
|
|
197
197
|
|
|
198
198
|
Args:
|
|
199
199
|
repo_full_name: The full repository name in 'owner/repo' format (e.g., 'octocat/Hello-World')
|
|
@@ -239,7 +239,7 @@ class GithubApp(APIApplication):
|
|
|
239
239
|
draft: bool = False,
|
|
240
240
|
) -> dict[str, Any]:
|
|
241
241
|
"""
|
|
242
|
-
Creates a pull request
|
|
242
|
+
Creates a pull request between specified `head` and `base` branches, or converts an issue into a PR. Unlike read functions that return formatted strings, this write operation returns the raw API response as a dictionary, providing comprehensive data on the newly created pull request.
|
|
243
243
|
|
|
244
244
|
Args:
|
|
245
245
|
repo_full_name: The full name of the repository (e.g. 'owner/repo')
|
|
@@ -285,7 +285,7 @@ class GithubApp(APIApplication):
|
|
|
285
285
|
self, repo_full_name: str, title: str, body: str = "", labels=None
|
|
286
286
|
) -> str:
|
|
287
287
|
"""
|
|
288
|
-
Creates a new issue in a
|
|
288
|
+
Creates a new issue in a GitHub repository using a title, body, and optional labels. It returns a formatted confirmation string with the new issue's number and URL, differing from `update_issue` which modifies existing issues and `search_issues` which returns raw API data.
|
|
289
289
|
|
|
290
290
|
Args:
|
|
291
291
|
repo_full_name: The full name of the repository in 'owner/repo' format
|
|
@@ -328,7 +328,7 @@ class GithubApp(APIApplication):
|
|
|
328
328
|
self, repo_full_name: str, direction: str = "desc", per_page: int = 30
|
|
329
329
|
) -> str:
|
|
330
330
|
"""
|
|
331
|
-
Fetches
|
|
331
|
+
Fetches recent events for a GitHub repository and formats them into a human-readable string. It summarizes activities with actors and timestamps, providing a general event feed, unlike other `list_*` functions which retrieve specific resources like commits or issues.
|
|
332
332
|
|
|
333
333
|
Args:
|
|
334
334
|
repo_full_name: The full name of the repository in 'owner/repo' format
|
|
@@ -376,7 +376,7 @@ class GithubApp(APIApplication):
|
|
|
376
376
|
state_reason: str = None,
|
|
377
377
|
) -> dict[str, Any]:
|
|
378
378
|
"""
|
|
379
|
-
Modifies an existing GitHub issue
|
|
379
|
+
Modifies an existing GitHub issue, identified by its number within a repository. It can update optional fields like title, body, or state and returns the raw API response as a dictionary, differentiating it from `create_issue` which makes new issues and returns a formatted string.
|
|
380
380
|
|
|
381
381
|
Args:
|
|
382
382
|
repo_full_name: The full name of the repository in 'owner/repo' format
|
|
@@ -9,13 +9,13 @@ This is automatically generated from OpenAPI schema for the GoogleCalendarApp AP
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
11
11
|
|------|-------------|
|
|
12
|
-
| `
|
|
13
|
-
| `
|
|
14
|
-
| `list_events` |
|
|
15
|
-
| `
|
|
16
|
-
| `
|
|
17
|
-
| `
|
|
18
|
-
| `
|
|
19
|
-
| `
|
|
20
|
-
| `delete_event` |
|
|
21
|
-
| `
|
|
12
|
+
| `get_event_by_id` | Retrieves a specific calendar event using its unique ID. Unlike `list_events`, which fetches multiple events based on date ranges or search queries, this function targets a single, known event. It can optionally limit attendees returned and specify a time zone for date formatting in the response. |
|
|
13
|
+
| `get_upcoming_events` | Retrieves events for a specified number of days, starting from today. This function simplifies date-range queries by auto-calculating start/end times, unlike the more comprehensive `list_events` function, which offers granular control with explicit time filters, text search, and custom sorting. |
|
|
14
|
+
| `list_events` | Fetches a customizable list of events using filters for date range, text search, sorting, and pagination. This advanced function provides more granular control than `get_upcoming_events`, which is limited to fetching events for a specific number of upcoming days. |
|
|
15
|
+
| `create_event_from_text` | Creates a calendar event by parsing a natural language string (e.g., "Meeting tomorrow at 10am"). This offers a user-friendly shortcut, contrasting with the structured `create_event` function which requires explicit fields like start and end times. |
|
|
16
|
+
| `create_event` | Creates a calendar event using structured data for start/end times, summary, attendees, and recurrence. This method provides precise control for complex appointments, unlike `create_event_from_text` which parses natural language, making it ideal for detailed or recurring event creation. |
|
|
17
|
+
| `replace_event` | Replaces an existing calendar event, identified by its ID, with new data. This function performs a full update, overwriting all event properties like start/end times and summary. It does not support partial modifications, requiring all necessary fields for the replacement to be provided. |
|
|
18
|
+
| `list_recurring_event_instances` | Retrieves all individual occurrences of a specific recurring event using its ID. Unlike `list_events`, which fetches multiple distinct events, this function expands a single recurring event into its separate instances, allowing filtering by time range and pagination for detailed scheduling views. |
|
|
19
|
+
| `get_primary_calendar_details` | Retrieves metadata for the user's primary calendar, including its default timezone. This information is essential for creating new events with accurate, timezone-aware start and end times using other functions like `create_event`, preventing potential scheduling errors across different regions. |
|
|
20
|
+
| `delete_event` | Permanently deletes a specific event from a Google Calendar using its event and calendar IDs. It can optionally send cancellation notifications to attendees, distinguishing it from functions that retrieve (`get_event_by_id`) or modify events (`replace_event`), which do not remove entries from the calendar. |
|
|
21
|
+
| `get_free_busy_info` | Queries the free/busy status for one or more calendars within a specified time range. It returns a list of busy time intervals, making it ideal for finding open slots and scheduling new events without conflicts. |
|
|
@@ -54,7 +54,7 @@ class GoogleCalendarApp(APIApplication):
|
|
|
54
54
|
time_zone: str | None = None,
|
|
55
55
|
) -> dict[str, Any]:
|
|
56
56
|
"""
|
|
57
|
-
Retrieves
|
|
57
|
+
Retrieves events for a specified number of days, starting from today. This function simplifies date-range queries by auto-calculating start/end times, unlike the more comprehensive `list_events` function, which offers granular control with explicit time filters, text search, and custom sorting.
|
|
58
58
|
|
|
59
59
|
Args:
|
|
60
60
|
days: Number of days to retrieve events for (default: 1, which is just today)
|
|
@@ -98,7 +98,7 @@ class GoogleCalendarApp(APIApplication):
|
|
|
98
98
|
time_zone: str | None = None,
|
|
99
99
|
) -> dict[str, Any]:
|
|
100
100
|
"""
|
|
101
|
-
Retrieves a specific
|
|
101
|
+
Retrieves a specific calendar event using its unique ID. Unlike `list_events`, which fetches multiple events based on date ranges or search queries, this function targets a single, known event. It can optionally limit attendees returned and specify a time zone for date formatting in the response.
|
|
102
102
|
|
|
103
103
|
Args:
|
|
104
104
|
event_id: The unique identifier of the calendar event to retrieve
|
|
@@ -137,7 +137,7 @@ class GoogleCalendarApp(APIApplication):
|
|
|
137
137
|
page_token: str | None = None,
|
|
138
138
|
) -> dict[str, Any]:
|
|
139
139
|
"""
|
|
140
|
-
Fetches a customizable list of events using filters for date range, text search, sorting, and pagination. This advanced function provides more granular control than `
|
|
140
|
+
Fetches a customizable list of events using filters for date range, text search, sorting, and pagination. This advanced function provides more granular control than `get_upcoming_events`, which is limited to fetching events for a specific number of upcoming days.
|
|
141
141
|
|
|
142
142
|
Args:
|
|
143
143
|
max_results: Maximum number of events to return (default: 10, max: 2500)
|
|
@@ -196,7 +196,7 @@ class GoogleCalendarApp(APIApplication):
|
|
|
196
196
|
calendar_id: str = "primary",
|
|
197
197
|
) -> dict[str, Any]:
|
|
198
198
|
"""
|
|
199
|
-
Creates a
|
|
199
|
+
Creates a calendar event using structured data for start/end times, summary, attendees, and recurrence. This method provides precise control for complex appointments, unlike `create_event_from_text` which parses natural language, making it ideal for detailed or recurring event creation.
|
|
200
200
|
|
|
201
201
|
Args:
|
|
202
202
|
start: Start time of the event (required). Must include timezone offset or timeZone field.
|
|
@@ -254,7 +254,7 @@ class GoogleCalendarApp(APIApplication):
|
|
|
254
254
|
|
|
255
255
|
def create_event_from_text(self, text: str, send_updates: str = "none") -> dict[str, Any]:
|
|
256
256
|
"""
|
|
257
|
-
Creates a calendar event by parsing a natural language string
|
|
257
|
+
Creates a calendar event by parsing a natural language string (e.g., "Meeting tomorrow at 10am"). This offers a user-friendly shortcut, contrasting with the structured `create_event` function which requires explicit fields like start and end times.
|
|
258
258
|
|
|
259
259
|
Args:
|
|
260
260
|
text: Natural language text describing the event (e.g., 'Meeting with John at Coffee Shop tomorrow 3pm-4pm')
|
|
@@ -287,7 +287,7 @@ class GoogleCalendarApp(APIApplication):
|
|
|
287
287
|
page_token: str | None = None,
|
|
288
288
|
) -> dict[str, Any]:
|
|
289
289
|
"""
|
|
290
|
-
Retrieves all individual occurrences
|
|
290
|
+
Retrieves all individual occurrences of a specific recurring event using its ID. Unlike `list_events`, which fetches multiple distinct events, this function expands a single recurring event into its separate instances, allowing filtering by time range and pagination for detailed scheduling views.
|
|
291
291
|
|
|
292
292
|
Args:
|
|
293
293
|
event_id: ID of the recurring event
|
|
@@ -341,7 +341,7 @@ class GoogleCalendarApp(APIApplication):
|
|
|
341
341
|
userIp=None,
|
|
342
342
|
) -> Any:
|
|
343
343
|
"""
|
|
344
|
-
|
|
344
|
+
Permanently deletes a specific event from a Google Calendar using its event and calendar IDs. It can optionally send cancellation notifications to attendees, distinguishing it from functions that retrieve (`get_event_by_id`) or modify events (`replace_event`), which do not remove entries from the calendar.
|
|
345
345
|
|
|
346
346
|
Args:
|
|
347
347
|
calendarId (string): calendarId
|
|
@@ -400,7 +400,7 @@ class GoogleCalendarApp(APIApplication):
|
|
|
400
400
|
max_attendees: int | None = None,
|
|
401
401
|
) -> dict[str, Any]:
|
|
402
402
|
"""
|
|
403
|
-
Replaces an existing calendar event, identified by its ID, with new data. This function performs a full update, overwriting all event properties like start/end times
|
|
403
|
+
Replaces an existing calendar event, identified by its ID, with new data. This function performs a full update, overwriting all event properties like start/end times and summary. It does not support partial modifications, requiring all necessary fields for the replacement to be provided.
|
|
404
404
|
|
|
405
405
|
Args:
|
|
406
406
|
event_id: The unique identifier of the calendar event to update (required)
|
|
@@ -458,7 +458,7 @@ class GoogleCalendarApp(APIApplication):
|
|
|
458
458
|
|
|
459
459
|
def get_primary_calendar_details(self) -> dict[str, Any]:
|
|
460
460
|
"""
|
|
461
|
-
Retrieves metadata for the user's primary calendar, including its default timezone. This information is essential for creating new events with accurate, timezone-aware start and end times
|
|
461
|
+
Retrieves metadata for the user's primary calendar, including its default timezone. This information is essential for creating new events with accurate, timezone-aware start and end times using other functions like `create_event`, preventing potential scheduling errors across different regions.
|
|
462
462
|
|
|
463
463
|
Returns:
|
|
464
464
|
Dictionary containing the user's timezone information
|
|
@@ -491,7 +491,7 @@ class GoogleCalendarApp(APIApplication):
|
|
|
491
491
|
timeZone=None,
|
|
492
492
|
) -> dict[str, Any]:
|
|
493
493
|
"""
|
|
494
|
-
Queries the
|
|
494
|
+
Queries the free/busy status for one or more calendars within a specified time range. It returns a list of busy time intervals, making it ideal for finding open slots and scheduling new events without conflicts.
|
|
495
495
|
|
|
496
496
|
|
|
497
497
|
Args:
|
|
@@ -9,17 +9,17 @@ This is automatically generated from OpenAPI schema for the GoogleDocsApp API.
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
11
11
|
|------|-------------|
|
|
12
|
-
| `create_document` | Creates a
|
|
13
|
-
| `get_document` | Retrieves the
|
|
14
|
-
| `
|
|
15
|
-
| `
|
|
16
|
-
| `
|
|
17
|
-
| `insert_table` | Inserts a table at
|
|
18
|
-
| `create_footer` | Creates a
|
|
19
|
-
| `create_footnote` | Creates a
|
|
20
|
-
| `delete_footer` | Deletes a
|
|
21
|
-
| `create_header` | Creates a
|
|
22
|
-
| `delete_header` |
|
|
23
|
-
| `
|
|
24
|
-
| `delete_paragraph_bullets` |
|
|
25
|
-
| `update_paragraph_style` |
|
|
12
|
+
| `create_document` | Creates a blank Google Document with a specified title using a POST request to the Google Docs API. This is the primary creation method, returning the document's metadata, including the ID required by functions like `get_document` or `insert_text` to perform subsequent operations on the new file. |
|
|
13
|
+
| `get_document` | Retrieves the complete content and metadata for a specific Google Document using its unique ID. This function performs a GET request to the API, returning the full JSON response. It's the primary read operation, contrasting with `create_document` which creates new documents. |
|
|
14
|
+
| `insert_text` | Inserts a text string at a specified index within an existing Google Document using the `batchUpdate` API. This function adds new textual content, distinguishing it from functions that insert non-text elements like tables or apply formatting (`apply_text_style`) to existing content. |
|
|
15
|
+
| `apply_text_style` | Applies character-level formatting such as bold, italic, font size, color, and hyperlinks to a specified text range in a document. This function modifies text appearance, distinguishing it from `update_paragraph_style`, which handles block-level formatting like alignment and headings. |
|
|
16
|
+
| `delete_content_range` | Deletes content within a specified index range in a Google Document via the batchUpdate API. It removes any content based on location, distinguishing it from functions like `delete_header` or `delete_paragraph_bullets`, which remove specific structures or styles instead. |
|
|
17
|
+
| `insert_table` | Inserts a table with specified row and column dimensions at a given index in a Google Document. This function uses the `batchUpdate` API for precise placement, allowing the table to be added to the document's body, a header, or a footer, returning the API's response. |
|
|
18
|
+
| `create_footer` | Creates a footer of a specified type in a Google Document via the batch update API. The footer can optionally be associated with a specific section break, enabling distinct footers for different document sections, distinguishing it from the `create_header` and `create_footnote` functions. |
|
|
19
|
+
| `create_footnote` | Creates a footnote via the batch update API, inserting a numbered reference at a specified index or a segment's end. This function adds an in-body citation, distinguishing it from `create_footer` which creates a content block at the bottom of the page. |
|
|
20
|
+
| `delete_footer` | Deletes a specific footer from a Google Document using its unique ID via a `batchUpdate` request. This operation, the counterpart to `create_footer`, removes an entire footer section, unlike `delete_content_range` which targets text within a specified index range. |
|
|
21
|
+
| `create_header` | Creates a header in a specified Google Document via the batchUpdate API endpoint. This function allows defining the header type and can optionally associate it with a specific section break location. It complements the `delete_header` and `create_footer` functions for managing document structure. |
|
|
22
|
+
| `delete_header` | Removes a specific header from a Google Document using its unique ID. This function sends a `deleteHeader` request to the batch update API, acting as the direct counterpart to `create_header` and distinguishing it from `delete_footer` which removes footers. |
|
|
23
|
+
| `apply_list_style` | Applies a predefined bulleted or numbered list format to paragraphs within a specified range using a `bullet_preset`. This function adds list formatting, distinguishing it from its counterpart, `delete_paragraph_bullets`, and other styling functions like `update_paragraph_style`, which handles alignment and headings. |
|
|
24
|
+
| `delete_paragraph_bullets` | Removes bullet points or numbering from paragraphs within a specified range in a Google Document. This function reverts list formatting via the batch update API, acting as the direct counterpart to `apply_list_style` and preserving the underlying text content, unlike `delete_content_range`. |
|
|
25
|
+
| `update_paragraph_style` | Applies paragraph-level formatting, such as named styles (e.g., 'HEADING_1'), alignment, or text direction, to a specified text range. This function handles block-level styles, distinguishing it from `apply_text_style`, which formats individual characters with attributes like bold or italic. |
|
|
@@ -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
|
|
14
|
+
Creates a blank Google Document with a specified title using a POST request to the Google Docs API. This is the primary creation method, returning the document's metadata, including the ID required by functions like `get_document` or `insert_text` to perform subsequent operations on the new file.
|
|
15
15
|
|
|
16
16
|
Args:
|
|
17
17
|
title: The title for the new Google Document to be created
|
|
@@ -34,7 +34,7 @@ class GoogleDocsApp(APIApplication):
|
|
|
34
34
|
|
|
35
35
|
def get_document(self, document_id: str) -> dict[str, Any]:
|
|
36
36
|
"""
|
|
37
|
-
Retrieves the complete content and metadata for a specific Google Document
|
|
37
|
+
Retrieves the complete content and metadata for a specific Google Document using its unique ID. This function performs a GET request to the API, returning the full JSON response. It's the primary read operation, contrasting with `create_document` which creates new documents.
|
|
38
38
|
|
|
39
39
|
Args:
|
|
40
40
|
document_id: The unique identifier of the document to retrieve
|
|
@@ -57,7 +57,7 @@ class GoogleDocsApp(APIApplication):
|
|
|
57
57
|
self, document_id: str, content: str, index: int = 1
|
|
58
58
|
) -> dict[str, Any]:
|
|
59
59
|
"""
|
|
60
|
-
Inserts a string
|
|
60
|
+
Inserts a text string at a specified index within an existing Google Document using the `batchUpdate` API. This function adds new textual content, distinguishing it from functions that insert non-text elements like tables or apply formatting (`apply_text_style`) to existing content.
|
|
61
61
|
|
|
62
62
|
Args:
|
|
63
63
|
document_id: The unique identifier of the Google Document to be updated
|
|
@@ -204,7 +204,7 @@ class GoogleDocsApp(APIApplication):
|
|
|
204
204
|
tab_id: str | None = None,
|
|
205
205
|
) -> dict[str, Any]:
|
|
206
206
|
"""
|
|
207
|
-
Applies paragraph formatting, such as named styles (
|
|
207
|
+
Applies paragraph-level formatting, such as named styles (e.g., 'HEADING_1'), alignment, or text direction, to a specified text range. This function handles block-level styles, distinguishing it from `apply_text_style`, which formats individual characters with attributes like bold or italic.
|
|
208
208
|
|
|
209
209
|
Args:
|
|
210
210
|
document_id: The unique identifier of the Google Document to be updated
|
|
@@ -286,7 +286,7 @@ class GoogleDocsApp(APIApplication):
|
|
|
286
286
|
tab_id: str | None = None,
|
|
287
287
|
) -> dict[str, Any]:
|
|
288
288
|
"""
|
|
289
|
-
Deletes content within a specified range in a Google Document via
|
|
289
|
+
Deletes content within a specified index range in a Google Document via the batchUpdate API. It removes any content based on location, distinguishing it from functions like `delete_header` or `delete_paragraph_bullets`, which remove specific structures or styles instead.
|
|
290
290
|
|
|
291
291
|
Args:
|
|
292
292
|
document_id: The unique identifier of the Google Document to be updated
|
|
@@ -333,7 +333,7 @@ class GoogleDocsApp(APIApplication):
|
|
|
333
333
|
tab_id: str = None,
|
|
334
334
|
) -> dict[str, Any]:
|
|
335
335
|
"""
|
|
336
|
-
Inserts a table with specified row and column dimensions at a given
|
|
336
|
+
Inserts a table with specified row and column dimensions at a given index in a Google Document. This function uses the `batchUpdate` API for precise placement, allowing the table to be added to the document's body, a header, or a footer, returning the API's response.
|
|
337
337
|
|
|
338
338
|
Args:
|
|
339
339
|
document_id: The unique identifier of the Google Document to be updated
|
|
@@ -390,7 +390,7 @@ class GoogleDocsApp(APIApplication):
|
|
|
390
390
|
section_break_tab_id: str = None,
|
|
391
391
|
) -> dict[str, Any]:
|
|
392
392
|
"""
|
|
393
|
-
Creates a footer of a specified type in a Google Document via the batch update API. The footer can optionally be associated with a specific section break, enabling distinct footers for different document sections, distinguishing it from `create_header
|
|
393
|
+
Creates a footer of a specified type in a Google Document via the batch update API. The footer can optionally be associated with a specific section break, enabling distinct footers for different document sections, distinguishing it from the `create_header` and `create_footnote` functions.
|
|
394
394
|
|
|
395
395
|
Args:
|
|
396
396
|
document_id: The unique identifier of the Google Document to be updated
|
|
@@ -442,7 +442,7 @@ class GoogleDocsApp(APIApplication):
|
|
|
442
442
|
end_of_segment_tab_id: str = None,
|
|
443
443
|
) -> dict[str, Any]:
|
|
444
444
|
"""
|
|
445
|
-
Creates a footnote
|
|
445
|
+
Creates a footnote via the batch update API, inserting a numbered reference at a specified index or a segment's end. This function adds an in-body citation, distinguishing it from `create_footer` which creates a content block at the bottom of the page.
|
|
446
446
|
|
|
447
447
|
Args:
|
|
448
448
|
document_id: The unique identifier of the Google Document to be updated
|
|
@@ -505,7 +505,7 @@ class GoogleDocsApp(APIApplication):
|
|
|
505
505
|
tab_id: str = None,
|
|
506
506
|
) -> dict[str, Any]:
|
|
507
507
|
"""
|
|
508
|
-
Deletes a specific footer from a Google Document using its unique ID
|
|
508
|
+
Deletes a specific footer from a Google Document using its unique ID via a `batchUpdate` request. This operation, the counterpart to `create_footer`, removes an entire footer section, unlike `delete_content_range` which targets text within a specified index range.
|
|
509
509
|
|
|
510
510
|
Args:
|
|
511
511
|
document_id: The unique identifier of the Google Document to be updated
|
|
@@ -593,7 +593,7 @@ class GoogleDocsApp(APIApplication):
|
|
|
593
593
|
tab_id: str = None,
|
|
594
594
|
) -> dict[str, Any]:
|
|
595
595
|
"""
|
|
596
|
-
Removes a specific header from a Google Document using its unique ID. This function
|
|
596
|
+
Removes a specific header from a Google Document using its unique ID. This function sends a `deleteHeader` request to the batch update API, acting as the direct counterpart to `create_header` and distinguishing it from `delete_footer` which removes footers.
|
|
597
597
|
|
|
598
598
|
Args:
|
|
599
599
|
document_id: The unique identifier of the Google Document to be updated
|
|
@@ -634,7 +634,7 @@ class GoogleDocsApp(APIApplication):
|
|
|
634
634
|
tab_id: str = None,
|
|
635
635
|
) -> dict[str, Any]:
|
|
636
636
|
"""
|
|
637
|
-
Applies a
|
|
637
|
+
Applies a predefined bulleted or numbered list format to paragraphs within a specified range using a `bullet_preset`. This function adds list formatting, distinguishing it from its counterpart, `delete_paragraph_bullets`, and other styling functions like `update_paragraph_style`, which handles alignment and headings.
|
|
638
638
|
|
|
639
639
|
Args:
|
|
640
640
|
document_id: The unique identifier of the Google Document to be updated
|
|
@@ -704,7 +704,7 @@ class GoogleDocsApp(APIApplication):
|
|
|
704
704
|
tab_id: str = None,
|
|
705
705
|
) -> dict[str, Any]:
|
|
706
706
|
"""
|
|
707
|
-
Removes bullet points or numbering from paragraphs within a specified range in a Google Document. This function
|
|
707
|
+
Removes bullet points or numbering from paragraphs within a specified range in a Google Document. This function reverts list formatting via the batch update API, acting as the direct counterpart to `apply_list_style` and preserving the underlying text content, unlike `delete_content_range`.
|
|
708
708
|
|
|
709
709
|
Args:
|
|
710
710
|
document_id: The unique identifier of the Google Document to be updated
|
|
@@ -9,60 +9,57 @@ This is automatically generated from OpenAPI schema for the GoogleDriveApp API.
|
|
|
9
9
|
|
|
10
10
|
| Tool | Description |
|
|
11
11
|
|------|-------------|
|
|
12
|
-
| `get_drive_info` |
|
|
13
|
-
| `
|
|
14
|
-
| `
|
|
15
|
-
| `
|
|
16
|
-
| `find_folder_id_by_name` | Searches for
|
|
17
|
-
| `create_folder` | Creates a new folder in Google Drive
|
|
18
|
-
| `
|
|
19
|
-
| `
|
|
20
|
-
| `
|
|
21
|
-
| `
|
|
22
|
-
| `
|
|
23
|
-
| `
|
|
24
|
-
| `
|
|
25
|
-
| `
|
|
26
|
-
| `
|
|
27
|
-
| `
|
|
28
|
-
| `
|
|
29
|
-
| `
|
|
30
|
-
| `
|
|
31
|
-
| `update_comment` |
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
37
|
-
| `
|
|
38
|
-
| `unhide_drive` |
|
|
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
|
-
| `fetch_user_email` | Fetch User Email |
|
|
67
|
-
| `grant_google_drive_access` | Grant Google Drive Access |
|
|
68
|
-
| `move_files` | Moves a file from one folder to another by adding a new parent and removing the old parent. |
|
|
12
|
+
| `get_drive_info` | Fetches key user and storage quota information for the authenticated Google Drive account. This streamlined function offers a focused alternative to `get_about_info`, which queries the same endpoint but exposes all available API parameters, providing a simpler way to get essential account details. |
|
|
13
|
+
| `search_files` | Searches for files in Google Drive, allowing for powerful filtering, sorting, and pagination. This streamlined function offers a more user-friendly alternative to the comprehensive `search_files_advanced` method, making it ideal for targeted queries like finding files by name, type, or parent folder. |
|
|
14
|
+
| `create_text_file` | Creates a file in Google Drive using an in-memory text string. Unlike `upload_file_from_path`, which reads from a local file, this function first creates the file's metadata (name, parent) and then uploads the provided string content, returning the new file's complete metadata upon completion. |
|
|
15
|
+
| `upload_file_from_path` | Uploads a local file to Google Drive by reading its binary content from a path. It creates the file's metadata, uploads the content, and returns the new file's metadata. This differs from `create_text_file` which uses in-memory string content instead of a local file path. |
|
|
16
|
+
| `find_folder_id_by_name` | Searches for a non-trashed folder by its exact name, returning the ID of the first match. As a utility for `create_folder`, it resolves parent names to IDs and returns None if the folder isn't found or an API error occurs, logging the failure internally. |
|
|
17
|
+
| `create_folder` | Creates a new folder in Google Drive, optionally within a parent specified by name or ID. If a parent name is given, it internally resolves it to an ID using the `find_folder_id_by_name` function. Returns the metadata for the newly created folder upon successful creation. |
|
|
18
|
+
| `get_file_details` | Fetches all default metadata for a specific file by its unique ID. This function provides a simple, direct retrieval of a single file's complete attributes, differing from `search_files` which performs broad queries for multiple files based on various criteria. |
|
|
19
|
+
| `trash_file` | Moves a specified file to the trash using its ID. It provides simplified error handling by returning a dictionary with a success or error message, unlike the `permanently_delete_file` function which raises an exception on failure. |
|
|
20
|
+
| `list_installed_apps` | Retrieves a list of the user's installed Google Drive applications. Allows optional filtering by file extensions or MIME types to find apps capable of opening specific file formats, returning a detailed list of matching applications. |
|
|
21
|
+
| `get_app_by_id` | Retrieves detailed information for a single installed Google Drive application using its unique ID. This provides a targeted alternative to `list_installed_apps`, which returns a complete list, allowing for focused data retrieval about a specific application. |
|
|
22
|
+
| `get_about_info` | Retrieves user account and Drive settings from the `/about` endpoint. This generic function provides full parameter control, offering a flexible alternative to the `get_drive_info` method, which requests specific, predefined fields like storage quota and user details. |
|
|
23
|
+
| `list_drive_changes` | Fetches a paginated list of file changes for a user's account or a specific shared drive, using a required page token. Supports various filters to customize the change log, enabling tracking of file activity for synchronization or auditing. |
|
|
24
|
+
| `get_changes_start_token` | Retrieves a starting page token representing the current state of a user's Drive or a shared drive. This token serves as a baseline for subsequent calls to list future file and folder changes, enabling efficient, incremental change tracking. |
|
|
25
|
+
| `watch_drive_changes` | Sets up a push notification channel to monitor changes across a user's Google Drive or a specific shared drive. This allows an external service to receive updates when files are modified, added, or deleted, based on specified filters. |
|
|
26
|
+
| `stop_watching_channel` | Terminates an active push notification channel, ceasing the delivery of updates for a watched Google Drive resource. This requires the channel's ID and resource ID to identify and close the specific notification stream, effectively unsubscribing from real-time changes. |
|
|
27
|
+
| `list_file_comments` | Retrieves a paginated list of all top-level comments for a specified Google Drive file. It supports filtering by modification time and including deleted comments, fetching parent comments rather than replies, unlike `list_comment_replies`. |
|
|
28
|
+
| `create_file_comment` | Creates a new comment on a specified Google Drive file. It requires a file ID and the comment's content, returning the new comment's metadata. This adds top-level comments, distinct from `create_comment_reply` which replies to existing comments. |
|
|
29
|
+
| `get_file_comment_by_id` | Retrieves a single comment's metadata using its unique comment and file IDs. This provides targeted access to one comment, unlike `list_file_comments` which lists all comments for a file. It can optionally include deleted comments in the returned data. |
|
|
30
|
+
| `delete_comment` | Permanently deletes a specific comment from a Google Drive file, identified by both the file and comment IDs. This irreversible action removes the top-level comment and its replies, distinguishing it from the `delete_reply` function which targets only individual replies within a comment thread. |
|
|
31
|
+
| `update_comment` | Updates an existing comment on a specified file using its unique ID. This function allows for partial modification of the comment's properties, such as its content or resolved status, and returns the updated comment's metadata. |
|
|
32
|
+
| `list_shared_drives` | Retrieves a paginated list of shared drives accessible to the user. Supports optional query-based filtering and can be executed with domain administrator privileges to list all shared drives within the domain, returning a dictionary containing the list of drives and pagination details. |
|
|
33
|
+
| `create_shared_drive` | Creates a new shared drive using a unique `requestId` for idempotency. This function allows specifying initial properties such as its name, background image, and access restrictions, returning the created drive's metadata on success. |
|
|
34
|
+
| `get_shared_drive_metadata` | Retrieves metadata for a specific shared drive using its ID. Unlike `get_drive_info`, which gets user account data, this function targets a single drive's properties. It supports domain administrator access and allows specifying fields to customize the response, returning the drive's detailed information. |
|
|
35
|
+
| `delete_shared_drive` | Permanently deletes a shared drive by its ID. This irreversible action removes the entire drive and, unlike `trash_file`, can optionally delete all its contents for domain administrators, providing a complete removal solution for a shared workspace. |
|
|
36
|
+
| `update_shared_drive` | Updates a shared drive's metadata properties, such as its name, theme, or color, using its ID. This function sends a PATCH request to modify the drive and returns a dictionary containing the complete, updated metadata for the shared drive upon success. |
|
|
37
|
+
| `hide_drive` | Hides a specified shared drive from the user's default view using its ID. This function sends a POST request to the API's hide endpoint, returning updated drive metadata. It is the direct counterpart to the `unhide_drive` function, which restores visibility. |
|
|
38
|
+
| `unhide_drive` | Makes a hidden shared drive visible again in the user's default view by its ID. This function sends a POST request to the Google Drive API's `/unhide` endpoint, effectively reversing the action of the `hide_drive` function, and returns the updated drive metadata. |
|
|
39
|
+
| `search_files_advanced` | Exhaustively lists or searches files using advanced parameters for filtering, sorting, and pagination. As a low-level alternative to the simplified `search_files` function, it provides granular control by exposing the full range of Google Drive API query options for complex retrieval. |
|
|
40
|
+
| `create_file_metadata` | Creates a new file's metadata resource in Google Drive, allowing detailed configuration of properties like name, MIME type, and parent folders. Unlike `upload_file_from_path` or `create_text_file`, this function only creates the metadata entry without uploading any file content. |
|
|
41
|
+
| `generate_file_ids` | Generates a batch of unique IDs for future Google Drive files or shortcuts. This utility optimizes creation workflows by allowing identifiers to be fetched in advance, specifying quantity, storage space (e.g., 'drive'), and item type (e.g., 'files'). |
|
|
42
|
+
| `empty_trash` | Permanently deletes all files and folders from the trash. This irreversible action can target the user's main trash or a specific shared drive's trash via its `driveId`, distinguishing it from `trash_file` which only moves a single item to the trash. |
|
|
43
|
+
| `permanently_delete_file` | Permanently deletes a file by its ID, bypassing the trash for irreversible removal. Unlike the simpler `trash_file` function, this method offers advanced control through numerous optional API parameters, such as handling files located in shared drives. |
|
|
44
|
+
| `update_file_metadata` | Modifies a file's metadata properties, such as name, description, or trashed status, using its unique ID. It also moves files by changing parent attributes, acting as a comprehensive alternative to the more specialized `move_file` function. |
|
|
45
|
+
| `copy_file` | Creates a copy of a file using its ID. This function can simultaneously apply metadata updates, such as a new name or parent folder, to the duplicate upon creation and returns the new file's metadata. |
|
|
46
|
+
| `export_file` | Exports a Google Workspace document (e.g., Google Doc) by its ID, converting it to a specified format like PDF using the `mimeType` argument. This function returns the raw, converted file content for download, differentiating it from methods that retrieve metadata. |
|
|
47
|
+
| `list_file_labels` | Retrieves a paginated list of all labels applied to a specific file in Google Drive, identified by its unique ID. It allows controlling the number of results per page and navigating through pages of labels, differing from `modify_file_labels` which alters them. |
|
|
48
|
+
| `modify_file_labels` | Atomically modifies the set of labels on a specified file in Google Drive. It can add, update, or remove labels based on the provided list of modifications, returning the updated label metadata for the file. |
|
|
49
|
+
| `watch_file_for_changes` | Establishes a push notification channel for a specific file, enabling real-time updates via webhook. Unlike `watch_drive_changes`, which monitors an entire drive, this function provides targeted notifications for content or metadata updates to a single file identified by its ID. |
|
|
50
|
+
| `list_file_permissions` | Retrieves the list of permissions for a specified file or shared drive. This function supports pagination and various query parameters to customize results for different access levels, such as domain administration, unlike `get_permission_by_id` which fetches a single permission. |
|
|
51
|
+
| `create_file_permission` | Creates a permission for a file or shared drive, assigning roles like 'reader' to a user, group, or domain. This comprehensive method supports advanced options like notification emails and ownership transfer, distinguishing it from the simplified `create_permission` function which offers fewer parameters. |
|
|
52
|
+
| `get_permission_by_id` | Retrieves metadata for a specific permission on a file or shared drive, identified by its unique ID. This provides targeted access information, unlike `list_file_permissions` which fetches all permissions for a file. |
|
|
53
|
+
| `delete_permission` | Deletes a specific permission from a Google Drive file or shared drive, identified by their respective IDs. This action permanently revokes the access associated with that permission, with optional parameters for shared drives and domain administrator access. |
|
|
54
|
+
| `update_permission` | Updates an existing permission for a file or shared drive using its permission ID. This function can modify a user's role (e.g., from reader to writer), transfer ownership, or change expiration settings, returning the updated permission object upon success. |
|
|
55
|
+
| `list_comment_replies` | Fetches a paginated list of replies for a specific comment, requiring both file and comment IDs. It can optionally include deleted replies. Unlike `list_file_comments`, which retrieves all top-level comments, this function targets replies within a single comment's thread. |
|
|
56
|
+
| `create_comment_reply` | Creates a reply to a specific comment on a Google Drive file. It requires the file ID and the parent comment ID, posting the new reply's content to the correct comment thread. |
|
|
57
|
+
| `get_reply_by_id` | Retrieves a specific reply's metadata from a comment thread using file, comment, and reply IDs. Unlike `list_comment_replies`, which fetches all replies for a comment, this function targets a single one and can optionally include deleted replies in the result. |
|
|
58
|
+
| `delete_reply` | Permanently deletes a specific reply from a comment on a Google Drive file. This targeted operation requires file, comment, and reply IDs to remove a single nested reply, distinguishing it from `delete_comment` which removes an entire top-level comment. |
|
|
59
|
+
| `update_reply` | Updates a specific reply to a comment on a file in Google Drive. It uses file, comment, and reply IDs to locate the reply, allowing modification of its properties like content. The function then returns the updated reply's metadata. |
|
|
60
|
+
| `list_file_revisions` | Retrieves a paginated list of all historical versions (revisions) for a specific file in Google Drive. Supports page size and token parameters to navigate a file's change history, differentiating it from functions that get, update, or delete a single revision. |
|
|
61
|
+
| `get_revision` | Fetches metadata for a single, specific file revision using its file and revision IDs. Unlike `list_file_revisions` which lists a file's complete version history, this function targets one historical version to retrieve its unique metadata. |
|
|
62
|
+
| `delete_file_revision` | Permanently deletes a specific revision of a file, identified by its file and revision IDs. This irreversible action removes a single historical version, distinguishing it from functions like `permanently_delete_file`, which deletes the entire file, or `trash_file`, which moves it to the trash. |
|
|
63
|
+
| `update_revision` | Updates the metadata for a specific file revision using its file and revision IDs. It modifies properties such as pinning the revision (`keepForever`) or its publication status, and returns the updated revision metadata upon success. |
|
|
64
|
+
| `create_permission` | Grants a specified role (e.g., 'reader') to a user or group for a file. This is a simplified alternative to the comprehensive `create_file_permission` function, focusing only on the core arguments required for basic sharing operations and omitting advanced options like notification settings or ownership transfer. |
|
|
65
|
+
| `move_file` | Moves a file to a new folder by updating its parent references. This function adds the file to a destination folder (`add_parents`) and removes it from the source (`remove_parents`), offering a focused alternative to the more comprehensive `update_file_metadata` function. |
|