Skip to content
Elaichi Elaichi

sso

Google

Connect Google to Elaichi and hand every teammate a governed MCP endpoint — 113 tools ready to call from Claude, Cursor, or any MCP client, clamped by roles, restrictions, and an audit log.

Google

AI tools

Google tools for your AI agents

113 tools are ready to mint as an MCP endpoint the moment you connect Google — governed by the same roles, restrictions, and audit log as everything else in Elaichi.

list_all_google_files

Retrieves the user's files stored in Google Drive. This method allows filtering results using the q parameter, which accepts search queries to find specific files based on name, type, ownership, and other metadata. The response includes key file attributes such as id, name, mimeType, createdTime, modifiedTime, owners, driveId, shared, and permissions.

get_single_google_file_by_id

Retrieves metadata or content from a single file on the user's Google Drive. It always requires the ID to fetch.

list_all_google_folders

List all Google Drive folders. Returns folder objects including id, name, and mimeType, filtered automatically to items of type folder.

get_single_google_folder_by_id

Get a single Google Drive folder by id. Returns the full folder metadata including id, name, mimeType, and parents. Required: id.

list_all_google_drive

List all shared drives available in Google Drive. Returns an array of drive objects including their metadata.

get_single_google_drive_by_id

Get a single Google Drive shared drive by id. Returns the full drive object including its metadata. Required: id.

list_all_google_search

Retrieves the user's files stored in Google Drive. This method allows filtering results using the q parameter, which accepts search queries to find specific files or folders based on name, type, ownership, and other metadata. The response includes key file attributes such as id, name, mimeType, createdTime, modifiedTime, owners, parents, driveId, shared, and permissions.

get_single_google_file_export_by_id

Export a Google Drive file to a specified MIME type. Returns the exported file content as a binary stream. Required: id (the Drive file ID), mimeType (the target export format, e.g. "application/pdf").

list_all_google_drive_items

List files and folders in Google Drive, including items from all shared drives. Returns an array of file metadata objects.

get_single_google_drive_item_by_id

Get a single Google Drive file or folder by id. Returns the full file metadata object. Required: id.

list_all_google_user_info

Retrieves basic profile information about the authenticated user in Google Calendar. The response includes essential details such as the user's unique identifier (sub), full name (name), first name (given_name), last name (family_name), profile picture URL (picture), and email address (email).

get_single_google_form_by_id

Get a single Google Form by id. Returns the full form object including its structure, title, and items. Required: id.

list_all_google_forms

List all Google Forms accessible in Google Drive. Returns an array of file objects representing forms, including id, name, and mimeType.

list_all_google_responses

List all responses submitted to a specific Google Form. Returns an array of form response objects. Required: form_id.

get_single_google_response_by_id

Get a single response submitted to a Google Form by its id. Returns the full response object. Required: form_id and id.

list_all_google_conference_records

List Google Meet conference records. Returns a collection of conferenceRecords objects from the Google Meet API.

get_single_google_conference_record_by_id

Get a single Google Meet conference record by id. Returns the conference record object. Required: id.

list_all_google_conference_record_transcripts

List transcripts for a Google Meet conference record. Returns a collection of transcript objects associated with the specified conference record. Required: conference_record_id.

get_single_google_conference_record_transcript_by_id

Get a single transcript from a Google Meet conference record by id. Returns the transcript object for the specified conference record and transcript. Required: conference_record_id and id.

list_all_google_conference_record_transcript_entries

List transcript entries for a specific Google Meet conference record transcript. Returns a collection of transcript entries. Required: conference_record_id, conference_record__transcript_id.

get_single_google_conference_record_transcript_entry_by_id

Get a single transcript entry from a Google Meet conference record transcript by id. Required: conference_record_id, conference_record__transcript_id, id.

list_all_google_conference_record_participants

List participants for a specific Google Meet conference record. Returns an array of participant objects. Required: conference_record_id.

get_single_google_conference_record_participant_by_id

Get a single participant from a Google Meet conference record by id. Returns the participant object. Required: conference_record_id and id.

list_all_google_documents

List Google Drive documents (Google Docs files). Returns an array of file objects including id, name, and mimeType, filtered to documents only.

get_single_google_document_by_id

Get a single Google Drive document by id. Returns the full file metadata object. Required: id.

create_a_google_document

Create a new Google Docs document. Returns the created document object including its document id and title. Required: title.

list_all_google_document_content

