टूल: search_messages
कीवर्ड और फ़िल्टर का इस्तेमाल करके, Google Chat के मैसेज खोजे जा सकते हैं. ये मैसेज, मार्कडाउन फ़ॉर्मैट में दिखते हैं. यह उन सभी स्पेस में काम करता है जिनका ऐक्सेस उपयोगकर्ता के पास है. इसके अलावा, इसे किसी खास बातचीत तक सीमित किया जा सकता है.
search_messages या खोजने और पढ़ने के लिए उपलब्ध अन्य टूल का इस्तेमाल करने का फ़ैसला लेते समय, इन दिशा-निर्देशों का पालन करें:
search_messagesका इस्तेमाल तब करें, जब आपको किसी खास मैसेज का कॉन्टेंट, कीवर्ड, टैग, लिंक, ईमेल भेजने वाले व्यक्ति या नहीं पढ़े गए मैसेज खोजने हों. ऐसा हो सकता है कि ये मैसेज कई स्पेस में हों या उनका बातचीत आईडी पता न हो.list_messagesका इस्तेमाल तब करें, जब आपको किसी स्पेस या थ्रेड का आईडी पता हो और आपको मैसेज को क्रम से पढ़ना हो.- स्पेस के डिसप्ले नेम या उसमें शामिल लोगों के नाम के हिसाब से, स्पेस का मेटाडेटा ढूंढने के लिए
search_conversationsका इस्तेमाल करें. जैसे, बातचीत के आईडी. इससे सिर्फ़ मेटाडेटा खोजा जाता है, मैसेज का कॉन्टेंट नहीं.
अगर searchParameters को बिना किसी फ़िल्टर के इस्तेमाल किया जाता है, तो उपयोगकर्ता को उन सभी बातचीत के हाल ही के मैसेज दिखते हैं जिन्हें वह ऐक्सेस कर सकता है.
यहां दिए गए कोड सैंपल में, curl का इस्तेमाल करके search_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": "search_messages", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
इनपुट स्कीमा
SearchMessagesRequest
| JSON के काेड में दिखाना |
|---|
{
"searchParameters": {
object ( |
| फ़ील्ड | |
|---|---|
searchParameters |
ज़रूरी है. खोज के लिए इस्तेमाल किए जाने वाले पैरामीटर. |
pageSize |
ज़रूरी नहीं. ज़्यादा से ज़्यादा कितने नतीजे दिखाए जाएं. ज़्यादा से ज़्यादा 100 नतीजे दिखाए जा सकते हैं. अगर इसे तय न किया गया हो, तो ज़्यादा से ज़्यादा 25 नतीजे दिखते हैं. |
pageToken |
ज़रूरी नहीं. पेज टोकन, जो पिछली |
SearchParameters
| JSON के काेड में दिखाना |
|---|
{
"keywords": [
string
],
"conversationId": string,
"sender": string,
"isUnread": boolean,
"hasLink": boolean,
"startTime": string,
"endTime": string,
"mentionsMe": boolean,
"conversationIncludesUser": string,
"spaceDisplayNames": [
string
],
"conversationTypes": [
enum ( |
| फ़ील्ड | |
|---|---|
keywords[] |
ज़रूरी नहीं. कीवर्ड का एक सेट, जिसका इस्तेमाल नतीजों को फ़िल्टर करने के लिए किया जाता है. |
conversationId |
ज़रूरी नहीं. यह टूल, search_conversations टूल से मिले किसी खास बातचीत के आइडेंटिफ़ायर के हिसाब से खोज को सीमित करता है. फ़ॉर्मैट: |
sender |
ज़रूरी नहीं. किसी उपयोगकर्ता से मिले मैसेज फ़िल्टर करें. ईमेल भेजने वाले व्यक्ति का ईमेल पता या संसाधन का नाम इस्तेमाल किया जा सकता है. उपयोगकर्ता के संसाधन के नाम |
isUnread |
ज़रूरी नहीं. उन मैसेज को फ़िल्टर करें जिन्हें कॉल करने वाले उपयोगकर्ता ने नहीं पढ़ा है. |
hasLink |
ज़रूरी नहीं. कम से कम एक यूआरएल वाले मैसेज के लिए फ़िल्टर. |
startTime |
ज़रूरी नहीं. इस समय के बाद बनाए गए मैसेज के लिए फ़िल्टर. फ़ॉर्मैट: ISO 8601 टाइमस्टैंप. |
endTime |
ज़रूरी नहीं. इस समय से पहले बनाए गए मैसेज फ़िल्टर करें. फ़ॉर्मैट: ISO 8601 टाइमस्टैंप. |
mentionsMe |
ज़रूरी नहीं. उन मैसेज को फ़िल्टर करें जिनमें कॉल करने वाले उपयोगकर्ता का साफ़ तौर पर ज़िक्र किया गया हो. |
conversationIncludesUser |
ज़रूरी नहीं. डीएम और ग्रुप चैट में मौजूद उन मैसेज को फ़िल्टर करना जिनमें किसी उपयोगकर्ता का ईमेल पता या आईडी शामिल है. |
spaceDisplayNames[] |
ज़रूरी नहीं. स्पेस के नामों की सूची के हिसाब से फ़िल्टर करें. स्पेस के डिसप्ले नेम, कुछ हद तक मैच होते हैं. ध्यान दें: सिर्फ़ सबसे ज़्यादा मैच होने वाले पांच नतीजे दिखाए जाते हैं. |
conversationTypes[] |
ज़रूरी नहीं. बातचीत के टाइप के हिसाब से फ़िल्टर करें. |
hasAttachment |
ज़रूरी नहीं. कम से कम एक अटैचमेंट वाले मैसेज फ़िल्टर करें. ध्यान दें: इस फ़ील्ड पर काम चल रहा है. इसलिए, हो सकता है कि यह फ़िलहाल सभी एनवायरमेंट में काम न करे. |
ConversationType
इससे बातचीत के टाइप के बारे में पता चलता है.
| Enums | |
|---|---|
CONVERSATION_TYPE_UNSPECIFIED |
नहीं बताया गया है |
NAMED_SPACE |
नाम वाला स्पेस. |
GROUP_CHAT |
तीन या इससे ज़्यादा लोगों के बीच की ग्रुप चैट. |
DIRECT_MESSAGE |
दो लोगों के बीच या किसी व्यक्ति और चैट ऐप्लिकेशन के बीच हुआ डायरेक्ट मैसेज. |
आउटपुट स्कीमा
Google Chat में मैसेज खोजने के लिए जवाब. अगर next_page_token में जानकारी भरी गई है, तो नतीजों का अगला पेज पाने के लिए, SearchMessages को उस टोकन के साथ फिर से कॉल किया जा सकता है.
SearchMessagesResponse
| JSON के काेड में दिखाना |
|---|
{
"messages": [
{
object ( |
| फ़ील्ड | |
|---|---|
messages[] |
खोज के लिए इस्तेमाल हुए शब्दों से मेल खाने वाले मैसेज ऑब्जेक्ट की सूची. |
nextPageToken |
एक टोकन, जिसे अगले पेज को वापस पाने के लिए |
ChatMessage
| JSON के काेड में दिखाना |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| फ़ील्ड | |
|---|---|
messageId |
मैसेज के संसाधन का नाम. फ़ॉर्मैट: spaces/{space}/messages/{message} |
threadId |
वह थ्रेड जिससे यह मैसेज जुड़ा है. अगर मैसेज थ्रेड नहीं किया गया है, तो यह खाली रहेगा. फ़ॉर्मैट: spaces/{space}/threads/{thread} |
plaintextBody |
Markdown फ़ॉर्मैटिंग का इस्तेमाल करके, मैसेज का मुख्य टेक्स्ट. |
sender |
मैसेज भेजने वाला व्यक्ति. |
createTime |
सिर्फ़ आउटपुट के लिए. मैसेज बनाए जाने का टाइमस्टैंप. फ़ॉर्मैट: ISO 8601 टाइमस्टैंप. |
threadedReply |
क्या मैसेज, थ्रेड का जवाब है. |
attachments[] |
मैसेज में अटैचमेंट शामिल किए गए हैं. |
reactionSummaries[] |
मैसेज में शामिल, इमोजी से दी गई प्रतिक्रियाओं की खास जानकारी. |
quotedMessageMetadata |
सिर्फ़ आउटपुट के लिए. इस मैसेज में कोट या फ़ॉरवर्ड किए गए ओरिजनल मैसेज की जानकारी. ध्यान दें: इस फ़ील्ड पर काम चल रहा है. इसलिए, हो सकता है कि यह अभी सभी एनवायरमेंट में मौजूद न हो. |
उपयोगकर्ता
| JSON के काेड में दिखाना |
|---|
{
"userId": string,
"displayName": string,
"email": string,
"userType": enum ( |
| फ़ील्ड | |
|---|---|
userId |
Chat इस्तेमाल करने वाले व्यक्ति के संसाधन का नाम. फ़ॉर्मैट: users/{user}. |
displayName |
Chat इस्तेमाल करने वाले व्यक्ति का डिसप्ले नेम. |
email |
उपयोगकर्ता का ईमेल पता. यह फ़ील्ड सिर्फ़ तब भरा जाता है, जब उपयोगकर्ता टाइप HUMAN हो. |
userType |
उपयोगकर्ता का टाइप. |
ChatAttachmentMetadata
| JSON के काेड में दिखाना |
|---|
{
"attachmentId": string,
"filename": string,
"mimeType": string,
"source": enum ( |
| फ़ील्ड | |
|---|---|
attachmentId |
अटैचमेंट के संसाधन का नाम. फ़ॉर्मैट: spaces/{space}/messages/{message}/attachments/{attachment}. |
filename |
अटैचमेंट का नाम. |
mimeType |
कॉन्टेंट टाइप (एमआईएमई टाइप). |
source |
अटैचमेंट का सोर्स. |
driveFileId |
सिर्फ़ आउटपुट के लिए. Google Drive फ़ाइल का आईडी. यह जानकारी सिर्फ़ तब अपने-आप भरी जाती है, जब सोर्स DRIVE_FILE हो. Google Drive के एमसीपी के साथ इस्तेमाल करें. |
ReactionSummary
| JSON के काेड में दिखाना |
|---|
{ "emoji": string, "count": integer } |
| फ़ील्ड | |
|---|---|
emoji |
इमोजी की यूनिकोड स्ट्रिंग या पसंद के मुताबिक बनाए गए इमोजी का नाम. |
count |
किसी इमोजी का इस्तेमाल करके दी गई प्रतिक्रियाओं की कुल संख्या. |
QuotedMessageMetadata
| JSON के काेड में दिखाना |
|---|
{ "messageId": string, "lastUpdateTime": string, "quoteType": enum ( |
| फ़ील्ड | |
|---|---|
messageId |
सिर्फ़ आउटपुट के लिए. कोट या फ़ॉरवर्ड किए गए ओरिजनल मैसेज के संसाधन का नाम. फ़ॉर्मैट: spaces/{space}/messages/{message} |
lastUpdateTime |
सिर्फ़ आउटपुट के लिए. कोट या फ़ॉरवर्ड किए जाने से पहले, मूल मैसेज को बनाए जाने या पिछली बार अपडेट किए जाने का टाइमस्टैंप. फ़ॉर्मैट: ISO 8601 टाइमस्टैंप. |
quoteType |
सिर्फ़ आउटपुट के लिए. कोटेशन किस तरह का है. |
plaintextBody |
सिर्फ़ आउटपुट के लिए. कोट या फ़ॉरवर्ड करते समय, मूल मैसेज के टेक्स्ट का स्नैपशॉट. |
sender |
सिर्फ़ आउटपुट के लिए. ओरिजनल मैसेज के लेखक का डिसप्ले नेम. |
attachments[] |
सिर्फ़ आउटपुट के लिए. मूल मैसेज में शामिल अटैचमेंट. इसे सिर्फ़ |
forwardedMetadata |
सिर्फ़ आउटपुट के लिए. फ़ॉरवर्ड किए गए मैसेज की सोर्स बातचीत का मेटाडेटा. इसे सिर्फ़ |
ForwardedMetadata
| JSON के काेड में दिखाना |
|---|
{ "conversationId": string, "conversationDisplayName": string } |
| फ़ील्ड | |
|---|---|
conversationId |
सिर्फ़ आउटपुट के लिए. सोर्स बातचीत के संसाधन का नाम. फ़ॉर्मैट: spaces/{space} |
conversationDisplayName |
सिर्फ़ आउटपुट के लिए. मैसेज फ़ॉरवर्ड किए जाने के समय, सोर्स बातचीत का डिसप्ले नेम. नाम वाले स्पेस के लिए, यह स्पेस का नाम होता है. सीधी बातचीत के लिए, यह मीटिंग में हिस्सा लेने वाले दूसरे व्यक्ति का नाम होता है. बिना नाम वाली ग्रुप चैट के लिए, यह नाम ग्रुप के सदस्यों के नामों के आधार पर जनरेट किया जाता है. |
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.readonlyhttps://www.googleapis.com/auth/chat.spaces.readonlyhttps://www.googleapis.com/auth/chat.memberships.readonlyhttps://www.googleapis.com/auth/chat.users.readstate.readonly