ابزار: search_threads
رشتههای ایمیل از حساب Gmail کاربر احراز هویتشده را فهرست میکند.
این ابزار میتواند رشتهها را بر اساس یک رشته پرسوجو فیلتر کند و از صفحهبندی پشتیبانی میکند. این ابزار لیستی از رشتهها، شامل شناسهها و پیامهای مرتبط آنها را برمیگرداند. هر پیام مرتبط حاوی جزئیاتی مانند قطعهای از بدنه پیام، موضوع، فرستنده، گیرندگان و غیره است. پارامتر view کنترل میکند که کدام فیلدها در پیامهای مرتبط پر شوند. به طور پیشفرض (یا با THREAD_VIEW_MINIMAL )، شامل موضوع و قطعه پیام میشود. THREAD_VIEW_METADATA_ONLY برای حذف موضوع و قطعه پیام استفاده کنید. توجه داشته باشید که بدنه کامل پیام توسط این ابزار برگردانده نمیشود. در صورت نیاز، از ابزار 'get_thread' با شناسه رشته برای دریافت بدنه کامل پیام استفاده کنید. رشتههایی با معیارهای حذفشده ممکن است همچنان در نتایج ظاهر شوند. این اتفاق میافتد زیرا Gmail ابتدا پیامهای منطبق را شناسایی میکند. به عنوان مثال، اگر -is:starred را جستجو کنید، Gmail اگر حداقل یک پیام بدون ستاره داشته باشد، کل رشته را پیدا میکند، حتی اگر ایمیلهای دیگر در همان مکالمه ستارهدار باشند.
نمونه زیر نحوه استفاده از curl برای فراخوانی ابزار search_threads MCP را نشان میدهد.
| درخواست کرل |
|---|
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.
جستجوموضوعاتدرخواست
| نمایش JSON |
|---|
{
"pageSize": integer
"pageToken": string
"query": string
"includeTrash": boolean
"view": enum ( |
| فیلدها | |
|---|---|
فیلد یونیون | |
pageSize | اختیاری. حداکثر تعداد نخهایی که باید برگردانده شوند. اگر مشخص نشود، پیشفرض 20 است. حداکثر مقدار مجاز 50 است. |
فیلد یونیون | |
pageToken | اختیاری. توکن صفحه برای بازیابی یک صفحه خاص از نتایج در لیست. برای دریافت صفحه اول، آن را خالی بگذارید. این توکن در درجه اول برای صفحهبندی استفاده میشود تا دریافت نتایج از جایی که فراخوانی قبلی |
فیلد یونیون | |
query | اختیاری. یک رشته پرسوجو برای فیلتر کردن رشتهها. برای استفاده از این ابزار، پرسوجوهای زبان طبیعی باید از قبل به پرسوجوهای نحوی جیمیل تبدیل شوند. در صورت حذف، همه رشتهها (به استثنای هرزنامه و زباله به طور پیشفرض) فهرست میشوند. اپراتورهای پشتیبانی شده بر اساس دسته بندی: فرستنده و گیرنده:
زمان و تاریخ:
محتوا:
برچسبها و دستهبندیها:
وضعیت:
اندازه:
منطق و گروهبندی:
مثالها:
|
فیلد یونیون | |
includeTrash | اختیاری. رشتههای موجود در سطل زباله را در نتایج لحاظ کنید. پیشفرض روی false است. |
| |
view | اختیاری. فیلدهای پر شده برای رشتهها در لیست رشتهها را کنترل میکند. مقدار پیشفرض THREAD_VIEW_MINIMAL است. THREAD_VIEW_MINIMAL شناسه، قطعه کد، موضوع، از، به، cc، تاریخ، labelIds را برمیگرداند. THREAD_VIEW_METADATA_ONLY شناسه، از، به، cc، تاریخ، labelIds را برمیگرداند. |
نمای موضوع
Enum برای کنترل فیلدهای پر شده برای نخها در پاسخهای ListThreads و SearchThreads.
| انومها | |
|---|---|
THREAD_VIEW_UNSPECIFIED | برای سازگاری با نسخههای قبلی، به THREAD_VIEW_MINIMAL نگاشت میشود. |
THREAD_VIEW_METADATA_ONLY | شناسه، از، به، cc، تاریخ، labelIds را برمیگرداند. |
THREAD_VIEW_MINIMAL | شناسه، قطعه کد، موضوع، از، به، رونوشت، تاریخ، شناسههای برچسب را برمیگرداند. |
طرحواره خروجی
پیام پاسخ برای RPC مربوط به SearchThreads.
جستجوموضوعاتپاسخ
| نمایش JSON |
|---|
{
"threads": [
{
object ( |
| فیلدها | |
|---|---|
threads[] | فهرست خلاصه موضوعات. |
nextPageToken | توکنی که میتواند در فراخوانی بعدی برای بازیابی صفحه بعدی رشتهها استفاده شود. فقط در صورتی ارائه میشود که نتایج بیشتری وجود داشته باشد. اگر تعداد رشتههای منطبق با پرسوجو از حد page_size بیشتر شود، پاسخ حاوی |
resultCountEstimate | تعداد نتایج تخمینی برای این پرسوجو. باید به عنوان یک حد پایین در نظر گرفته شود، بنابراین برای مثال اگر ۵۰۰ باشد، میتوان تعداد را به صورت "۵۰۰+" به کاربر گزارش داد. |
موضوع
| نمایش 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[] | آدرسهای ایمیل گیرندهی CC. |
date | تاریخ پیام در قالب ISO 8601 (YYYY-MM-DD). |
plaintextBody | محتوای کامل بدنه، فقط در صورتی پر میشود که MessageFormat برابر با FULL_CONTENT باشد. |
attachmentIds[] | فقط خروجی. شناسههای پیوست، فقط در صورتی که MessageFormat برابر با FULL_CONTENT باشد، پر میشوند. |
htmlBody | محتوای HTML ایمیل، فقط در صورتی که MessageFormat برابر با FULL_CONTENT باشد، پر میشود. |
attachments[] | فقط خروجی. پیوستها، فقط در صورتی پر میشوند که MessageFormat برابر با FULL_CONTENT باشد. |
labelIds[] | شناسههای برچسبهای پیوستشده به پیام. شامل شناسههای برچسبهای کاربر و برچسبهای استاندارد سیستم محدود به |
پیوستفراداده
| نمایش JSON |
|---|
{ "id": string, "mimeType": string, "filename": string } |
| فیلدها | |
|---|---|
id | فقط خروجی. شناسه پیوست. |
mimeType | نوع MIME پیوست. |
filename | نام فایل پیوست. |
حاشیهنویسی ابزار
راهنمایی مخرب: ❌ | راهنمایی بیاثر: ✅ | راهنمایی فقط خواندنی: ✅ | راهنمایی جهان باز: ❌
دامنههای مجوز
به یکی از حوزههای OAuth زیر نیاز دارد:
-
https://mail.google.com/ -
https://www.googleapis.com/auth/gmail.modify -
https://www.googleapis.com/auth/gmail.readonly