MCP Tools Reference: gmailmcp.googleapis.com

टूल: search_threads

इस तरीके से, पुष्टि किए गए उपयोगकर्ता के Gmail खाते से ईमेल थ्रेड की सूची मिलती है.

यह टूल, क्वेरी स्ट्रिंग के आधार पर थ्रेड को फ़िल्टर कर सकता है. साथ ही, इसमें पेज नंबर के हिसाब से नतीजे दिखाने की सुविधा भी काम करती है. यह थ्रेड की सूची दिखाता है. इसमें थ्रेड के आईडी और उनसे जुड़े मैसेज शामिल होते हैं. हर मिलते-जुलते मैसेज में, मैसेज के मुख्य हिस्से का स्निपेट, विषय, भेजने वाला, पाने वाले वगैरह की जानकारी होती है. ध्यान दें कि यह टूल, मैसेज के पूरे मुख्य हिस्से को नहीं दिखाता है. अगर आपको मैसेज का पूरा मुख्य हिस्सा चाहिए, तो थ्रेड आईडी के साथ 'get_thread' टूल का इस्तेमाल करें. सर्च के नतीजों में, ऐसी थ्रेड अब भी दिख सकती हैं जिन्हें सर्च करते समय 'हटाने' या 'न दिखाने' का निर्देश दिया गया था. ऐसा इसलिए होता है, क्योंकि Gmail सबसे पहले मिलते-जुलते ईमेल की पहचान करता है. उदाहरण के लिए, अगर आपने -is:starred खोजा है, तो Gmail पूरी थ्रेड को ढूंढ सकता है. भले ही, उस थ्रेड में शामिल अन्य ईमेल पर स्टार का निशान लगा हो. हालांकि, इसके लिए ज़रूरी है कि उस थ्रेड में कम से कम एक ईमेल ऐसा हो जिस पर स्टार का निशान न लगा हो.

यहां दिए गए सैंपल में, curl का इस्तेमाल करके search_threads एमसीपी टूल को चालू करने का तरीका बताया गया है.

कर्ल अनुरोध
curl --location 'https://gmailmcp.googleapis.com/mcp/v1' \
--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 RPC के लिए अनुरोध मैसेज.

SearchThreadsRequest

JSON के काेड में दिखाना
{

  "pageSize": integer

  "pageToken": string

  "query": string

  "includeTrash": boolean
}
फ़ील्ड

यूनियन फ़ील्ड _page_size.

_page_size इनमें से सिर्फ़ एक हो सकता है:

pageSize

integer

ज़रूरी नहीं. ज़्यादा से ज़्यादा थ्रेड लौटाने की संख्या. अगर कोई वैल्यू नहीं दी गई है, तो डिफ़ॉल्ट रूप से 20 का इस्तेमाल किया जाता है. ज़्यादा से ज़्यादा 50 वैल्यू डाली जा सकती हैं.

यूनियन फ़ील्ड _page_token.

_page_token इनमें से सिर्फ़ एक हो सकता है:

pageToken

string

ज़रूरी नहीं. यह पेज टोकन, सूची में मौजूद नतीजों का कोई खास पेज वापस पाने के लिए होता है. पहले पेज का डेटा पाने के लिए, इसे खाली छोड़ें. इसका इस्तेमाल मुख्य रूप से पेजों में बांटने के लिए किया जाता है, ताकि नतीजे वहीं से फ़ेच किए जा सकें जहां पिछला SearchThreads कॉल खत्म हुआ था. ऐसा खास तौर पर तब किया जाता है, जब क्वेरी से मैच करने वाले थ्रेड की संख्या, page_size की सीमा से ज़्यादा हो जाती है.

यूनियन फ़ील्ड _query.

_query इनमें से सिर्फ़ एक हो सकता है:

query

string

ज़रूरी नहीं. थ्रेड को फ़िल्टर करने के लिए क्वेरी स्ट्रिंग. इस टूल का इस्तेमाल करने के लिए, आम भाषा में की गई क्वेरी को Gmail के सिंटैक्स वाली क्वेरी में पहले से ही बदला जाना चाहिए. अगर इसे शामिल नहीं किया जाता है, तो सभी थ्रेड (डिफ़ॉल्ट रूप से स्पैम और ट्रैश को छोड़कर) दिखती हैं.

कैटगरी के हिसाब से इस्तेमाल किए जा सकने वाले ऑपरेटर:

भेजने वाला और पाने वाला: from: - किसी व्यक्ति से मिले ईमेल. को: - किसी व्यक्ति को भेजा गया. कॉपी: - कॉपी किए गए लोगों के नाम. गुप्त कॉपी: - गुप्त कॉपी में शामिल लोगों को ईमेल भेजा जाता है. deliveredto: - किसी खास पते पर डिलीवर किया गया. list: - किसी मेलिंग सूची से.

समय और तारीख: after:YYYY/MM/DD / newer:YYYY/MM/DD - किसी तारीख के बाद मिला. before:YYYY/MM/DD / older:YYYY/MM/DD - किसी तारीख से पहले मिला ईमेल. older_than: - किसी अवधि से पुराना (जैसे, 1 साल, 2 दिन). newer_than: - किसी अवधि से नया.

