الأداة: search_threads
تعرض هذه الطريقة سلاسل الرسائل الإلكترونية من حساب Gmail الخاص بالمستخدم الذي تمّت مصادقته.
يمكن لهذه الأداة فلترة سلاسل المحادثات استنادًا إلى سلسلة طلب بحث وتتيح تقسيم المحتوى إلى صفحات. تعرض هذه الطريقة قائمة بسلاسل المحادثات، بما في ذلك أرقام التعريف والرسائل ذات الصلة. تحتوي كل رسالة ذات صلة على تفاصيل مثل مُقتطف من نص الرسالة والموضوع والمُرسِل والمستلِمين وما إلى ذلك. يتحكّم المَعلمة view في الحقول التي يتم ملؤها في الرسائل ذات الصلة. تتضمّن هذه السمة تلقائيًا (أو عند استخدام THREAD_VIEW_MINIMAL) الموضوع والمقتطف. استخدِم THREAD_VIEW_METADATA_ONLY لاستبعاد الموضوع والمقتطف. يُرجى العِلم أنّ هذه الأداة لا تعرض نص الرسائل الكامل، لذا استخدِم الأداة get_thread مع رقم تعريف سلسلة المحادثات لجلب نص الرسالة الكامل إذا لزم الأمر. قد تظل سلاسل المحادثات التي تتضمّن معايير مستبعدة تظهر في النتائج. يحدث ذلك لأنّ Gmail يحدّد الرسائل المطابقة أولاً. على سبيل المثال، إذا بحثت عن -is:starred، سيعرض لك Gmail سلسلة محادثات بأكملها لمجرد أنها تتضمن رسالة واحدة على الأقل غير مميزة بنجمة، حتى وإن كانت بقية الرسائل في تلك المحادثة مميزة بنجمة.
يوضّح المثال التالي كيفية استخدام curl لاستدعاء أداة search_threads MCP.
| طلب 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 }' |
مخطط الإدخال
رسالة الطلب لاستدعاء إجراء SearchThreads عن بُعد
SearchThreadsRequest
| تمثيل JSON |
|---|
{
"pageSize": integer
"pageToken": string
"query": string
"includeTrash": boolean
"view": enum ( |
| الحقول | |
|---|---|
حقل الربط يمكن أن يكون التعليق |
|
pageSize |
اختياريّ. الحدّ الأقصى لعدد سلاسل المحادثات المطلوب عرضها إذا لم يتم تحديدها، تكون القيمة التلقائية 20. الحد الأقصى المسموح به هو 50. |
حقل الربط يمكن أن يكون التعليق |
|
pageToken |
اختياريّ. رمز مميّز للصفحة لاسترداد صفحة معيّنة من النتائج في القائمة. اترك الحقل فارغًا لجلب الصفحة الأولى. يُستخدَم هذا المعرّف بشكل أساسي لتقسيم النتائج على عدّة صفحات من أجل مواصلة جلب النتائج من حيث توقّف طلب |
حقل الربط يمكن أن يكون التعليق |
|
query |
اختياريّ. سلسلة طلب بحث لفلترة سلاسل المحادثات يجب تحويل طلبات البحث باللغة الطبيعية مسبقًا إلى طلبات بحث بصيغة Gmail لاستخدام هذه الأداة. في حال عدم تحديد أي قيمة، سيتم إدراج جميع سلاسل المحادثات (باستثناء الرسائل غير المرغوب فيها والمحذوفة تلقائيًا). عوامل التشغيل المتاحة حسب الفئة: المرسِل والمستلم:
الوقت والتاريخ:
المحتوى:
التصنيفات والفئات:
الحالة:
الحجم:
المنطق والتجميع:
أمثلة:
|
حقل الربط يمكن أن يكون التعليق |
|
includeTrash |
اختياريّ. تضمين سلاسل محادثات من مجلد المهملات في النتائج القيمة التلقائية هي "خطأ". |
حقل الربط يمكن أن يكون التعليق |
|
view |
اختياريّ. تتحكّم هذه السمة في الحقول التي تتم تعبئتها لسلاسل المحادثات في قائمة سلاسل المحادثات. القيمة التلقائية هي THREAD_VIEW_MINIMAL. تعرض الدالة THREAD_VIEW_MINIMAL المعرّف والمقتطف والموضوع والمرسل والمستلم ونسخة إلى والتاريخ ومعرّفات التصنيفات. تعرض THREAD_VIEW_METADATA_ONLY المعرّف و"من" و"إلى" و"نسخة إلى" والتاريخ وlabelIds فقط. |
ThreadView
تعداد للتحكّم في الحقول التي يتم ملؤها لسلاسل المحادثات في ردَّي ListThreads وSearchThreads.
| عمليات التعداد | |
|---|---|
THREAD_VIEW_UNSPECIFIED |
يتم ربطها بـ THREAD_VIEW_MINIMAL للتوافق مع الأنظمة القديمة. |
THREAD_VIEW_METADATA_ONLY |
تعرض هذه الطريقة المعرّف id، وfrom، وto، وcc، وdate، وlabelIds. |
THREAD_VIEW_MINIMAL |
تعرض هذه الطريقة رقم التعريف والمقتطف والموضوع والمُرسِل والمستلِم والنسخة إلى والتاريخ وأرقام تعريف التصنيفات. |
مخطط النتائج
رسالة الردّ على استدعاء إجراء SearchThreads عن بُعد.
SearchThreadsResponse
| تمثيل JSON |
|---|
{
"threads": [
{
object ( |
| الحقول | |
|---|---|
threads[] |
قائمة بملخّصات سلاسل المحادثات |
nextPageToken |
رمز مميّز يمكن استخدامه في طلب لاحق لاسترداد الصفحة التالية من سلاسل المحادثات. يجب عرضها فقط إذا كانت هناك نتائج إضافية. إذا كان عدد سلاسل المحادثات المطابقة لطلب البحث يتجاوز الحدّ الأقصى المسموح به في page_size، سيتضمّن الردّ |
resultCountEstimate |
تمثّل هذه السمة عدد النتائج المقدَّر لطلب البحث هذا. يجب التعامل معها كحدّ أدنى، لذا إذا كانت 500 مثلاً، يمكن إبلاغ المستخدم بالعدد على أنّه "500 أو أكثر". |
Thread
| تمثيل 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 |
اسم ملف المرفق |
التعليقات التوضيحية للأدوات
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌
نطاقات التفويض
يجب توفير أحد نطاقات OAuth التالية:
https://mail.google.com/https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/gmail.readonly