Get a Google document by page_id. Returns the full document object including its body content, title, and revision metadata. Required: page_id.

google_document_content_batch_update

Apply one or more structured updates to a Google document identified by document_id. Returns the document id and an array of replies corresponding to each applied request. Required: document_id and requests.

list_all_google_calendar_lists

List the calendars on the authenticated user's Calendar List (owned plus subscribed). Use when browsing available calendars or resolving a display name to a calendar id before calling events list or get. Results are summaries; fetch full calendar metadata via this resource's get method or calendars get. Returns one page; pass the response's next_cursor to fetch subsequent pages.

get_single_google_calendar_list_by_id

Read one Calendar List entry: access role, colors, and visibility for a calendar the user has subscribed to. Use when checking how a calendar appears in the user's list (not the calendar's own metadata — use calendars get for that). Obtain id from the calendar list.

create_a_google_calendar_list

Add an existing calendar to the authenticated user's Calendar List (subscribe). Use when the user wants another calendar to appear in their list. Do NOT use this to create a brand-new secondary calendar — use calendars create for that. Returns the new list entry including the calendar id.

update_a_google_calendar_list_by_id

Update a Calendar List entry's preferences (color, visibility, reminders) for a subscribed calendar. Use when changing how a calendar appears in the user's list without changing the calendar itself. Obtain id from the calendar list.

delete_a_google_calendar_list_by_id

Remove a calendar from the user's Calendar List (unsubscribe). Use when the user no longer wants a subscribed calendar shown. Does not delete the underlying calendar — use calendars delete for that. Returns an empty 204 response on success. Obtain id from the calendar list.

google_calendar_lists_watch

Open a push-notification channel for changes to the user's Calendar List. Use when an app needs webhook alerts when calendars are added or removed from the list — not for reading the list itself (use the calendar list). Returns a channel with id and expiration.

get_single_google_calendar_by_id

Read a Google Calendar's metadata: display name, description, time zone, and location. Use when resolving a calendar id to human-readable details before listing or creating events. Obtain id from the calendar list or calendars create.

create_a_google_calendar

Create a secondary Google Calendar with a summary (display name). Use when the user needs a new calendar separate from their primary one. Returns the created calendar including its id — store it for subsequent event calls. Do not use this to add someone else's calendar to the list; use the calendar list create for that.

update_a_google_calendar_by_id

Update a Google Calendar's metadata (summary, description, time zone, location); only fields provided are changed. Use when renaming a calendar or correcting its details. Obtain id from the calendar list.

delete_a_google_calendar_by_id

Delete a secondary Google Calendar by id. Use when permanently removing a calendar the user owns (not the primary). This delete is permanent and cannot be undone; confirm the exact id and get explicit user confirmation before calling. To wipe events but keep the calendar, use calendars clear instead. Obtain id from the calendar list.

google_calendars_clear

Delete every event on a Google Calendar identified by calendar_id, leaving the calendar itself. Use when the user wants to wipe a calendar clean without deleting it. This clears all events and cannot be undone; confirm the calendar and get explicit user confirmation before calling. To remove the calendar entirely, use calendars delete. Obtain calendar_id from the calendar list.

list_all_google_events

List events on a Google Calendar for a time window. Use when asking what's on the schedule, finding free slots, or resolving an event title to an id. Pass calendar_id (from the calendar list; primary is usually 'primary'). Results are summaries; fetch a full record via this resource's get method. For expanded occurrences of a recurring series, use event instances instead. Returns one page; pass the response's next_cursor to fetch subsequent pages.

create_a_google_event

Create a structured Google Calendar event with title, start/end, attendees, and optional location or conference data. Use when scheduling a meeting with known fields. For a one-line natural-language create ("Lunch Friday 1pm"), prefer events quick-add. For importing an existing iCalendar payload, use events import. Returns the created event including its id.

get_single_google_event_by_id

Read a single Google Calendar event: title, time, attendees, location, and description. Use when you already know the event id and need full details. For browsing many events, use events list instead. Obtain id from events. Requires calendar_id of the calendar that owns the event.

update_a_google_event_by_id

Partially update an existing Google Calendar event; only fields provided are changed. Use when rescheduling, renaming, or editing attendees on a known event. Obtain id from events. Requires calendar_id.

google_events_quick_add

Create a Google Calendar event from a free-text phrase (natural language). Use when the user describes an event in one sentence without structured fields. For full control over attendees, recurrence, or conference data, use events create instead. Returns the created event including its id.

