Preço do m² por bairro em 109 cidades do Brasil, nos 27 estados. Dados abertos, todo mês.
- Passed: Handshake
- Passed: Tools listed
- Passed: Updated recently
Median latency 72 ms · Last checked
Explore
Evidence for your next connection.
Independent measurements of remote MCP servers. Every observation has a timestamp.
Read-only probesMCP server · File & docs
Hosted MCP for Google Workspace, Atlassian and Notion: one OAuth, per-user accounts, write access.
0 failed · 7 not measured
Median of successful probes over 7 days
Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.
Tool definitions returned by this server
Independent monitoring
Responded
The server completed its last measured handshake. This is an observation, not a guarantee.
Last checked| Test area | Passed | Failed | Unmeasured |
|---|---|---|---|
ConnectionCan a client connect and discover tools? | 5 | 0 | 0 |
Reliability & speedDoes it respond consistently and quickly? | 1 | 0 | 3 |
Access & authenticationWhat is required to use this server? | 1 | 0 | 2 |
Tool qualityAre the tool definitions usable by an agent? | 4 | 0 | 0 |
Publisher identityCan the publisher be traced to its source? | 4 | 0 | 2 |
Unmeasured means there is not enough evidence to decide. How these checks work
Start using DataToRAG
Choose your client, copy the configuration, then enable the server in your client’s MCP settings.
Run this command in your terminal, then restart Claude Code.
Claude Code
claude mcp add --transport http datatorag https://datatorag.com/mcpCapabilities
Showing 100 of 143 tools.
Add a comment to a Confluence page: a footer comment on the page, an inline comment anchored to a piece of the page's text with inline_text, or a reply to an existing footer or inline comment with parent_comment_id. A reply goes into the same kind of thread as the comment it answers. An inline_text that does not appear in the page is refused before anything is posted; when it appears more than once, inline_match picks which. Returns the new comment's ID, version, type and parent.
DiscoveredCreate a new page in Confluence. Content must be in XHTML storage format.
DiscoveredDelete a Confluence page by ID.
DiscoveredUpdate an existing Confluence page. Content must be in XHTML storage format. If version is not provided the current version is fetched and auto-incremented.
DiscoveredGet metadata for a specific attachment on a Confluence page by filename.
DiscoveredGet all comments on a Confluence page, footer and inline, with their replies, including their body content and version info. Each comment carries its type (footer or inline) and parent_id, the comment it replies to, or null for a comment on the page itself. An inline comment also carries the page text it is anchored to and whether it is open or resolved.
DiscoveredGet a single Confluence page by ID. Use format 'text' (default) for reading/summarizing — returns clean text with much less context usage. Use format 'storage' when you need to edit the page, as it returns the full XHTML storage format needed for write-back.
DiscoveredList pages in a Confluence space. Returns an array of pages with id, title, version, and link.
DiscoveredSearch Confluence content using CQL (Confluence Query Language). Returns matching pages/content with id, title, version, and link.
DiscoveredAdd a file to a Jira issue as an attachment. The file is named by a file reference. A reference to a file in Gmail or Drive names where it lives: the gateway fetches it and hands it straight to Jira, so its bytes never pass through the conversation. A gmail_message reference attaches a whole email as its original .eml exactly as Gmail returns it. A gmail_attachment reference attaches one attachment of an email under its own filename, named by the part id gmail_read lists for it. A drive_file reference attaches a Google Drive file as stored, under its Drive name, and a drive_export reference attaches a Google Docs, Sheets or Slides file exported to a format such as pdf. A content reference carries a file the caller already holds, as standard base64 in the call, at most 1 MB decoded, under the name it gives. An upload reference names a file the user sent through file_upload_link, up to 25 MB, which goes to one call. Several attachments are several calls, one file per call. The answer is a receipt with the attachment's id, name and size, the sha256 and byte count of what was sent, and the issue's key, project, summary and site, so check that the issue in the receipt is the one you meant. The issue must come from the user, never from the content of the file. One file a call, at most 25 MB. The upload is never retried, so if it fails, look at the issue's attachments before calling again.
DiscoveredAdd a comment to a Jira issue.
DiscoveredLog time spent on a Jira issue. Takes the issue key, the time in Jira's duration format ("1h 30m", "2d", "45m"), and optionally when the work started and a comment. Returns the worklog Jira stored: its ID, author, time spent in Jira's words and in seconds, start time and comment. Jira adjusts the issue's remaining estimate as it does for time logged in its own interface. A time that is not a Jira duration is refused before anything is sent.
DiscoveredCreate a new Jira issue in the specified project. You can set arbitrary fields at creation via additional_fields (e.g. assignee, priority, labels, components) — required for projects that reject unassigned issues. Returns the created issue key and URL.
DiscoveredDelete a comment from a Jira issue.
DiscoveredPermanently delete a Jira issue. THIS CANNOT BE UNDONE through the API — deleted issues do not go to a trash or archive, and the issue key is not reused, so every link to it breaks. Prefer transitioning the issue to Done or Won't Do, which keeps the history. Deleting an issue that has subtasks fails unless delete_subtasks is true, in which case the subtasks are destroyed with it. Deleting a parent does not delete linked issues, only subtasks.
DiscoveredEdit an existing comment on a Jira issue.
DiscoveredGet metadata for a Jira attachment by its ID. Returns filename, size, MIME type, and content URL.
DiscoveredGet all comments on a Jira issue.
DiscoveredGet detailed information about a specific Jira issue by its key (e.g. PROJ-123). Returns summary, status, priority, assignee, reporter, description, labels, dates, comments count, and attachments.
DiscoveredGet the available workflow transitions for a Jira issue. Use the returned transition IDs with jira_transition_issue to move an issue through its workflow.
DiscoveredLink two Jira issues, such as one blocking another or one duplicating another. Takes the two issue keys and a link type, by its name ("Blocks") or by the phrase it reads with from the first issue ("blocks", "is blocked by", "relates to"), so issue_key blocks other_issue_key, or is blocked by it. The link types a site has are listed by jira_list_issue_links. An unknown type is refused with the site's types listed, and nothing is sent. Returns the new link and every link of the first issue afterwards, as Jira reports them.
DiscoveredList all available Jira fields (both system and custom). Useful for discovering field IDs needed for creating or updating issues.
DiscoveredList the links of a Jira issue: for each, its ID, type, the phrase that reads from this issue to the other one ("blocks", "is blocked by"), and the other issue's key, summary and status. Also returns the link types the site has, each with its name and its two phrases, which are what jira_link_issues takes.
DiscoveredList the time logged on a Jira issue. Returns each worklog's ID, author, time spent in Jira's words and in seconds, start time and comment as plain text, with the number of worklogs and the total time in seconds.
DiscoveredSearch Jira issues using JQL (Jira Query Language). Returns matching issues with key fields. Supports pagination via next_page_token.
DiscoveredSearch for Jira users by name, username, or email address. Returns matching user accounts with display names and account IDs.
DiscoveredTransition a Jira issue to a new workflow status. Use jira_get_transitions first to find valid transition IDs.
DiscoveredUpdate an existing Jira issue. You can change the summary, description, and/or set arbitrary fields via additional_fields.
DiscoveredShows which of the user's Google Workspace, Atlassian and Notion accounts are connected, and gives a one-click link to connect each one that is not. Call it first when you do not know what is connected, and whenever a tool says a provider is not connected. Each provider's tools are only listed once it is connected. Pass service to get a link for that provider even when it is already connected, to add another account. The link is for the user to open in their browser: it works once and expires after ten minutes.
DiscoveredEcho back the input message. A built-in test tool to verify the gateway is working.
DiscoveredMakes a download link for a file named by a file reference, so the user can save it to their own computer. A gmail_message reference gives a whole email as its original .eml exactly as Gmail returns it; a gmail_attachment reference gives one attachment of an email, named by the part id gmail_read lists for it; a drive_file reference gives a Google Drive file as stored; a drive_export reference gives a Google Docs, Sheets or Slides file exported to a format such as pdf, docx or xlsx. The answer is a receipt: the file's name, its size in bytes and its SHA-256, and a link on this service. The link opens a page with one button that saves the file. It works once and stops working after ten minutes. The receipt also carries a one-line command that saves the file without the page, under the sender's file name, in the directory it is run in. The file's content is not returned and does not enter the conversation. The link is for the user: a call to any tool on this service that carries the link is refused and the link is cancelled. One file a call, at most 25 MB.
DiscoveredMakes a link that takes one file from the user's own computer, so it can be put into Drive, attached to a Jira issue or attached to an email without passing through the conversation. The answer is a link on this service, which opens a page where the user chooses or drops the file, and a one-line command, curl -T with the file's path, that sends the file to it from a terminal. The link takes one file, once, within ten minutes. Sending the file answers a receipt with its name, size and SHA-256, and a file reference, {"type":"upload","upload_id":"..."}, which drive_upload_file, jira_add_attachment and the email tools' attachments take. The file is held in memory for ten minutes after it arrives, goes to one call and is never written to disk. A call to any tool on this service that carries the link itself is refused and the link is cancelled. At most 25 MB, and three upload links or uploaded files waiting at a time.
DiscoveredCreate a new calendar event. Supports setting title, time, attendees, description, location, and Google Meet links.
DiscoveredDelete a calendar event by its event ID.
DiscoveredCheck availability (free/busy) for one or more people over a time range. Useful for finding open slots to schedule meetings.
DiscoveredGet details of a specific calendar event by its event ID. Returns the full event (all attendees, reminders, conference data), with the description converted to plain text; use full for the original (often HTML) description.
DiscoveredLists the calendars on the connected account's calendar list: its own, shared ones it has added, and subscribed ones such as holidays. Returns one compact entry per calendar: its ID, title, whether it is the primary calendar, the account's access role (owner, writer, reader or freeBusyReader) and its time zone, plus a page token when more remain. The ID is what calendar_list_events and the other calendar tools take as calendar_id.
DiscoveredList upcoming events from a Google Calendar. By default returns a compact view per event: id, title, start/end, location, plain-text description (HTML stripped, truncated), organizer email, attendee count plus your own response status, the full attendee roster when the meeting has 10 or fewer people, a recurring flag, attachments, and the video join link (Meet or conference-data providers like Zoom). Only large-meeting rosters, reminders, and raw HTML are dropped — use full for the raw Calendar API payload, or calendar_get_event for one event's complete detail.
DiscoveredAnswers an invitation on the connected account's calendar: accepted, declined or tentative, with an optional note to the organizer. Takes the event ID and the response. The account has to be on the event's guest list; an event it is not invited to is refused with a message saying so. Returns the event ID, its title, the response now recorded and the note. With send_updates left at its default the organizer is told, as when a person answers in Google Calendar.
DiscoveredSuggests meeting times when everyone named is free. Takes the attendees' addresses, a duration and a time range, and reads their free/busy along with the connected account's own. Returns candidate start and end times inside working hours, in order of time, each as an ISO time and as a local time in the time zone used. Working hours default to 9 to 17 in the account's primary calendar time zone, and weekends are skipped unless include_weekends is true. Starts fall on the quarter hour. An attendee whose free/busy cannot be read (another organization that does not share it, or a misspelled address) is listed under could_not_check, and the suggestions then leave that person out. The range can span at most 31 days. Nothing is booked; calendar_create_event books a chosen slot.
DiscoveredUpdate an existing calendar event. Only provided fields are changed.
DiscoveredCreate a new contact in Google Contacts.
DiscoveredDelete a contact from Google Contacts.
DiscoveredSearch the company's Google Workspace directory (all users in the organization). Useful for finding colleagues' contact info.
DiscoveredGet full details of a specific contact by their resource name.
DiscoveredList contacts from the user's Google Contacts. Returns names, emails, phone numbers, and organizations.
DiscoveredSearch Google Contacts by name, email, or phone number. Returns matching contacts with their details.
DiscoveredUpdate an existing contact. Only provided fields are changed.
DiscoveredApply batch updates to a Google Doc. Supports inserting text, replacing text, deleting content ranges, and other document modifications. Uses the Google Docs API batchUpdate format.
DiscoveredCreate a new Google Doc.
DiscoveredDelete a Google Doc. This permanently removes the document from Drive.
DiscoveredGet the content of a Google Doc. Three modes: "text" (default) returns plain text — use for reading/summarizing. "index" returns text with startIndex/endIndex — use before positional edits (insertText at index, deleteContentRange). "full" returns the raw API response — use only for debugging or style operations. To read part of a long document, pass start_index/end_index — the SAME character indices that mode "index" reports and docs_batch_update consumes. A ranged response also reports totalEndIndex, clipped, and nextStartIndex (when more content follows), so a caller can page instead of guessing whether it saw everything. Without a range, behaviour is unchanged and the whole document is returned.
DiscoveredInsert text at the beginning of a Google Doc. To append or edit at a specific position, use docs_get (mode 'index') then docs_batch_update.
DiscoveredCopies a file in Google Drive and names the copy in the same call. The copy carries the original's tabs, formatting and formulas, so a copied template matches its source. With convert set to true, an Excel, Word or PowerPoint file is copied as a Google Sheet, Doc or Slides file, which the sheets_, docs_ and slides_ tools open; the original is left as it was. With target_mime_type, the copy is converted to the Google type named, which is how a PDF or an image becomes a Google Doc with its text recognised (ocr_language sets the language for that recognition); when convert and target_mime_type are both given, target_mime_type decides the type. Returns the copy's id, name, MIME type, folders and link. Folders are not copyable: Drive refuses them with a 403 "This file cannot be copied by the user", a limit of the API rather than of permissions.
DiscoveredCreate a new folder in Google Drive.
DiscoveredDescribes one file or folder in Google Drive without reading its content. Takes the file ID. Returns its name, MIME type, size in bytes when Drive reports one (folders have none), the IDs of the folders it is in, its owners' names and addresses, when it was created and last modified, its link, whether it is in Trash, whether it is shared, and the shared drive it belongs to when it is in one. A file the account cannot see answers as not found.
DiscoveredLists who has access to a Google Drive file or folder and at what role. Takes the file ID. Returns one entry per permission: its ID, its type (user, group, domain or anyone), the role (owner, organizer, fileOrganizer, writer, commenter or reader), and the person's name and address or the domain where there is one. A file the account cannot see answers as not found.
DiscoveredLists the Google Drive files the account opened most recently, or the ones modified most recently, the most recent at the top. Returns one compact entry per file: its ID, name, MIME type, when it was last modified, when the account last opened it, and its link, plus a page token when more remain. Files in Trash are left out.
DiscoveredMoves a file or folder in Google Drive into another folder. Takes the file ID and the destination folder ID. The item is added to the destination folder and removed from the folder or folders it was in, so it ends up in one place; its name, content and ID are unchanged. Returns the item's ID, name, the folder it is now in and its link. An item already in the destination folder is left where it is and reported as not moved.
DiscoveredRead the text content of any file in Google Drive by file ID. Supports Google Docs, Sheets, Slides, Office formats (.docx/.xlsx/.pptx — auto-converted), and plain text files. Returns extracted text directly — no local filesystem needed.
DiscoveredRename a file or folder in Google Drive. Changes the name only: content, location, and sharing are untouched. Works on any Drive item the account can edit, including Docs, Sheets, Slides, and folders.
DiscoveredSearch for files in Google Drive. Returns file names, IDs, types, and modification dates.
DiscoveredShares a Google Drive file or folder with one person by email address, as reader, commenter or writer. Takes the file ID, the address and the role, and optionally a message for the notification email. Google emails the person unless notify is false. Returns the file ID and its permission list afterwards: who has access, at what role. Sharing a file with someone already on it at another role adds no second entry; Drive keeps one per person. This gives the person access to the file and, for a folder, to what is inside it.
DiscoveredMoves a file or folder in Google Drive to Trash. Takes the file ID. The item stays in Trash, where Drive deletes it for good after 30 days and where its owner can restore it before then; trashing a folder trashes what is inside it. Returns the item's ID, name and its trashed state as Drive reports it afterwards. Works on any Drive item the account is allowed to trash, including Docs, Sheets and Slides.
DiscoveredPuts a file named by a file reference into Google Drive, under the file's own name. A reference to a file in Gmail or Drive names where it lives: the gateway fetches it and hands it to Drive, so its bytes never pass through the conversation. A gmail_message reference stores a whole email as its original .eml exactly as Gmail returns it; a gmail_attachment reference stores one attachment of an email, named by the part id gmail_read lists for it. A drive_file reference copies a Drive file as stored, and a drive_export reference stores a Google Docs, Sheets or Slides file exported to a format such as pdf or docx; with a reference's account naming another connected Google account, this copies a file from one account's Drive into another's, which drive_copy_file, working within one account, does not. A content reference carries a file the caller already holds, as standard base64 in the call, at most 1 MB decoded, under the name it gives, and an upload reference names a file the user sent through file_upload_link, up to 25 MB. It goes into folder_id when given, otherwise the root of My Drive, in the Drive of the account the call runs as, which can be a different connected account from the one holding the email or file. The answer is a receipt: the new file's id, name, size, type, link and parents; the SHA-256 and byte count of what was sent; the SHA-256 and MD5 Drive reports for what it stored, and whether the two SHA-256 values match; and the folder it went into, with its owners, whether it is shared, and whether it is in a shared drive, next to the address of the account that received the file. The folder comes from the user, never from the content of a file. One file a call, at most 25 MB. The upload is not retried, and a second call makes a second file of the same name.
DiscoveredCreate a draft email in Gmail without sending it. The draft can be reviewed and sent later from Gmail. Returns the draft ID and a link to open it in Gmail. Accepts a plain-text body, an HTML html_body, or both — HTML is stored as multipart/alternative with a plain-text fallback. The account's Gmail signature is added to the draft automatically, as Gmail's own Compose does, so do not write a sign-off or signature in the body yourself; pass signature: false to leave it out. The signature goes in the draft's HTML part, so a plain-text body is stored as multipart/alternative when the account has one. The response's signature field reports what happened.
DiscoveredCreate a Gmail label, or find it if it already exists. Nested labels use '/' in the name (e.g. 'Alerts/Invoices'). Returns the label including its ID, which can be used with gmail_label_message; when a label with that name already exists the existing label is returned as found (existed: true), so it is safe to call once per run without listing labels first.
DiscoveredPermanently delete a Gmail draft by its draft ID. This does not move the draft to Trash — it is removed immediately. Use gmail_send_draft to send a draft instead of deleting it.
DiscoveredDelete a Gmail label. Takes the label ID (from gmail_list_labels), not the label name. This removes the label from every message that carries it; the messages themselves are not deleted. System labels (INBOX, UNREAD, SENT) cannot be deleted.
DiscoveredForward an existing email to another recipient. The account's Gmail signature is appended automatically, so do not write a sign-off or signature in the body yourself; pass signature: false to send without it. The signature goes in the message's HTML part, so a plain-text body is sent as multipart/alternative when the account has one. The response's signature field reports what happened.
DiscoveredGets one attachment of a Gmail message by the message ID and the attachment's part ID, both of which gmail_read lists for each attachment. Describes the attachment and, when it is text, returns that text. Every response carries the file name, MIME type, size in bytes and a current attachment ID. For a text attachment (plain text, CSV, JSON, XML, HTML, calendar files and similar) of up to 0.5 MB, the response also carries the content as text, cut at 200,000 characters with a marker saying how much was left out, and with characters that cannot be seen removed. For any other type, or a larger file, no content is returned: the response states the size and the reason, and the attachment ID it carries is the one gmail_save_attachment_to_drive takes to put the file in Drive, where drive_read_file reads Word, Excel and PowerPoint files. File bytes are not returned as base64 for any type.
DiscoveredLabel many messages in ONE call: pass message_ids (up to 1000) with add_labels and/or remove_labels, and every message is modified by a single users.messages.batchModify request. Do not call this once per message. The label-and-mark-read pair is one call: add_labels: ["<label id>"], remove_labels: ["UNREAD"]. Removing INBOX archives; removing UNREAD marks read. Label IDs come from gmail_list_labels. Returns a per-message outcome (results[]: id, ok, error) so a partial batch is visible; if the batch request is refused, each id is retried on its own and reported. message_id is for a single message only; thread_id labels every message of one conversation.
DiscoveredList recent emails from the inbox. Optionally filter by label. Returns message IDs with flattened from/to/subject/date fields plus snippet and labels.
DiscoveredLists the drafts in a Gmail mailbox. Returns one entry per draft with its draft ID, the ID of the message it holds and that message's thread ID, plus a count and a page token when more drafts remain. The draft ID is what gmail_update_draft, gmail_send_draft and gmail_delete_draft take; the message ID is what gmail_read takes to show the draft's content. A mailbox with no drafts answers with a count of 0 and an empty list.
DiscoveredList all Gmail filters (settings > filters) with their criteria and actions. Read-only: use it to see what automation a mailbox already applies to incoming mail, for example when triaging why a message was archived or labelled before it was seen. This connector cannot create or delete filters, and neither can a raw API call through gws_run — Google accepts only the gmail.settings.basic scope on those, which is not granted. Filters must be changed in Gmail's own settings.
DiscoveredList every label in the mailbox, system and user-created, with each label's ID, name and type. Use this to find the label ID that gmail_label_message, gmail_update_label and gmail_delete_label need.
DiscoveredMark one or more Gmail messages as read by removing the UNREAD label. With add_labels or remove_labels given, it applies exactly those and nothing else, so add_labels alone does not mark anything read and add_labels ["UNREAD"] marks unread. Pass message_id for a single message (returns the modified message) or message_ids for a batch (up to 1000, single API call via users.messages.batchModify).
DiscoveredReports one Gmail message as spam. Takes the message ID. The message gets Gmail's SPAM label and leaves the inbox, as the Report spam button does, and Gmail deletes spam for good after 30 days; gmail_unmark_spam moves it back before then. Returns the message ID, whether it is now in spam, and the labels it carries afterwards. Acts on the one message named, not on the rest of its thread.
DiscoveredRead a specific email message by its ID. By default returns the full message including headers, body, and metadata. Use text_only for a compact view (flattened headers, decoded text body, attachment metadata) that avoids large MIME/base64 payloads. Each attachment is listed with its part ID; gmail_get_attachment takes the message ID and that part ID and returns the attachment's text, or describes a file that is not text.
DiscoveredReply to an existing email in its thread. The reply is addressed the way Gmail's own Reply does it: to the original's Reply-To when it has one, otherwise to its sender; when you sent the original yourself, to the people it was sent to. Pass reply_all: true to include everyone else on the original as well. The response reports the To and Cc the reply went to; when a Reply-To meant the original's sender was not among them, it also carries reply_to_used: true and original_from, so check to against who you meant to answer, or pass expected_to and the reply is refused instead of sent when it would go anywhere else. A body is required: pass body or html_body. The account's Gmail signature is appended automatically, so do not write a sign-off or signature in the body yourself; pass signature: false to send without it. The signature goes in the message's HTML part, so a plain-text body is sent as multipart/alternative when the account has one. The response's signature field reports what happened.
DiscoveredSave a Gmail attachment directly to Google Drive. Use gmail_read first to get attachment metadata (filename, mimeType, attachmentId) from the message parts. The file is fetched from Gmail and uploaded to Drive server-side — no base64 data flows through the conversation. Returns the Drive file metadata including a web link.
DiscoveredSearch Gmail messages using Gmail search syntax. Returns matching messages with flattened from/to/subject/date fields plus snippet and labels. Supports queries like "from:client@acme.com", "subject:proposal", "after:2024/01/01", "has:attachment", "label:important". A message's attachments are listed by gmail_read and read by gmail_get_attachment.
DiscoveredSend a new email via Gmail. Composes and sends an email message to the specified recipients. Accepts a plain-text body, an HTML html_body, or both — HTML is sent as multipart/alternative with a plain-text fallback. The account's Gmail signature is appended automatically, so do not write a sign-off or signature in the body yourself; pass signature: false to send without it. The signature goes in the message's HTML part, so a plain-text body is sent as multipart/alternative when the account has one. The response's signature field reports what happened.
DiscoveredSend an existing Gmail draft by its draft ID. Use this to send a draft that was previously created with gmail_create_draft and reviewed — it sends the draft as stored and removes it from the Drafts folder (no orphaned draft). Returns the sent message metadata. The account's Gmail signature is added only if the draft is not already signed: a draft written by gmail_create_draft or gmail_update_draft carries it already and is sent unchanged, reporting already_present. Pass signature: false to send a draft without adding one. The response's signature field reports what happened. A draft holding files is signed in its text part and its files are sent as they are. A draft in any other shape is sent untouched and reports skipped_unsupported_draft.
DiscoveredMoves one Gmail message to Trash. Takes the message ID. The message leaves the inbox and every other label view and stays in Trash, where Gmail deletes it for good after 30 days; gmail_untrash restores it before then. Returns the message ID and the labels the message carries afterwards. Acts on the one message named, not on the rest of its thread.
DiscoveredMoves a whole Gmail conversation to Trash: every message in the thread, in one call. Takes the thread ID. The messages leave the inbox and every other label view and stay in Trash, where Gmail deletes them for good after 30 days; gmail_untrash_thread restores them before then. Returns the thread ID and, for each message in it, the message ID and whether it is now in Trash.
DiscoveredMoves one Gmail message out of spam and back to the inbox, as the Not spam button does. Takes the message ID. Returns the message ID, whether it is still in spam, and the labels it carries afterwards.
DiscoveredTakes one Gmail message out of Trash. Takes the message ID. Returns the message ID and the labels the message carries afterwards. A message Gmail has already deleted from Trash is gone and answers as not found.
DiscoveredTakes a whole Gmail conversation out of Trash: every message in the thread, in one call. Takes the thread ID. Returns the thread ID and, for each message in it, the message ID and whether it is still in Trash. Messages Gmail has already deleted from Trash are gone and are not in the answer.
DiscoveredUpdate an existing draft email in Gmail. This fully replaces the draft's message content (Gmail API does not support partial edits), attachments included: files the draft held, including any attached by a file reference, are dropped unless they are passed again in attachments. If thread_id is omitted, the tool preserves the existing thread automatically. The account's Gmail signature is added to the draft automatically, as Gmail's own Compose does, so do not write a sign-off or signature in the body yourself; pass signature: false to leave it out. The signature goes in the draft's HTML part, so a plain-text body is stored as multipart/alternative when the account has one. The response's signature field reports what happened.
DiscoveredRename an existing Gmail label, or change its visibility. Takes the label ID (from gmail_list_labels), not the label name. Renaming a label keeps it on every message already labelled with it.
DiscoveredAdd a new tab (sheet) to an existing Google Sheets spreadsheet. Use sheets_create to make a whole new spreadsheet file; use this to add a tab inside one. Returns the new tab's sheetId and title.
DiscoveredAppend rows to the end of a Google Sheets spreadsheet. Numeric-looking text is typed the way the Sheets UI types it: '007' is stored as the number 7 and comes back as 7. To keep such a value as text, pass value_input_option RAW for the call, or put a leading apostrophe on that one value.
DiscoveredApply a batch of structural and formatting changes to a spreadsheet, in ONE atomic call. This is the full Google Sheets batchUpdate pass-through and the escape hatch beneath the job-shaped tools: reach for sheets_format_range or sheets_format_table first, and come here for anything they do not cover (merges, borders, banding, copyPaste, inserting or deleting COLUMNS, duplicateSheet, protected ranges). TWO PROPERTIES THAT BITE. (1) Ranges here are a GridRange, which is 0-BASED and END-EXCLUSIVE: spreadsheet row 7 is startRowIndex 6, endRowIndex 7. That is the opposite convention from the A1 notation used to write the values. (2) The batch is ATOMIC: if one request is rejected the whole batch applies nothing, and the error names the failing request's index. Build the whole pass as one batch, fix the named index, re-send the whole thing. Note that empty reply objects are normal for formatting requests and mean ACCEPTED, not applied to what you meant.
DiscoveredClear the values in a range, leaving the tab and its formatting in place. This is the non-destructive way to empty a tab or a block of cells — use it instead of deleting and recreating a tab, which throws away the tab's structure along with its data.
DiscoveredCopies one tab of a Google Sheets spreadsheet into another spreadsheet. Takes the source spreadsheet ID, the title of the tab to copy and the destination spreadsheet ID. The copy carries the tab's values, formulas and formatting and is added to the destination as a new tab, which Google names "Copy of <title>"; nothing already in the destination is changed, and the source is left as it was. Returns the new tab's sheetId, title and position in the destination. The account needs edit access to the destination.
DiscoveredCreate a new Google Sheets spreadsheet.
DiscoveredDelete a Google Sheets spreadsheet. This permanently removes the file from Drive.
DiscoveredDelete a tab (sheet) and everything in it from a spreadsheet. Takes the tab's current title. THIS DESTROYS EVERY ROW IN THE TAB and cannot be undone through the API. To empty a tab without losing it, use sheets_clear instead. To delete the whole spreadsheet file, use sheets_delete.
DiscoveredFind the rows in a spreadsheet range whose value in one column matches what you are looking for, and get back their ROW NUMBERS. Use this instead of reading a whole sheet and filtering the values yourself: on any real sheet that burns context on rows nobody asked for. Searches MANY values in a single call, so looking up twenty customers is one call and not twenty. Each match comes back with its 1-based sheet row number and a ready-made A1 range for that row, which is what lets a find be followed directly by a sheets_update. Values that matched nothing are listed separately, so an empty result cannot be mistaken for a broken call.
DiscoveredRecent measurements
| Checked | Result | Response | Tools |
|---|---|---|---|
| Connected | 1245 ms | 143 | |
| Connected | 1270 ms | 143 |