MCP Tools Reference: chatmcp.googleapis.com

टूल: list_messages

यह टूल, Google Chat की किसी बातचीत (स्पेस, डायरेक्ट मैसेज (डीएम) या ग्रुप डीएम) से मैसेज को Markdown फ़ॉर्मैट में फ़ेच करता है. इससे थ्रेड, समयसीमा, और मैसेज की संख्या के हिसाब से फ़िल्टर किया जा सकता है. इसके अलावा, ज़्यादा जानकारी देने के लिए, मैसेज के अगले पेज को भी वापस लाया जा सकता है. निजी मैसेज (सिर्फ़ एक उपयोगकर्ता को दिखने वाले मैसेज) फ़िल्टर कर दिए जाते हैं.

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

Curl अनुरोध
curl --location 'https://chatmcp.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": "list_messages",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

इनपुट स्कीमा

ListChatMessagesRequest

JSON के काेड में दिखाना
{
  "conversationId": string,
  "threadId": string,
  "pageSize": integer,
  "pageToken": string,
  "startTime": string,
  "endTime": string
}
फ़ील्ड
conversationId

string

ज़रूरी है. बातचीत का आईडी. बातचीत, स्पेस, डायरेक्ट मैसेज (डीएम) या ग्रुप डीएम/चैट हो सकती है. फ़ॉर्मैट: spaces/{space}

threadId

string

ज़रूरी नहीं. बातचीत में मौजूद किसी थ्रेड का आईडी. अगर यह पैरामीटर दिया जाता है, तो सिर्फ़ इस थ्रेड के मैसेज दिखाए जाएंगे. अगर इसे शामिल नहीं किया जाता है, तो बातचीत में मौजूद सभी थ्रेड के मैसेज को शामिल किया जाता है. फ़ॉर्मैट: spaces/{space}/threads/{thread}

pageSize

integer

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

pageToken

string

ज़रूरी नहीं. पिछले list_messages कॉल से मिला पेज टोकन. अगला पेज वापस पाने के लिए, यह जानकारी दें.

startTime

string

ज़रूरी नहीं. मैसेज फ़िल्टर करने के लिए, ISO 8601 टाइमस्टैंप. इस समय के बाद बनाए गए मैसेज ही दिखाए जाएंगे.

endTime

string

ज़रूरी नहीं. मैसेज फ़िल्टर करने के लिए, ISO 8601 टाइमस्टैंप. सिर्फ़ इस समय से पहले बनाए गए मैसेज दिखाए जाएंगे.

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

जवाब में, अनुरोध की गई बातचीत के मैसेज की सूची शामिल होती है.

ListChatMessagesResponse

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

object (ChatMessage)

मैसेज की सूची, नए से पुराने के क्रम में दिखती है.

nextPageToken

string

एक टोकन, जिसे मैसेज के अगले पेज को वापस पाने के लिए, बाद के ListMessagesRequest में page_token के तौर पर भेजा जा सकता है. अगर यह फ़ील्ड खाली है, तो इसका मतलब है कि कोई और पेज नहीं है.

ChatMessage

JSON के काेड में दिखाना
{
  "messageId": string,
  "threadId": string,
  "plaintextBody": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "threadedReply": boolean,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "reactionSummaries": [
    {
      object (ReactionSummary)
    }
  ],
  "quotedMessageMetadata": {
    object (QuotedMessageMetadata)
  }
}
फ़ील्ड
messageId

string

मैसेज के संसाधन का नाम. फ़ॉर्मैट: spaces/{space}/messages/{message}

threadId

string

वह थ्रेड जिससे यह मैसेज जुड़ा है. अगर मैसेज थ्रेड नहीं किया गया है, तो यह खाली रहेगा. फ़ॉर्मैट: spaces/{space}/threads/{thread}

plaintextBody

string

Markdown फ़ॉर्मैटिंग का इस्तेमाल करके, मैसेज का मुख्य टेक्स्ट.

sender

object (User)

मैसेज भेजने वाला व्यक्ति.

createTime

string

सिर्फ़ आउटपुट के लिए. मैसेज बनाए जाने का टाइमस्टैंप. फ़ॉर्मैट: ISO 8601 टाइमस्टैंप.

threadedReply

boolean

क्या मैसेज, थ्रेड का जवाब है.

attachments[]

object (ChatAttachmentMetadata)

