टूल: send_message
मार्कडाउन फ़ॉर्मैटिंग का इस्तेमाल करके, Google Chat पर किसी बातचीत में चैट मैसेज भेजता है.
यह टूल, इनपुट के तौर पर बातचीत का आईडी, थ्रेड आईडी (ज़रूरी नहीं), और मैसेज का टेक्स्ट इस्तेमाल करता है.
बातचीत के आईडी, search_conversations टूल का इस्तेमाल करके ढूंढे जा सकते हैं.
यह बनाए गए मैसेज को दिखाता है.
यहां दिए गए कोड सैंपल में, curl का इस्तेमाल करके send_message एमसीपी टूल को कॉल करने का तरीका बताया गया है.
| 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": "send_message", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
इनपुट स्कीमा
SendMessageRequest
| JSON के काेड में दिखाना |
|---|
{ "conversationId": string, "threadId": string, "messageText": string, "cards": [ { object } ], "inlineCitations": [ { object ( |
| फ़ील्ड | |
|---|---|
conversationId |
ज़रूरी है. उस बातचीत का आईडी (जैसे, 'spaces/AAAA...') जिसमें मैसेज भेजना है. |
threadId |
ज़रूरी नहीं. उस थ्रेड का आईडी (जैसे, 'spaces/AAAA.../threads/BBBB...') जिसमें मैसेज भेजना है. अगर यह सेट नहीं किया जाता है, तो मैसेज को एक नए थ्रेड में भेजा जाएगा. |
messageText |
ज़रूरी है. मैसेज का मुख्य कॉन्टेंट. स्टैंडर्ड मार्कडाउन का इस्तेमाल करके, फ़ॉर्मैटिंग जोड़ी जा सकती है. ध्यान दें कि टेबल इस्तेमाल नहीं की जा सकतीं. इस फ़ॉर्मैट का इस्तेमाल किया जा सकता है:
|
cards[] |
ज़रूरी नहीं. मैसेज में अटैच किए गए कार्ड. हर कार्ड का साइज़ ज़्यादा से ज़्यादा 32 केबी होना चाहिए. हर कार्ड को Google Chat कार्ड फ़ॉर्मैट (Google Workspace UIKit कार्ड / कार्ड v2) के मुताबिक, JSON स्ट्रक्चर के तौर पर दिखाया जाता है. किसी मैसेज में कार्ड अटैच करने के लिए, चैट ऐप्लिकेशन को स्पेस का सदस्य होना चाहिए. कार्ड में इमेज इस्तेमाल नहीं की जा सकतीं. कार्ड की पहचान:
|
inlineCitations[] |
ज़रूरी नहीं. |
footerCitedSources[] |
ज़रूरी नहीं. मैसेज के सबसे नीचे (फ़ुटर) रेफ़रंस कार्ड के तौर पर दिखाए गए टॉप-लेवल के सोर्स. किसी मैसेज में, इनलाइन उद्धरणों और फ़ुटर सोर्स को मिलाकर, ज़्यादा से ज़्यादा 50 सोर्स उद्धृत किए जा सकते हैं. |
स्ट्रक्ट
| JSON के काेड में दिखाना |
|---|
{ "fields": { string: value, ... } } |
| फ़ील्ड | |
|---|---|
fields |
डाइनैमिक तौर पर टाइप की गई वैल्यू का बिना क्रम वाला मैप. एक ऑब्जेक्ट, जिसमें |
FieldsEntry
| JSON के काेड में दिखाना |
|---|
{ "key": string, "value": value } |
| फ़ील्ड | |
|---|---|
key |
|
value |
|
वैल्यू
| JSON के काेड में दिखाना |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| फ़ील्ड | |
|---|---|
यूनियन फ़ील्ड kind. वैल्यू किस तरह की है. kind इनमें से सिर्फ़ एक हो सकता है: |
|
nullValue |
यह JSON |
numberValue |
यह JSON नंबर को दिखाता है. यह |
stringValue |
यह JSON स्ट्रिंग को दिखाता है. |
boolValue |
यह JSON बूलियन (JSON में |
structValue |
यह किसी JSON ऑब्जेक्ट को दिखाता है. |
listValue |
यह JSON कलेक्शन को दिखाता है. |
ListValue
| JSON के काेड में दिखाना |
|---|
{ "values": [ value ] } |
| फ़ील्ड | |
|---|---|
values[] |
डाइनैमिक तौर पर टाइप की गई वैल्यू का दोहराया गया फ़ील्ड. |
उद्धरण
| JSON के काेड में दिखाना |
|---|
{
"id": string,
"citedSources": [
{
object ( |
| फ़ील्ड | |
|---|---|
id |
ज़रूरी है. |
citedSources[] |
ज़रूरी है. इस उद्धरण के होवरकार्ड में एक या इससे ज़्यादा सोर्स अटैच किए गए हैं. किसी मैसेज में, इनलाइन उद्धरणों और फ़ुटर सोर्स को मिलाकर, ज़्यादा से ज़्यादा 50 सोर्स उद्धृत किए जा सकते हैं. |
CitedSource
| JSON के काेड में दिखाना |
|---|
{ "title": string, "url": string, "snippet": string, "imageUrl": string, "footer": string } |
| फ़ील्ड | |
|---|---|
title |
ज़रूरी है. सोर्स का सादे टेक्स्ट वाला टाइटल (उदाहरण के लिए, "Google Workspace डेवलपर के लिए झलक Program"). टाइटल में मार्कडाउन फ़ॉर्मैटिंग का इस्तेमाल नहीं किया जा सकता. |
url |
ज़रूरी है. उद्धृत किए गए संसाधन का यूआरएल.यह एक मान्य http:// या https:// यूआरएल होना चाहिए. जैसे, "https://developers.google.com/workspace/preview". |
snippet |
ज़रूरी नहीं. सीधे सोर्स से लिया गया छोटा अंश या स्निपेट. यह होवरकार्ड या फ़ुटर में दिखता है. सिर्फ़ सादा टेक्स्ट. ज़्यादा से ज़्यादा 1,000 वर्ण इस्तेमाल किए जा सकते हैं. |
imageUrl |
ज़रूरी नहीं. इमेज की झलक दिखाने वाले थंबनेल का यूआरएल. इसके लिए, https:// यूआरएल का इस्तेमाल करना ज़रूरी है. |
footer |
ज़रूरी नहीं. कार्ड के फ़ुटर में दिखने वाला अतिरिक्त एट्रिब्यूशन टेक्स्ट. जैसे, डोमेन नेम "developers.google.com" या लेखक/संगठन का नाम. |
NullValue
यह JSON null को दिखाता है.
NullValue एक सेंटिनल है. यह सिर्फ़ एक वैल्यू वाले enum का इस्तेमाल करके, Value टाइप यूनियन के लिए शून्य वैल्यू दिखाता है.
NullValue टाइप के फ़ील्ड में 0 के अलावा कोई भी वैल्यू अमान्य मानी जाती है. ज़्यादातर ProtoJSON सीरियलाइज़र, पूर्णांक वैल्यू के बावजूद, JSON null के तौर पर सेट किए गए null_value के साथ Value को एमिट करेंगे. साथ ही, 0 वैल्यू पर वापस जाएंगे.
| Enums | |
|---|---|
NULL_VALUE |
Null वैल्यू. |
आउटपुट स्कीमा
Google Chat में किसी बातचीत में मैसेज भेजने पर मिलने वाला जवाब.
SendMessageResponse
| JSON के काेड में दिखाना |
|---|
{
"message": {
object ( |
| फ़ील्ड | |
|---|---|
message |
भेजा गया मैसेज. |
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.messageshttps://www.googleapis.com/auth/chat.messages.create