MCP Tool Directory
Each row is one tool from one provider. Tools sharing a name across providers (e.g. search) are listed separately because they aren't interchangeable.
2684 tools indexed
All tools
30 of 2684 shown
GMAIL_GET_PEOPLE
RemoteRetrieves either a specific person's details (using `resource name`) or lists 'other contacts' (if `other contacts` is true), with `person fields` specifying the data to return.
GMAIL_GET_PROFILE
RemoteRetrieves key gmail profile information (email address, message/thread totals, history id) for a user.
gmail_get_thread
RemoteGet all messages in a thread (conversation). Returns the complete email chain.
GMAIL_LIST_DRAFTS
RemoteRetrieves a paginated list of email drafts from a user's gmail account. use verbose=true to get full draft details including subject, body, sender, and timestamp.
GMAIL_LIST_LABELS
RemoteRetrieves a list of all system and user-created labels for the specified gmail account.
gmail_list_messages
RemoteList messages in the mailbox. Supports Gmail search syntax for filtering (e.g., from:, to:, subject:, is:unread, has:attachment).
GMAIL_LIST_THREADS
RemoteRetrieves a list of email threads from a gmail account, identified by `user id` (email address or 'me'), supporting filtering and pagination.
gmail_modify_message
RemoteAdd or remove labels on a message. Use this to mark as read/unread, star/unstar, or apply custom labels.
gmail_modify_thread
RemoteAdd or remove labels on all messages in a thread.
GMAIL_MODIFY_THREAD_LABELS
RemoteAdds or removes specified existing label ids from a gmail thread, affecting all its messages; ensure the thread id is valid.
GMAIL_MOVE_TO_TRASH
RemoteMoves an existing, non-deleted email message to the trash for the specified user.
GMAIL_PATCH_LABEL
RemotePatches the specified label.
GMAIL_REMOVE_LABEL
RemotePermanently deletes a specific, existing user-created gmail label by its id for a user; cannot delete system labels.
GMAIL_REPLY_TO_THREAD
RemoteSends a reply within a specific gmail thread using the original thread's subject, requiring a valid `thread id` and correctly formatted email addresses. supports attachments via the `attachment` parameter with valid `s3key`, `mimetype`, and `name`.
gmail_send_draft
RemoteSend an existing draft. The draft is removed from the drafts list after sending.
gmail_send_message
RemoteSend an email message. Supports plain text and HTML body, CC, BCC, and replying to threads.
gmail_trash_message
RemoteMove a message to the trash. Can be undone with gmail_untrash_message.
gmail_trash_thread
RemoteMove all messages in a thread to the trash.
gmail_untrash_message
RemoteRemove a message from the trash, restoring it to its original location.
gmail_untrash_thread
RemoteRemove all messages in a thread from the trash.
gmail_update_draft
RemoteUpdate an existing draft with new content. Replaces the entire draft message.
gmail_update_label
RemoteUpdate a label name, visibility, or color.
gmail_update_vacation
RemoteEnable or disable vacation auto-reply (out of office) with custom response message.
GOOGLECALENDAR_ACL_PATCH
RemoteUpdates an access control rule for a calendar using patch semantics (partial update). This allows modifying specific fields without affecting other properties. Note: Each patch request consumes three quota units. For domain-type ACL rules, if PATCH fails with 500 error, this action will automatically fallback to UPDATE method.
GOOGLECALENDAR_CALENDAR_LIST_INSERT
RemoteInserts an existing calendar into the user's calendar list.
GOOGLECALENDAR_CALENDAR_LIST_UPDATE
RemoteUpdates an existing entry on the user\'s calendar list.
GOOGLECALENDAR_CALENDARS_DELETE
RemoteDeletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars.
GOOGLECALENDAR_CALENDARS_UPDATE
RemoteUpdates metadata for a calendar.
GOOGLECALENDAR_CLEAR_CALENDAR
RemoteClears a primary calendar. This operation deletes all events associated with the primary calendar of an account.
GOOGLECALENDAR_CREATE_EVENT
RemoteCreate a Google Calendar event using `start_datetime` plus `event_duration_hour` and `event_duration_minutes` fields to derive the end time. Requires calendar write access. The organizer is added as an attendee unless `exclude_organizer` is True. Example request to create event for 1 hour 30 minutes: { "calendar_id": "primary", "start_datetime": "2025-01-16T13:00:00", "timezone": "America/New_York", "event_duration_hour": 1, "event_duration_minutes": 30, "summary": "Client sync", "attendees": [{"email": "[email protected]"}] }