MCP Tools Reference: gmailmcp.googleapis.com

टूल: get_message

यह टूल, पुष्टि किए गए उपयोगकर्ता के Gmail खाते से, मैसेज के यूनीक आईडी के ज़रिए कोई खास ईमेल मैसेज वापस लाता है.

अगर आपको किसी ईमेल का मैसेज आईडी पता है और आपको सिर्फ़ वही ईमेल देखना है, तो इस टूल का इस्तेमाल करें. अगर उपयोगकर्ता को किसी ईमेल के बारे में ज़्यादा जानकारी चाहिए, मैसेज के सटीक शब्दों की जांच करनी है या किसी एक ईमेल के अटैचमेंट का मेटाडेटा देखना है, तो यह टूल उसके लिए सही है. इसका इस्तेमाल, पूरी बातचीत को वापस पाने या आगे-पीछे हुई बातचीत के थ्रेड देखने के लिए नहीं किया जा सकता. इसके लिए, 'get_thread' टूल का इस्तेमाल करें. मुख्य इंडिकेटर में यह शामिल है कि अगर उपयोगकर्ता, पिछली खोज के नतीजों में मिले किसी खास मैसेज आईडी का पूरा कॉन्टेंट मांगता है या क्वेरी में पूरे थ्रेड के बजाय, किसी खास ईमेल की जांच करने के लिए कहा जाता है. उपयोगकर्ता के प्रॉम्प्ट के उदाहरण: "मैसेज आईडी 18f123456789abcd का पूरा टेक्स्ट पाएं.", "ऐलिस से मिले उस थ्रेड में मौजूद सबसे नया मैसेज पढ़ें" और "मुझे अभी-अभी एचआर से मिले ईमेल में अटैचमेंट के नाम क्या हैं?"

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

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

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": "get_message",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

इनपुट स्कीमा

GetMessage RPC के लिए अनुरोध मैसेज.

GetMessageRequest

JSON के काेड में दिखाना
{
  "messageId": string,
  "messageFormat": enum (MessageFormat)
}
फ़ील्ड
messageId

string

ज़रूरी है. फ़ेच किए जाने वाले मैसेज का यूनीक आइडेंटिफ़ायर.

messageFormat

enum (MessageFormat)

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

MessageFormat

थ्रेड में मौजूद मैसेज की जानकारी के लेवल को कंट्रोल करने के लिए, Enum का इस्तेमाल किया जाता है.

Enums
MESSAGE_FORMAT_UNSPECIFIED डिफ़ॉल्ट रूप से, यह FULL_CONTENT पर सेट होता है.
MINIMAL मैसेज के स्निपेट और मुख्य हेडर (विषय, भेजने वाला, पाने वाला, कॉपी, तारीख) दिखाता है.
FULL_CONTENT "MINIMAL" में मौजूद सभी जानकारी के साथ-साथ, हर मैसेज का पूरा कॉन्टेंट दिखाता है.
METADATA_ONLY सिर्फ़ मेटाडेटा: इसमें विषय, स्निपेट, मुख्य हिस्सा, अटैचमेंट के फ़ाइल नाम शामिल नहीं होते.

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

किसी थ्रेड में मौजूद मैसेज.

मैसेज

JSON के काेड में दिखाना
{
  "id": string,
  "snippet": string,
  "subject": string,
  "sender": string,
  "toRecipients": [
    string
  ],
  "ccRecipients": [
    string
  ],
  "date": string,
  "plaintextBody": string,
  "attachmentIds": [
    string
  ],
  "htmlBody": string,
  "attachments": [
    {
      object (AttachmentMetadata)
    }
  ],
  "labelIds": [
    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 पर सेट हो.

htmlBody

string

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

attachments[]

object (AttachmentMetadata)

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

labelIds[]

string

मैसेज से जुड़े लेबल के आईडी. इसमें उपयोगकर्ता के लेबल और स्टैंडर्ड सिस्टम लेबल के आईडी शामिल होते हैं. हालांकि, ये आईडी सिर्फ़ INBOX, SPAM, TRASH, UNREAD, STARRED, IMPORTANT, SENT, DRAFT, CHAT तक सीमित होते हैं.

AttachmentMetadata

JSON के काेड में दिखाना
{
  "id": string,
  "mimeType": string,
  "filename": string
}
फ़ील्ड
id

string

सिर्फ़ आउटपुट के लिए. अटैचमेंट का आईडी.

mimeType

string

अटैचमेंट का एमआईएमई टाइप.

filename

string

अटैचमेंट का फ़ाइल नाम.

टूल के एनोटेशन

डेटा मिटाने की चेतावनी: ❌ | एक ही कार्रवाई को बार-बार करने की अनुमति: ✅ | सिर्फ़ पढ़ने की अनुमति: ✅ | सभी के लिए उपलब्ध: ❌

अनुमति पाने के लिंक

इसके लिए, इनमें से किसी एक OAuth अनुमति की ज़रूरत होती है:

  • https://mail.google.com/
  • https://www.googleapis.com/auth/gmail.modify
  • https://www.googleapis.com/auth/gmail.readonly
  • https://www.googleapis.com/auth/gmail.metadata