कॉन्टेंट: विषय: - विषय पंक्ति में मौजूद शब्द. has: - इसमें कॉन्टेंट के कुछ खास टाइप (अटैचमेंट, Drive, YouTube, दस्तावेज़) शामिल होते हैं. filename: - किसी खास नाम या टाइप वाला अटैचमेंट. "<शब्द/वाक्यांश>" - किसी शब्द या वाक्यांश को सटीक तरीके से खोजें. (जैसे, "छुट्टी", "छुट्टियों में घूमने-फिरने के लिए जगह"). + - किसी शब्द का सटीक मिलान करें. (उदाहरण के लिए, +holiday, +unicorn) rfc822msgid: - खास मैसेज आईडी हेडर. AROUND - एक-दूसरे के आस-पास मौजूद शब्दों को ढूंढें. उदाहरण के लिए, holiday AROUND 10 vacation.

लेबल और कैटगरी: label: - किसी लेबल के तहत. यह टूल, लेबल के आईडी स्वीकार करता है, डिसप्ले नेम नहीं. आईडी पाने के लिए, list_labels टूल का इस्तेमाल करें. category: - किसी कैटगरी में (प्राइमरी, सोशल, प्रमोशन, अपडेट, फ़ोरम, बुकिंग, खरीदारी). in:

स्टेटस: is: - स्टेटस के हिसाब से खोजें (ज़रूरी, स्टार के निशान वाला, नहीं पढ़ा गया, पढ़ा गया, म्यूट किया गया).

साइज़: size: - बाइट में तय किया गया साइज़. larger: / smaller: - किसी साइज़ से बड़ा या छोटा (उदाहरण के लिए, 10 एमबी के लिए 10M).

लॉजिक और ग्रुपिंग: AND - सभी शर्तों से मेल खाना (डिफ़ॉल्ट व्यवहार). OR या { } - एक या उससे ज़्यादा शर्तों से मेल खाने वाले ईमेल ढूंढें. उदाहरण के लिए, from:amy OR from:david, {from:amy from:david}. - (माइनस) - एक्सक्लूड करने की शर्त (जैसे, -movie). ( ) - खोज के लिए इस्तेमाल हुए एक से ज़्यादा शब्दों को ग्रुप करें. जैसे, subject:(dinner film).

उदाहरण: "subject:OneMCP Update" "from:user@example.com" "to:user2@example.com AND newer_than:7d" "project proposal has:attachment" "is:unread -in:draft"

यूनियन फ़ील्ड _include_trash.

_include_trash इनमें से सिर्फ़ एक हो सकता है:

includeTrash

boolean

ज़रूरी नहीं. नतीजों में, ट्रैश में मौजूद ड्राफ़्ट शामिल करें. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होती है.

आउटपुट स्कीमा

SearchThreads आरपीसी के लिए जवाब का मैसेज.

SearchThreadsResponse

JSON के काेड में दिखाना
{
  "threads": [
    {
      object (Thread)
    }
  ],
  "nextPageToken": string
}
फ़ील्ड
threads[]

object (Thread)

थ्रेड के सारांश की सूची.

nextPageToken

string

यह एक ऐसा टोकन है जिसका इस्तेमाल बाद में किए जाने वाले कॉल में किया जा सकता है. इससे थ्रेड का अगला पेज वापस पाया जा सकता है. यह तब ही दिखता है, जब ज़्यादा नतीजे मौजूद हों. अगर क्वेरी से मेल खाने वाली थ्रेड की संख्या, page_size की सीमा से ज़्यादा है, तो जवाब में next_page_token शामिल होगा. नतीजों का अगला पेज पाने के लिए, इस टोकन को अगले SearchThreadsRequest के page_token फ़ील्ड में पास करें.

थ्रेड

JSON के काेड में दिखाना
{
  "id": string,
  "messages": [
    {
      object (Message)
    }
  ]
}
फ़ील्ड
id

string

थ्रेड का यूनीक आइडेंटिफ़ायर.

messages[]

object (Message)

थ्रेड में मौजूद मैसेज की सूची. इन्हें समय के हिसाब से क्रम में लगाया जाता है.

मैसेज

JSON के काेड में दिखाना
{
  "id": string,
  "snippet": string,
  "subject": string,
  "sender": string,
  "toRecipients": [
    string
  ],
  "ccRecipients": [
    string
  ],
  "date": string,
  "plaintextBody": string,
  "attachmentIds": [
    string
  ]
}
फ़ील्ड
id

string

यह मैसेज का यूनीक आइडेंटिफ़ायर होता है.

snippet

string

मैसेज के मुख्य हिस्से का स्निपेट.

subject

string

हेडर से निकाला गया मैसेज का विषय:

sender

string

भेजने वाले का ईमेल पता.

toRecipients[]

string

ईमेल पाने वालों के पतों पर.

ccRecipients[]

string

कॉपी पाने वाले लोगों के ईमेल पते.

date

string

आईएसओ 8601 फ़ॉर्मैट (YYYY-MM-DD) में मैसेज की तारीख.

plaintextBody

string

पूरे मैसेज का कॉन्टेंट. यह सिर्फ़ तब दिखता है, जब MessageFormat FULL_CONTENT पर सेट हो.

attachmentIds[]

string

सिर्फ़ आउटपुट के लिए. अटैचमेंट आईडी. ये आईडी सिर्फ़ तब दिखते हैं, जब MessageFormat FULL_CONTENT पर सेट हो.

टूल एनोटेशन

बदलाव करने से जुड़ी जानकारी: ❌ | एक ही बार लागू होने से जुड़ी जानकारी: ✅ | सिर्फ़ पढ़ने से जुड़ी जानकारी: ✅ | ओपन वर्ल्ड से जुड़ी जानकारी: ❌