MCP Tools Reference: chatmcp.googleapis.com

टूल: send_message

यह फ़ंक्शन, मार्कडाउन फ़ॉर्मैटिंग के साथ Google Chat मैसेज को बातचीत में भेजता है.

यह टूल, बातचीत के आईडी, थ्रेड आईडी (ज़रूरी नहीं) और मैसेज के टेक्स्ट को इनपुट के तौर पर इस्तेमाल करता है.

search_conversations टूल का इस्तेमाल करके, बातचीत के आईडी ढूंढे जा सकते हैं.

इससे बनाया गया मैसेज दिखता है.

यहां दिए गए कोड सैंपल में, send_message 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": "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
}
फ़ील्ड
conversationId

string

ज़रूरी है. मैसेज भेजने के लिए बातचीत का आईडी (जैसे, 'spaces/AAAA...').

threadId

string

ज़रूरी नहीं. संदेश भेजने के लिए थ्रेड की आईडी (उदाहरण के लिए, 'spaces/AAAA.../threads/BBBB...'). इस विकल्प को सेट न करने पर, मैसेज को नई थ्रेड में भेजा जाएगा.

messageText

string

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

  • बोल्ड: **text**
  • इटैलिक: *text* या _text_
  • स्ट्राइकथ्रू: ~~text~~
  • मोनोस्पेस: text
  • मोनोस्पेस ब्लॉक:
```
line 1
line 2
```
  • बुलेट वाली सूची:
* item 1
* item 2
  • क्रम वाली सूची:
1. item 1
2. item 2
  • ब्लॉक कोट: > quoted text
  • हाइपरलिंक: [label](url)
  • उपयोगकर्ता को टैग करना: data-email="user@example.com" या data-user="users/USER_ID" एट्रिब्यूट के साथ, अपने-आप बंद होने वाले एचटीएमएल टैग chat-user का इस्तेमाल करें. अगर आपको उपयोगकर्ता का ईमेल पता पता है, तो USER_ID एट्रिब्यूट के साथ data-user एट्रिब्यूट का इस्तेमाल करें. अगर आपको उपयोगकर्ता का ईमेल पता नहीं पता है, तो उपयोगकर्ता के ईमेल पते के साथ data-email एट्रिब्यूट का इस्तेमाल करें. अगर आपने data-user एट्रिब्यूट का इस्तेमाल किया है, तो पक्का करें कि आपने उपयोगकर्ताओं/ प्रीफ़िक्स को शामिल किया हो. यह प्रीफ़िक्स, टूल से मिली वैल्यू में दिखता है. ध्यान दें: हर मैसेज में ज़्यादा से ज़्यादा 10 लोगों को टैग किया जा सकता है. सभी उपयोगकर्ताओं को टैग करने (जैसे, @all या users/all के साथ एचटीएमएल टैग का इस्तेमाल करना) पर पूरी तरह से पाबंदी है.
  • कस्टम इमोजी: data-custom-emoji="customEmojis/abc" या data-emoji-name=":xyz:" एट्रिब्यूट के साथ, अपने-आप बंद होने वाले एचटीएमएल टैग chat-emoji का इस्तेमाल करें.

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

Google Chat बातचीत में मैसेज भेजने पर मिलने वाला जवाब.

SendMessageResponse

JSON के काेड में दिखाना
{
  "message": {
    object (ChatMessage)
  }
}
फ़ील्ड
message

object (ChatMessage)

भेजा गया मैसेज.

ChatMessage

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

string

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

threadId

string

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

plaintextBody

string

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

sender

object (User)

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

createTime

string

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

threadedReply

boolean

यह मैसेज, थ्रेड में दिया गया जवाब है या नहीं.

attachments[]

object (ChatAttachmentMetadata)

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

reactionSummaries[]

object (ReactionSummary)

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

उपयोगकर्ता

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)
}
फ़ील्ड
attachmentId

string

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

filename

string

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

mimeType

string

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

source

enum (Source)

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

ReactionSummary

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

string

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

count

integer

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

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
  • https://www.googleapis.com/auth/chat.messages.create