google_events_move

Move a Google Calendar event from one calendar to another. Use when the user wants an event on a different calendar without recreating it. Pass the source calendar_id, event_id, and destination calendar id. Obtain ids from the calendar list and events.

delete_a_google_event_by_id

Delete a Google Calendar event by id. Use when the user asks to cancel or remove a specific event. This delete is permanent and cannot be undone; confirm the exact id and get explicit user confirmation before calling. Obtain id from events. Requires calendar_id.

google_events_import

Import an existing iCalendar event into a Google Calendar, preserving the original event id when possible. Use when migrating or syncing an external .ics event. For creating a brand-new event from structured fields, use events create instead.

google_events_watch

Open a push-notification channel for event changes on a Google Calendar. Use when an app needs webhook alerts for creates/updates/deletes — not for reading the schedule (use events list). Returns a channel with id and expiration. Requires calendar_id.

list_all_google_event_instances

List expanded instances of a recurring Google Calendar event within a time range. Use when you need each occurrence of a series (with concrete start/end times), not the master recurring event. Pass calendar_id and event_id of the recurring series. For ordinary event browsing, use events list instead. Returns one page; pass the response's next_cursor to fetch subsequent pages.

list_all_google_free_busy

Get free/busy information for a set of calendars in Google Calendar. Requires timeMin, timeMax, and items with calendar or group ids. Returns busy time ranges and any errors per calendar.

list_all_google_search_contacts

Get a list of contacts matching the query in Google Calendar. Requires query and readMask. Returns matched contacts with fields specified in readMask such as names, emailAddresses, phoneNumbers, and organizations.

get_single_google_search_contact_by_id

Get information about a specific contact by id in Google Calendar. Requires personFields parameter specifying which fields to return such as names, emailAddresses, phoneNumbers, and organizations.

delete_a_google_search_contact_by_id

Delete a contact person by id in Google Calendar. The response is empty if successful. Non-contact data will not be deleted. Mutate requests must be sent sequentially to avoid latency and failures.

list_all_google_other_contacts

Get a list of other contacts matching the query in Google Calendar. Requires query and readMask parameters. Returns matched contacts with fields emailAddresses, metadata, names, and phoneNumbers.

list_all_google_acl

List who can access a Google Calendar and their roles (reader, writer, owner). Use when auditing sharing or resolving who has access before changing permissions. Pass calendar_id. Results are summaries; fetch a full record via this resource's get method. Returns one page; pass the response's next_cursor to fetch subsequent pages.

get_single_google_acl_by_id

Read one ACL rule for a Google Calendar: the subject (user/group/domain) and their role. Use when inspecting a known sharing rule. Obtain id from calendar ACL. Requires calendar_id.

delete_a_google_acl_by_id

Revoke a Google Calendar sharing rule by deleting an ACL entry. Use when removing someone's access. This delete is permanent and cannot be undone; confirm the exact id and get explicit user confirmation before calling. Obtain id from calendar ACL. Requires calendar_id.

update_a_google_acl_by_id

Change the role or scope of an existing Google Calendar ACL rule. Use when upgrading/downgrading someone's access. Obtain id from calendar ACL. Requires calendar_id.

create_a_google_acl

Grant access to a Google Calendar by creating an ACL rule (role + scope). Use when sharing a calendar with a user, group, or domain. Returns the created rule including its id. Requires calendar_id.

google_acl_watch

Open a push-notification channel for ACL changes on a Google Calendar. Use when an app needs webhook alerts when sharing rules change — not for listing ACL (use calendar ACL). Requires calendar_id.

google_channels_stop

Stop watching resources through a channel in Google Calendar. Returns an empty response on success.

list_all_google_colors

List the palette of calendar and event color ids with background/foreground hex values. Use when mapping a colorId on a calendar or event to a display color. Read-only; does not change any calendar.

list_all_google_settings

List the authenticated user's Google Calendar settings (locale, time zone, default event duration, etc.). Use when reading preference values that affect how events are displayed or created. Returns one page; pass the response's next_cursor to fetch subsequent pages.

get_single_google_setting_by_id

Read one Google Calendar user setting by id (key/value). Use when you need a specific preference such as timezone or locale. Obtain id from settings.

google_settings_watch

Open a push-notification channel for Google Calendar settings changes. Use when an app needs webhook alerts for preference updates — not for reading settings (use settings list).

get_single_google_customer_by_id

