Ferramenta: search_threads
Lista as conversas por e-mail da conta do Gmail do usuário autenticado.
Ela pode filtrar conversas com base em uma string de consulta e é compatível com paginação. Ele retorna uma lista de conversas, incluindo os IDs e as mensagens relacionadas. Cada mensagem relacionada contém detalhes como um snippet do corpo da mensagem, o assunto, o remetente, os destinatários etc. O parâmetro view controla quais campos são preenchidos nas mensagens relacionadas. Por padrão (ou com THREAD_VIEW_MINIMAL), ele inclui assunto e snippet. Use THREAD_VIEW_METADATA_ONLY para excluir assunto e snippet. Os corpos das mensagens completas não são retornados por essa ferramenta. Use a ferramenta "get_thread" com um ID de conversa para buscar o corpo da mensagem completo, se necessário. As conversas com critérios excluídos ainda podem aparecer nos resultados. Isso acontece porque o Gmail identifica primeiro as mensagens correspondentes. Por exemplo, se você pesquisar -is:starred, o Gmail vai encontrar uma conversa inteira se ela tiver pelo menos uma mensagem sem estrela, mesmo que outros e-mails na mesma conversa tenham estrela.
O exemplo a seguir demonstra como usar curl para invocar a ferramenta search_threads MCP.
| Solicitação curl |
|---|
curl --location 'https://gmailmcp.googleapis.com/mcp/v1' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_threads", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
Mensagem de solicitação para a RPC SearchThreads.
SearchThreadsRequest
| Representação JSON |
|---|
{
"pageSize": integer
"pageToken": string
"query": string
"includeTrash": boolean
"view": enum ( |
| Campos | |
|---|---|
Campo de união
|
|
pageSize |
Opcional. O número máximo de encadeamentos a serem retornados. Se não for especificado, o padrão será 20. O valor máximo permitido é 50. |
Campo de união
|
|
pageToken |
Opcional. Token de página para recuperar uma página específica de resultados na lista. Deixe em branco para buscar a primeira página. Usado principalmente para paginação, para continuar buscando resultados de onde a chamada |
Campo de união
|
|
query |
Opcional. Uma string de consulta para filtrar as linhas de execução. As consultas em linguagem natural precisam ser convertidas previamente em consultas de sintaxe do Gmail para usar essa ferramenta. Se omitido, todas as conversas (exceto spam e lixeira por padrão) serão listadas. Operadores compatíveis por categoria: Remetente e destinatário:
Data e hora:
Conteúdo:
Rótulos e categorias:
Status:
Tamanho:
Lógica e agrupamento:
Exemplos:
|
Campo de união
|
|
includeTrash |
Opcional. Inclua conversas da LIXEIRA nos resultados. O padrão é "falso". |
Campo de união
|
|
view |
Opcional. Controla os campos preenchidos para conversas na lista de conversas. O padrão é THREAD_VIEW_MINIMAL. THREAD_VIEW_MINIMAL retorna id, snippet, subject, from, to, cc, date, labelIds. THREAD_VIEW_METADATA_ONLY retorna id, from, to, cc, date, labelIds. |
ThreadView
Enumeração para controlar os campos preenchidos para conversas na resposta "ListThreads" e "SearchThreads".
| Tipos enumerados | |
|---|---|
THREAD_VIEW_UNSPECIFIED |
Corresponde a THREAD_VIEW_MINIMAL para compatibilidade com versões anteriores. |
THREAD_VIEW_METADATA_ONLY |
Retorna id, from, to, cc, date, labelIds. |
THREAD_VIEW_MINIMAL |
Retorna id, snippet, subject, from, to, cc, date, labelIds. |
Esquema de saída
Mensagem de resposta para a RPC SearchThreads.
SearchThreadsResponse
| Representação JSON |
|---|
{
"threads": [
{
object ( |
| Campos | |
|---|---|
threads[] |
Lista de resumos de conversas. |
nextPageToken |
Um token que pode ser usado em uma chamada subsequente para recuperar a próxima página de conversas. Presente apenas se houver mais resultados. Se o número de linhas de execução que correspondem à consulta exceder o limite de page_size, a resposta vai conter um |
resultCountEstimate |
A contagem de resultados estimada para esta consulta. Ele deve ser tratado como um limite inferior. Por exemplo, se for 500, a contagem poderá ser informada ao usuário como "500 ou mais". |
Conversa
| Representação JSON |
|---|
{
"id": string,
"messages": [
{
object ( |
| Campos | |
|---|---|
id |
O identificador exclusivo da conversa. |
messages[] |
Uma lista de mensagens na conversa, ordenadas cronologicamente. |
Mensagem
| Representação JSON |
|---|
{
"id": string,
"snippet": string,
"subject": string,
"sender": string,
"toRecipients": [
string
],
"ccRecipients": [
string
],
"date": string,
"plaintextBody": string,
"attachmentIds": [
string
],
"htmlBody": string,
"attachments": [
{
object ( |
| Campos | |
|---|---|
id |
O identificador exclusivo da mensagem. |
snippet |
Snippet do corpo da mensagem. |
subject |
O assunto da mensagem extraído dos cabeçalhos: |
sender |
Endereço de e-mail do remetente. |
toRecipients[] |
Para endereços de e-mail de destinatários. |
ccRecipients[] |
Endereços de e-mail dos destinatários em cópia. |
date |
Data da mensagem no formato ISO 8601 (AAAA-MM-DD). |
plaintextBody |
Conteúdo completo do corpo, preenchido apenas se MessageFormat for FULL_CONTENT. |
attachmentIds[] |
Apenas saída. Os IDs dos anexos, preenchidos apenas se MessageFormat for FULL_CONTENT. |
htmlBody |
O conteúdo HTML do e-mail, preenchido apenas se MessageFormat for FULL_CONTENT. |
attachments[] |
Apenas saída. Os anexos, preenchidos apenas se MessageFormat for FULL_CONTENT. |
labelIds[] |
Os IDs dos rótulos anexados à mensagem. Inclui IDs de rótulos do usuário e rótulos padrão do sistema limitados a |
AttachmentMetadata
| Representação JSON |
|---|
{ "id": string, "mimeType": string, "filename": string } |
| Campos | |
|---|---|
id |
Apenas saída. O ID do anexo. |
mimeType |
O tipo MIME do anexo. |
filename |
O nome do arquivo do anexo. |
Anotações de ferramentas
Dica destrutiva: ❌ | Dica idempotente: ✅ | Dica somente leitura: ✅ | Dica de mundo aberto: ❌
Escopos de autorização
Requer um dos seguintes escopos do OAuth:
https://mail.google.com/https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/gmail.readonly