मैसेज में अटैचमेंट शामिल किए गए हैं.

reactionSummaries[]

object (ReactionSummary)

मैसेज में शामिल, इमोजी से दी गई प्रतिक्रियाओं की खास जानकारी.

quotedMessageMetadata

object (QuotedMessageMetadata)

सिर्फ़ आउटपुट के लिए. इस मैसेज में कोट या फ़ॉरवर्ड किए गए ओरिजनल मैसेज की जानकारी. ध्यान दें: इस फ़ील्ड पर काम चल रहा है. इसलिए, हो सकता है कि यह अभी सभी एनवायरमेंट में मौजूद न हो.

उपयोगकर्ता

JSON के काेड में दिखाना
{
  "userId": string,
  "displayName": string,
  "email": string,
  "userType": enum (UserType)
}
फ़ील्ड
userId

string

Chat इस्तेमाल करने वाले व्यक्ति के संसाधन का नाम. फ़ॉर्मैट: users/{user}.

displayName

string

Chat इस्तेमाल करने वाले व्यक्ति का डिसप्ले नेम.

email

string

उपयोगकर्ता का ईमेल पता. यह फ़ील्ड सिर्फ़ तब भरा जाता है, जब उपयोगकर्ता टाइप HUMAN हो.

userType

enum (UserType)

उपयोगकर्ता का टाइप.

ChatAttachmentMetadata

JSON के काेड में दिखाना
{
  "attachmentId": string,
  "filename": string,
  "mimeType": string,
  "source": enum (Source),
  "driveFileId": string
}
फ़ील्ड
attachmentId

string

अटैचमेंट के संसाधन का नाम. फ़ॉर्मैट: spaces/{space}/messages/{message}/attachments/{attachment}.

filename

string

अटैचमेंट का नाम.

mimeType

string

कॉन्टेंट टाइप (एमआईएमई टाइप).

source

enum (Source)

अटैचमेंट का सोर्स.

driveFileId

string

सिर्फ़ आउटपुट के लिए. Google Drive फ़ाइल का आईडी. यह जानकारी सिर्फ़ तब अपने-आप भरी जाती है, जब सोर्स DRIVE_FILE हो. Google Drive के एमसीपी के साथ इस्तेमाल करें.

ReactionSummary

JSON के काेड में दिखाना
{
  "emoji": string,
  "count": integer
}
फ़ील्ड
emoji

string

इमोजी की यूनिकोड स्ट्रिंग या पसंद के मुताबिक बनाए गए इमोजी का नाम.

count

integer

किसी इमोजी का इस्तेमाल करके दी गई प्रतिक्रियाओं की कुल संख्या.

QuotedMessageMetadata

JSON के काेड में दिखाना
{
  "messageId": string,
  "lastUpdateTime": string,
  "quoteType": enum (QuoteType),
  "plaintextBody": string,
  "sender": string,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "forwardedMetadata": {
    object (ForwardedMetadata)
  }
}
फ़ील्ड
messageId

string

सिर्फ़ आउटपुट के लिए. कोट या फ़ॉरवर्ड किए गए ओरिजनल मैसेज के संसाधन का नाम. फ़ॉर्मैट: spaces/{space}/messages/{message}

lastUpdateTime

string

सिर्फ़ आउटपुट के लिए. कोट या फ़ॉरवर्ड किए जाने से पहले, मूल मैसेज को बनाए जाने या पिछली बार अपडेट किए जाने का टाइमस्टैंप. फ़ॉर्मैट: ISO 8601 टाइमस्टैंप.

quoteType

enum (QuoteType)

सिर्फ़ आउटपुट के लिए. कोटेशन किस तरह का है.

plaintextBody

string

सिर्फ़ आउटपुट के लिए. कोट या फ़ॉरवर्ड करते समय, मूल मैसेज के टेक्स्ट का स्नैपशॉट. FORWARD के लिए Markdown और REPLY के लिए सादे टेक्स्ट का इस्तेमाल करके फ़ॉर्मैट किया गया.

sender

string

सिर्फ़ आउटपुट के लिए. ओरिजनल मैसेज के लेखक का डिसप्ले नेम.

attachments[]

object (ChatAttachmentMetadata)

सिर्फ़ आउटपुट के लिए. मूल मैसेज में शामिल अटैचमेंट. इसे सिर्फ़ FORWARD कोट टाइप के लिए भरा जाता है.