Get a Google Admin Directory customer by id. Returns the customer object from the Admin Directory API. Required: id.

list_all_google_licenses

List Google Workspace product licenses assigned to users for a given product. Returns user license assignment records. Required: product_id.

list_all_google_usage_reports

List Google Admin usage reports for all users on a specific date. Returns usage activity records per user for the given date. Required: date (in YYYY-MM-DD format).

list_all_google_users

List all Google Workspace users in the directory. Returns a collection of user objects including id, primaryEmail, and name.

get_single_google_user_by_id

Get a single Google Workspace user by id. Returns the full user object including id, primaryEmail, name, and associated account details. Required: id.

create_a_google_user

Create a new Google Workspace user in the directory. Returns the created user object including id and primaryEmail. Required: primaryEmail, name (givenName and familyName), and password.

update_a_google_user_by_id

Update an existing Google Workspace user by id, replacing the resource with the supplied fields. Returns the updated user object including id and primaryEmail. Required: id.

delete_a_google_user_by_id

Delete a Google Workspace user by id. Returns an empty 204 response on success. Required: id.

list_all_google_groups

List groups in the Google Directory. Returns an array of group objects for the customer.

get_single_google_group_by_id

Get a single Google Directory group by id. Returns the full group object. Required: id.

create_a_google_oauth_token

Exchange an authorization code or refresh token for a Google OAuth access token via the Google OAuth2 token endpoint. Returns: access_token, token_type, expires_in, and optionally refresh_token. Required: grant_type, client_id, client_secret, and either code with redirect_uri (for authorization_code grant) or refresh_token (for refresh_token grant).

list_all_google_roles

List all roles defined in the Google Admin Directory for the authenticated customer. Returns an array of role objects from the directory.

list_all_google_role_assignments

List all role assignments for your Google Admin Directory customer account. Returns a collection of role assignment items from the Google Admin SDK.

list_all_google_tokens

List all OAuth tokens issued by a Google user to third-party applications. Returns a collection of token items associated with the user. Required: user_id.

list_all_google_accounts

List all Google Analytics accounts accessible to the authenticated user. Returns a collection of account objects including their id, name, and related metadata.

list_all_google_group_members

List all members of a Google group. Returns member records for the specified group. Required: group_id.

get_single_google_group_member_by_id

Get a single member of a Google group by id. Returns the member record for the specified group and member. Required: group_id, id.

create_a_google_group_member

Add a new member to a Google group. Returns the created member record. Required: group_id.

update_a_google_group_member_by_id

Update an existing member of a Google group by id. Returns the updated member record. Required: group_id, id.

delete_a_google_group_member_by_id

Remove a member from a Google group by id. Returns an empty response on success. Required: group_id, id.

list_all_google_account_users

List Google Analytics account user links (entityUserLinks) for a specific account. Returns a list of items representing user-to-account associations. Required: account_id.

list_all_google_messages

Search and list Gmail messages matching a query. Use when locating specific emails by sender, subject, label, or unread state. Pass q with Gmail search syntax (from:, to:, subject:, label:, is:unread, has:attachment, after:, before:). Results are summaries (id and threadId only); hydrate via this resource's get with format=metadata. For conversation previews with snippets, prefer threads list instead. Returns one page; pass the response's next_cursor to fetch subsequent pages.

get_single_google_message_by_id

Read a single Gmail message: sender, subject, date, and snippet by default via format=metadata. Use when you know the exact message to inspect. Pass format=full only when you need the body to reply or summarize — metadata is faster and usually enough. Obtain id from messages list or threads get.

create_a_google_message

Send a Gmail message on behalf of the authenticated user. Returns the sent message resource including its id and threadId.

update_a_google_message_by_id

Modify labels on a Gmail message (addLabelIds / removeLabelIds) without changing the body. Use when starring, marking read/unread, archiving (remove INBOX), or applying user labels. Does NOT edit subject or body — use drafts for composition. Obtain id from messages.

google_messages_trash

Move a Gmail message to Trash (recoverable). Use when the user asks to delete an email and a soft delete is acceptable. Prefer this over messages delete. Obtain id from messages.

list_all_google_threads

Search and list Gmail conversations (threads) with a preview snippet per thread. Use when browsing recent correspondence or getting a conversation overview. Pass q with Gmail search syntax. For pinpointing one specific email, use messages list instead. Use threads get only when you need every message in the conversation. Returns one page; pass the response's next_cursor to fetch subsequent pages.

