כלי: search_threads
מחזירה רשימה של שרשורי אימייל מחשבון Gmail של המשתמש המאומת.
הכלי הזה יכול לסנן שרשורים על סמך מחרוזת שאילתה, והוא תומך בחלוקה לעמודים. הפונקציה מחזירה רשימה של שרשורים, כולל המזהים שלהם וההודעות שקשורות אליהם. כל הודעה קשורה מכילה פרטים כמו קטע מגוף ההודעה, הנושא, השולח, הנמענים וכו'. הפרמטר view קובע אילו שדות יאוכלסו בהודעות הקשורות. כברירת מחדל (או עם THREAD_VIEW_MINIMAL), הוא כולל את הנושא ואת התקציר. כדי להחריג את הנושא ואת התקציר, משתמשים ב-THREAD_VIEW_METADATA_ONLY. שימו לב: הכלי הזה לא מחזיר את גוף ההודעה המלא. אם אתם צריכים את גוף ההודעה המלא, אתם צריכים להשתמש בכלי get_thread עם מזהה השרשור. יכול להיות שעדיין יופיעו בתוצאות שרשורים עם קריטריונים מוחרגים. הסיבה לכך היא ש-Gmail מזהה קודם הודעות תואמות. לדוגמה, אם מחפשים -is:starred, Gmail ימצא שרשור שלם אם הוא מכיל לפחות הודעה אחת שלא סומנה בכוכב, גם אם הודעות אחרות באותה שיחה סומנו בכוכב.
בדוגמה הבאה אפשר לראות איך משתמשים ב-curl כדי להפעיל את כלי ה-MCP search_threads.
| בקשת 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 }' |
סכימת הקלט
הודעת בקשה ל-RPC של SearchThreads.
SearchThreadsRequest
| ייצוג ב-JSON |
|---|
{
"pageSize": integer
"pageToken": string
"query": string
"includeTrash": boolean
"view": enum ( |
| שדות | |
|---|---|
שדה איחוד הערך |
|
pageSize |
אופציונלי. מספר השרשורים המקסימלי שיוחזרו. אם לא מציינים ערך, ברירת המחדל היא 20. הערך המקסימלי המותר הוא 50. |
שדה איחוד הערך |
|
pageToken |
אופציונלי. אסימון דף לאחזור דף ספציפי של תוצאות ברשימה. אם משאירים את השדה ריק, המערכת מאחזרת את הדף הראשון. הפרמטר הזה משמש בעיקר להחלפה בין דפים כדי להמשיך לאחזר תוצאות מהמקום שבו הסתיימה הקריאה הקודמת ל- |
שדה איחוד הערך |
|
query |
אופציונלי. מחרוזת שאילתה לסינון השרשורים. כדי להשתמש בכלי הזה, צריך להמיר מראש את השאילתות בשפה טבעית לשאילתות בתחביר של Gmail. אם לא מציינים ערך, כל השרשורים מוצגים (למעט ספאם ואשפה כברירת מחדל). אופרטורים נתמכים לפי קטגוריה: השולח והנמען:
שעה ותאריך:
תוכן:
תוויות וקטגוריות:
סטטוס:
גודל:
לוגיקה וקיבוץ:
דוגמאות:
|
שדה איחוד הערך |
|
includeTrash |
אופציונלי. הכללת שרשורים מתיקיית האשפה בתוצאות. ברירת המחדל היא False. |
שדה איחוד הערך |
|
view |
אופציונלי. המדיניות הזו קובעת אילו שדות יאוכלסו בשרשורים ברשימת השרשורים. ברירת המחדל היא THREAD_VIEW_MINIMAL. הפונקציה THREAD_VIEW_MINIMAL מחזירה את הערכים id, snippet, subject, from, to, cc, date, labelIds. הפונקציה THREAD_VIEW_METADATA_ONLY מחזירה את הערכים id, from, to, cc, date, labelIds. |
ThreadView
סוג הנתונים Enum שקובע אילו שדות יאוכלסו עבור שרשורים בתגובה של ListThreads ו-SearchThreads.
| טיפוסים בני מנייה (enum) | |
|---|---|
THREAD_VIEW_UNSPECIFIED |
הערך הזה ממופה ל-THREAD_VIEW_MINIMAL לצורך תאימות לאחור. |
THREAD_VIEW_METADATA_ONLY |
מחזירה את הערכים id, from, to, cc, date, labelIds. |
THREAD_VIEW_MINIMAL |
מחזירה את המזהה, התקציר, הנושא, השולח, הנמען, העותק, התאריך ומזהי התוויות. |
סכימת הפלט
הודעת התגובה של RPC מסוג SearchThreads.
SearchThreadsResponse
| ייצוג ב-JSON |
|---|
{
"threads": [
{
object ( |
| שדות | |
|---|---|
threads[] |
רשימה של סיכומי השרשורים. |
nextPageToken |
טוקן שאפשר להשתמש בו בקריאה הבאה כדי לאחזר את הדף הבא של השרשורים. הצגה רק אם יש תוצאות נוספות. אם מספר השרשורים שתואמים לשאילתה חורג מהמגבלה של page_size, התשובה תכיל |
resultCountEstimate |
מספר התוצאות המשוער לשאילתה הזו. צריך להתייחס אליו כאל גבול תחתון. לדוגמה, אם הערך הוא 500, אפשר לדווח למשתמש שהספירה היא '500 ומעלה'. |
חוט תפירה
| ייצוג ב-JSON |
|---|
{
"id": string,
"messages": [
{
object ( |
| שדות | |
|---|---|
id |
המזהה הייחודי של השרשור. |
messages[] |
רשימת ההודעות בשרשור, בסדר כרונולוגי. |
שליחת הודעה
| ייצוג ב-JSON |
|---|
{
"id": string,
"snippet": string,
"subject": string,
"sender": string,
"toRecipients": [
string
],
"ccRecipients": [
string
],
"date": string,
"plaintextBody": string,
"attachmentIds": [
string
],
"htmlBody": string,
"attachments": [
{
object ( |
| שדות | |
|---|---|
id |
המזהה הייחודי של ההודעה. |
snippet |
קטע מגוף ההודעה. |
subject |
נושא ההודעה שחולץ מהכותרות: |
sender |
כתובת האימייל של השולח. |
toRecipients[] |
כתובות האימייל של הנמענים. |
ccRecipients[] |
כתובות האימייל של הנמענים בשדה 'עותק'. |
date |
תאריך ההודעה בפורמט ISO 8601 (YYYY-MM-DD). |
plaintextBody |
תוכן מלא של גוף ההודעה, מאוכלס רק אם MessageFormat היה FULL_CONTENT. |
attachmentIds[] |
פלט בלבד. מזהי הקבצים המצורפים, מאוכלסים רק אם MessageFormat היה FULL_CONTENT. |
htmlBody |
תוכן ה-HTML של האימייל, מאוכלס רק אם MessageFormat היה FULL_CONTENT. |
attachments[] |
פלט בלבד. הקבצים המצורפים, מאוכלסים רק אם MessageFormat היה FULL_CONTENT. |
labelIds[] |
המזהים של התוויות שמצורפות להודעה. כולל מזהים של תוויות משתמש ותוויות מערכת רגילות, מוגבל ל- |
AttachmentMetadata
| ייצוג ב-JSON |
|---|
{ "id": string, "mimeType": string, "filename": string } |
| שדות | |
|---|---|
id |
פלט בלבד. המזהה של הקובץ המצורף. |
mimeType |
סוג ה-MIME של הקובץ המצורף. |
filename |
שם הקובץ המצורף. |
הערות על כלים
רמז הרסני: ❌ | רמז אידמפוטנטי: ✅ | רמז לקריאה בלבד: ✅ | רמז לעולם פתוח: ❌
היקפי הרשאות
נדרש אחד מהיקפי ההרשאות הבאים של OAuth:
https://mail.google.com/https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/gmail.readonly