forwardedMetadata

object (ForwardedMetadata)

सिर्फ़ आउटपुट के लिए. फ़ॉरवर्ड किए गए मैसेज की सोर्स बातचीत का मेटाडेटा. इसे सिर्फ़ FORWARD कोट टाइप के लिए भरा जाता है.

ForwardedMetadata

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

string

सिर्फ़ आउटपुट के लिए. सोर्स बातचीत के संसाधन का नाम. फ़ॉर्मैट: spaces/{space}

conversationDisplayName

string

सिर्फ़ आउटपुट के लिए. मैसेज फ़ॉरवर्ड किए जाने के समय, सोर्स बातचीत का डिसप्ले नेम. नाम वाले स्पेस के लिए, यह स्पेस का नाम होता है. सीधी बातचीत के लिए, यह मीटिंग में हिस्सा लेने वाले दूसरे व्यक्ति का नाम होता है. बिना नाम वाली ग्रुप चैट के लिए, यह नाम ग्रुप के सदस्यों के नामों के आधार पर जनरेट किया जाता है.

UserType

Google Chat इस्तेमाल करने वाले व्यक्ति का टाइप.

Enums
USER_TYPE_UNSPECIFIED नहीं बताया गया है
HUMAN इंसान.
APP ऐप्लिकेशन का उपयोगकर्ता.

स्रोत

अटैचमेंट का सोर्स.

Enums
SOURCE_UNSPECIFIED सुरक्षित हैं.
DRIVE_FILE फ़ाइल, Google Drive में मौजूद हो.
UPLOADED_CONTENT फ़ाइल को Chat में अपलोड किया गया हो.

QuoteType

कोट का टाइप, जिससे पता चलता है कि मैसेज, कोट किया गया जवाब है या फ़ॉरवर्ड किया गया मैसेज.

Enums
QUOTE_TYPE_UNSPECIFIED सुरक्षित हैं. कोटेशन का टाइप तय नहीं है.
REPLY मैसेज, उसी थ्रेड में मौजूद ओरिजनल मैसेज का कोट किया गया जवाब हो.
FORWARD मैसेज को किसी दूसरी बातचीत के ओरिजनल मैसेज से या उसी बातचीत के किसी दूसरे थ्रेड से फ़ॉरवर्ड किया गया हो.

टूल एनोटेशन

एमसीपी क्लाइंट को टूल एनोटेशन भेजे जाते हैं, ताकि किसी टूल से जुड़े बुनियादी जोखिम के बारे में बताया जा सके. ज़्यादातर क्लाइंट इन संकेतों को भरोसेमंद नहीं मानते. हालांकि, इनका इस्तेमाल यह तय करने के लिए किया जा सकता है कि उपयोगकर्ता को पुष्टि करने का प्रॉम्प्ट कब भेजा जाए.

टाइटल स्ट्रिंग के साथ-साथ, बूलियन हिंट के बारे में यहां बताया गया है:

  • readOnlyHint: अगर इसकी वैल्यू true है, तो टूल अपने एनवायरमेंट में बदलाव नहीं करता. डिफ़ॉल्ट: false.
  • destructiveHint: अगर इसकी वैल्यू true है, तो टूल नुकसान पहुंचाने वाली कार्रवाइयां कर सकता है. अगर यह वैल्यू false पर सेट है, तो टूल सिर्फ़ जोड़ने वाली कार्रवाइयां कर सकता है. डिफ़ॉल्ट: true.
  • idempotentHint: अगर इसकी वैल्यू true है, तो टूल को एक ही आर्ग्युमेंट के साथ बार-बार कॉल करने पर, उसके एनवायरमेंट पर कोई और असर नहीं पड़ेगा. डिफ़ॉल्ट: false.
  • openWorldHint: सही होने पर, टूल बाहरी इकाइयों की 'विशाल दुनिया' के साथ इंटरैक्ट कर सकता है. अगर यह वैल्यू false है, तो टूल सिर्फ़ इंटरनल इकाइयों के साथ इंटरैक्ट कर सकता है. उदाहरण के लिए, वेब सर्च टूल ओपन वर्ल्ड होगा, जबकि मेमोरी टूल ओपन वर्ल्ड नहीं होगा.

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌

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

इनमें से किसी एक OAuth स्कोप की ज़रूरत होती है:

  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.readonly