get_single_google_thread_by_id

Read a full Gmail conversation (thread) including its messages. Use when summarizing or replying in-thread and you need the complete exchange. For a single message, use messages get instead. Obtain id from threads.

update_a_google_thread_by_id

Modify labels on every message in a Gmail thread. Use when archiving, starring, or labeling a whole conversation at once. Obtain id from threads.

google_threads_trash

Move an entire Gmail conversation (thread) to Trash, including all messages. Use when the user wants to discard a whole thread. Prefer this over threads delete. Obtain id from threads.

list_all_google_labels

List all Gmail labels (system and user-created) in one response. Use when resolving a label name to its id before filtering mail or applying labels. Gmail does not paginate this endpoint. To apply labels to mail, use messages update or threads update — not this method.

get_single_google_label_by_id

Read one Gmail label: name, type, and visibility settings. Use when inspecting a known label id. Obtain id from labels.

create_a_google_label

Create a user-defined Gmail label. Use when the user wants a new mailbox label for organizing mail. Returns the created label including its id. System labels cannot be created this way.

delete_a_google_label_by_id

Permanently delete a user-created Gmail label by its immutable id (e.g. Label_31 from labels). Use when removing a custom label. System labels (INBOX, STARRED, …) cannot be deleted — remove them from messages via messages update instead. This delete is permanent and cannot be undone; confirm the exact id and get explicit user confirmation before calling. Obtain id from labels.

update_a_google_label_by_id

Update a user-created Gmail label's name or visibility. Use when renaming a label. Obtain id from labels. System labels cannot be renamed.

get_single_google_attachment_by_id

Get a specific attachment from a Gmail message by attachment id. Returns the attachment payload including its base64url-encoded data and size. Required: message_id and id. user_id defaults to "me" (the authenticated user).

list_all_google_permissions

List permissions for a Google Drive file. Returns: id, role, type, emailAddress, domain, allowFileDiscovery, and permissionDetails for each permission entry. Required: file_id.

list_all_google_drive_labels

List Google Drive labels available in the account. Returns a collection of label objects from the Drive Labels API with full label view details.

list_all_google_file_labels

List labels applied to a specific Google Drive file. Returns an array of labels associated with the file. Required: file_id.

list_all_google_org_units

List Google organizational units for the customer. Returns an array of organizationUnits objects from the Google Admin Directory API.

list_all_google_people

List people from the Google directory via the People API. Returns a collection of people objects from the caller's domain directory.

list_all_google_comments

List all comments on a Google Drive file. Returns: id, content, author, createdTime, modifiedTime, resolved, and replies for each comment. Required: file_id.

get_single_google_comment_by_id

Get a single comment on a Google Drive file by id. Returns: id, content, author, createdTime, modifiedTime, resolved, anchor, htmlContent, and replies. Required: file_id, id.

list_all_google_revisions

List all revisions for a Google Drive file. Returns a collection of revision objects for the specified file. Required: file_id.

get_single_google_revision_by_id

Get a single revision of a Google Drive file by revision id. Returns the full revision object for the specified file and revision. Required: file_id and id.

list_all_google_drafts

List Gmail drafts with each draft id and underlying message/thread ids (no body). Use when browsing unsent mail or resolving a draft to edit or send. Results are summaries; fetch content via this resource's get method. Pass q with Gmail search syntax when filtering. Returns one page; pass the response's next_cursor to fetch subsequent pages.

get_single_google_draft_by_id

Read one Gmail draft including its message headers and snippet (format=metadata) or full MIME (format=full). Use when reviewing or editing an unsent message before send. Obtain id from drafts.

delete_a_google_draft_by_id

Permanently delete a Gmail draft by id (not moved to Trash). Use when discarding an unsent message. This delete is permanent and cannot be undone; confirm the exact id and get explicit user confirmation before calling. Obtain id from drafts.

How it works

From Google account to governed MCP endpoint

Connect

Link a Google account through Elaichi's hosted connect flow. Credentials are vaulted — nobody, including the AI, ever sees them.

Compose

The connection becomes a toolbox instantly. Curate which Google tools are exposed, rename them, or freeze arguments.

Mint

Mint a personal MCP endpoint on that toolbox and paste it into Claude, Cursor, or any MCP client — governed by roles, restrictions, and audit logs.

Give every teammate a governed MCP server

Start a 14-day Gold trial — connect a product, curate a toolbox, and paste an endpoint into Claude or Cursor in minutes.