Herramienta: search_threads
Enumera los subprocesos de correo electrónico de la cuenta de Gmail del usuario autenticado.
Esta herramienta puede filtrar subprocesos según una cadena de consulta y admite la paginación. Devuelve una lista de conversaciones, incluidos sus IDs y los mensajes relacionados. Cada mensaje relacionado contiene detalles como un fragmento del cuerpo del mensaje, el asunto, el remitente, los destinatarios, etcétera. El parámetro view controla qué campos se completan en los mensajes relacionados. De forma predeterminada (o con THREAD_VIEW_MINIMAL), incluye el asunto y el fragmento. Usa THREAD_VIEW_METADATA_ONLY para excluir el asunto y el fragmento. Ten en cuenta que esta herramienta no devuelve los cuerpos completos de los mensajes. Si es necesario, usa la herramienta "get_thread" con un ID de conversación para recuperar el cuerpo completo del mensaje. Es posible que los hilos con criterios excluidos sigan apareciendo en los resultados. Esto sucede porque Gmail identifica primero los mensajes coincidentes. Por ejemplo, si buscas -is:starred, Gmail encontrará un hilo completo si contiene al menos un mensaje sin destacar, incluso si otros correos electrónicos de esa misma conversación están destacados.
En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP search_threads.
| Solicitud de 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
Es el mensaje de solicitud para la RPC de SearchThreads.
SearchThreadsRequest
| Representación JSON |
|---|
{
"pageSize": integer
"pageToken": string
"query": string
"includeTrash": boolean
"view": enum ( |
| Campos | |
|---|---|
Campo de unión
|
|
pageSize |
Opcional. Es la cantidad máxima de subprocesos que se devolverán. Si no se especifica, el valor predeterminado es 20. El valor máximo permitido es 50. |
Campo de unión
|
|
pageToken |
Opcional. Es el token de página para recuperar una página específica de resultados en la lista. Déjalo vacío para obtener la primera página. Se usa principalmente para la paginación y para seguir recuperando resultados desde donde se detuvo la llamada anterior a |
Campo de unión
|
|
query |
Opcional. Es una cadena de consulta para filtrar los subprocesos. Para usar esta herramienta, las consultas en lenguaje natural se deben convertir previamente en consultas de sintaxis de Gmail. Si se omite, se mostrarán todos los subprocesos (excepto los de spam y papelera de forma predeterminada). Operadores admitidos por categoría: Remitente y destinatario:
Fecha y hora:
Contenido:
Etiquetas y categorías:
Estado:
Tamaño:
Lógica y agrupación:
Ejemplos:
|
Campo de unión
|
|
includeTrash |
Opcional. Incluye los hilos de la PAPELERA en los resultados. La configuración predeterminada es "false". |
Campo de unión
|
|
view |
Opcional. Controla los campos que se completan para los subprocesos en la lista de subprocesos. La configuración predeterminada es THREAD_VIEW_MINIMAL. THREAD_VIEW_MINIMAL devuelve id, fragmento, asunto, de, para, cc, fecha y labelIds. THREAD_VIEW_METADATA_ONLY devuelve id, from, to, cc, date y labelIds. |
ThreadView
Es una enumeración para controlar los campos que se propagan para los subprocesos en las respuestas de ListThreads y SearchThreads.
| Enums | |
|---|---|
THREAD_VIEW_UNSPECIFIED |
Se asigna a THREAD_VIEW_MINIMAL para la retrocompatibilidad. |
THREAD_VIEW_METADATA_ONLY |
Devuelve id, from, to, cc, date y labelIds. |
THREAD_VIEW_MINIMAL |
Devuelve id, fragmento, asunto, de, para, cc, fecha y labelIds. |
Esquema de salida
Es el mensaje de respuesta para la RPC de SearchThreads.
SearchThreadsResponse
| Representación JSON |
|---|
{
"threads": [
{
object ( |
| Campos | |
|---|---|
threads[] |
Lista de resúmenes de conversaciones. |
nextPageToken |
Es un token que se puede usar en una llamada posterior para recuperar la siguiente página de subprocesos. Solo está presente si hay más resultados. Si la cantidad de subprocesos que coinciden con la búsqueda supera el límite de page_size, la respuesta contendrá un |
resultCountEstimate |
Es el recuento de resultados estimado para esta búsqueda. Se debe tratar como un límite inferior, por lo que, por ejemplo, si es 500, el recuento se puede informar al usuario como "más de 500". |
Thread
| Representación JSON |
|---|
{
"id": string,
"messages": [
{
object ( |
| Campos | |
|---|---|
id |
Es el identificador único del subproceso. |
messages[] |
Es una lista de mensajes del debate, ordenados cronológicamente. |
Mensaje
| Representación 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 |
Es el identificador único del mensaje. |
snippet |
Es el fragmento del cuerpo del mensaje. |
subject |
Asunto del mensaje extraído de los encabezados: |
sender |
Dirección de correo electrónico del remitente. |
toRecipients[] |
A las direcciones de correo electrónico de los destinatarios |
ccRecipients[] |
Son las direcciones de correo electrónico de los destinatarios en Cc. |
date |
Fecha del mensaje en formato ISO 8601 (AAAA-MM-DD). |
plaintextBody |
Es el contenido completo del cuerpo, que solo se propaga si MessageFormat era FULL_CONTENT. |
attachmentIds[] |
Solo salida. Son los IDs de los archivos adjuntos, que solo se propagan si MessageFormat era FULL_CONTENT. |
htmlBody |
Es el contenido HTML del correo electrónico, que solo se propaga si MessageFormat era FULL_CONTENT. |
attachments[] |
Solo salida. Son los archivos adjuntos, que solo se propagan si MessageFormat era FULL_CONTENT. |
labelIds[] |
Son los IDs de las etiquetas adjuntas al mensaje. Incluye los IDs de las etiquetas del usuario y las etiquetas estándar del sistema limitadas a |
AttachmentMetadata
| Representación JSON |
|---|
{ "id": string, "mimeType": string, "filename": string } |
| Campos | |
|---|---|
id |
Solo salida. Es el ID del adjunto. |
mimeType |
Tipo de MIME del archivo adjunto. |
filename |
Nombre del archivo adjunto. |
Anotaciones de herramientas
Sugerencia destructiva: ❌ | Sugerencia idempotente: ✅ | Sugerencia de solo lectura: ✅ | Sugerencia de mundo abierto: ❌
Alcances de la autorización
Se necesita uno de los siguientes alcances de OAuth:
https://mail.google.com/https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/gmail.readonly