टूल: search_messages
यह कीवर्ड और फ़िल्टर का इस्तेमाल करके, Google Chat मैसेज खोजता है. साथ ही, उन्हें Markdown फ़ॉर्मैट में दिखाता है. यह सुविधा उन सभी स्पेस में काम करती है जिन पर उपयोगकर्ता के पास ऐक्सेस है. इसके अलावा, इसे किसी खास बातचीत के लिए भी इस्तेमाल किया जा सकता है.
search_messages का इस्तेमाल करने का फ़ैसला लेते समय, इस दिशा-निर्देश का पालन करें. यह दिशा-निर्देश, खोज या पढ़ने के अन्य टूल के बारे में है:
search_messagesका इस्तेमाल तब करें, जब आपको किसी मैसेज का कॉन्टेंट, कीवर्ड, मेंशन, लिंक, ईमेल भेजने वाले या नहीं पढ़े गए मैसेज ढूंढने हों. ऐसा हो सकता है कि ये मैसेज कई स्पेस में मौजूद हों या इनका बातचीत आईडी पता न हो.- अगर आपको किसी स्पेस या थ्रेड का आईडी पता है और आपको मैसेज को समय के हिसाब से क्रमवार तरीके से पढ़ना है, तो
list_messagesका इस्तेमाल करें. - स्पेस के डिसप्ले नेम या उसमें शामिल लोगों के हिसाब से बातचीत के आईडी जैसे स्पेस का मेटाडेटा ढूंढने के लिए,
search_conversationsका इस्तेमाल करें. यह सिर्फ़ मेटाडेटा खोजता है, मैसेज का कॉन्टेंट नहीं.
अगर searchParameters को किसी खास फ़िल्टर के बिना उपलब्ध कराया जाता है, तो उपयोगकर्ता को उन सभी बातचीत के हाल ही के मैसेज दिखाए जाते हैं जिन्हें वह ऐक्सेस कर सकता है.
यहां दिए गए कोड सैंपल में, search_messages MCP टूल को कॉल करने के लिए 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 |
ज़रूरी नहीं. DM और ग्रुप चैट में मौजूद उन मैसेज को फ़िल्टर करें जिनमें उपयोगकर्ता का ईमेल पता या आईडी शामिल है. |
spaceDisplayNames[] |
ज़रूरी नहीं. स्पेस के नामों की सूची के हिसाब से फ़िल्टर करें. स्पेस के डिसप्ले नेम, कुछ हद तक मेल खाते हैं. ध्यान दें: सिर्फ़ सबसे ज़्यादा मिलते-जुलते पांच नतीजे दिखाए जाते हैं. |
conversationTypes[] |
ज़रूरी नहीं. बातचीत के टाइप के हिसाब से फ़िल्टर करें. |
ConversationType
इससे बातचीत के टाइप के बारे में पता चलता है.
| Enums | |
|---|---|
CONVERSATION_TYPE_UNSPECIFIED |
नहीं बताया गया है |
NAMED_SPACE |
नाम वाला स्पेस. |
GROUP_CHAT |
तीन या उससे ज़्यादा लोगों के बीच होने वाली ग्रुप चैट. |
DIRECT_MESSAGE |
दो लोगों के बीच या किसी व्यक्ति और Chat ऐप्लिकेशन के बीच हुई बातचीत. |
आउटपुट स्कीमा
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 |
सिर्फ़ आउटपुट के लिए. मैसेज बनाए जाने का टाइमस्टैंप. |
threadedReply |
यह जानकारी कि मैसेज, थ्रेड में दिया गया जवाब है या नहीं. |
attachments[] |
मैसेज में शामिल अटैचमेंट. |
reactionSummaries[] |
मैसेज में शामिल इमोजी से दी गई प्रतिक्रियाओं की खास जानकारी. |
उपयोगकर्ता
| 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 |
अटैचमेंट का सोर्स. |
ReactionSummary
| JSON के काेड में दिखाना |
|---|
{ "emoji": string, "count": integer } |
| फ़ील्ड | |
|---|---|
emoji |
इमोजी यूनिकोड स्ट्रिंग या पसंद के मुताबिक बनाए गए इमोजी का नाम. |
count |
इमोजी का इस्तेमाल करके दी गई प्रतिक्रियाओं की कुल संख्या. |
UserType
Google Chat इस्तेमाल करने वाले व्यक्ति का टाइप.
| Enums | |
|---|---|
USER_TYPE_UNSPECIFIED |
नहीं बताया गया है |
HUMAN |
कोई इंसान. |
APP |
ऐप्लिकेशन का उपयोगकर्ता. |
स्रोत
अटैचमेंट का सोर्स.
| Enums | |
|---|---|
SOURCE_UNSPECIFIED |
बुक किया गया. |
DRIVE_FILE |
फ़ाइल, Google Drive में मौजूद कोई फ़ाइल है. |
UPLOADED_CONTENT |
फ़ाइल को Chat पर अपलोड किया जाता है. |
टूल एनोटेशन
टूल के एनोटेशन, एमसीपी क्लाइंट को भेजे जाते हैं. इनसे किसी टूल से जुड़े बुनियादी जोखिम के बारे में जानकारी मिलती है. ज़्यादातर क्लाइंट, इन संकेतों को भरोसेमंद नहीं मानते. हालांकि, इनका इस्तेमाल यह तय करने के लिए किया जा सकता है कि किसी उपयोगकर्ता को पुष्टि करने का प्रॉम्प्ट कब भेजा जाए.
टाइटल स्ट्रिंग के साथ-साथ, यहां दिए गए बूलियन हिंट भी तय किए गए हैं:
readOnlyHint: अगर यह सही है, तो टूल अपने एनवायरमेंट में बदलाव नहीं करता है. डिफ़ॉल्ट: गलत.destructiveHint: अगर यह वैल्यू 'सही है' पर सेट है, तो टूल, डेटा को मिटाने जैसी कार्रवाइयां कर सकता है. अगर यह वैल्यू 'गलत है' पर सेट है, तो टूल सिर्फ़ जोड़ने वाली कार्रवाइयां कर सकता है. डिफ़ॉल्ट: सही.idempotentHint: अगर यह वैल्यू सही है, तो एक ही आर्ग्युमेंट के साथ टूल को बार-बार कॉल करने से, इसके एनवायरमेंट पर कोई अतिरिक्त असर नहीं पड़ेगा. डिफ़ॉल्ट: गलत.openWorldHint: अगर यह वैल्यू सही है, तो टूल बाहरी इकाइयों की 'ओपन वर्ल्ड' के साथ इंटरैक्ट कर सकता है. अगर यह वैल्यू गलत है, तो टूल सिर्फ़ इंटरनल इकाइयों के साथ इंटरैक्ट कर सकता है. उदाहरण के लिए, वेब पर खोज करने वाला टूल ओपन वर्ल्ड होगा, जबकि याददाश्त से जुड़ा टूल ओपन वर्ल्ड नहीं होगा.
बदलाव करने वाला सुराग: ❌ | एक ही बार में काम करने वाला सुराग: ✅ | सिर्फ़ पढ़ने वाला सुराग: ✅ | ओपन वर्ल्ड सुराग: ❌
अनुमति पाने के लिंक
इसके लिए, इनमें से किसी एक 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