ابزار: send_message
پیام Google Chat را با قالببندی Markdown به مکالمه ارسال میکند.
این ابزار از شناسه مکالمه، شناسه رشته اختیاری، و نوشتار پیام بهعنوان ورودی استفاده میکند.
شناسههای مکالمه را میتوان بااستفاده از ابزار search_conversations پیدا کرد.
پیام ایجادشده را برمیگرداند.
نمونه کد زیر نحوه استفاده از curl برای فراخوانی ابزار MCP 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 |
الزامی. محتوای اصلی پیام. قالببندی را میتوان بااستفاده از Markdown استاندارد اضافه کرد (توجه داشته باشید که از جدولها پشتیبانی نمیشود). قالببندی زیر پشتیبانی میشود:
|
cards[] |
اختیاری. کارتها به پیام پیوست شد. حداکثر اندازه برای هر کارت ۳۲ کیلوبایت است. هر کارت بهعنوان یک ساختار JSON مطابق با قالب «کارت Google Chat» (کارت Google Workspace UIKit / کارتهای نسخه ۲) نمایش داده میشود. برای پیوست کردن کارت به پیام، برنامه Chat باید عضو فضا باشد. تصاویر در کارتها پشتیبانی نمیشوند. شناسه کارت:
|
inlineCitations[] |
اختیاری. نقلقولهای درونخطی ارجاعشده در |
footerCitedSources[] |
اختیاری. منابع نقلشده سطح بالا که بهعنوان کارتهای مرجع در پایین (پانویس) پیام نمایش داده میشوند. درمجموع حداکثر ۵۰ منبع نقلشده در همه نقلقولهای درونخطی و منابع پانویس در یک پیام مجاز است. |
ساختار
| نمایش 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 |
نشاندهنده |
numberValue |
نشاندهنده عدد JSON است. نباید |
stringValue |
رشته JSON را نشان میدهد. |
boolValue |
نشاندهنده یک مقدار بولی JSON ( |
structValue |
نشاندهنده شیء JSON است. |
listValue |
نشاندهنده آرایه JSON است. |
ListValue
| نمایش JSON |
|---|
{ "values": [ value ] } |
| فیلدها | |
|---|---|
values[] |
فیلد تکراری مقادیر تایپشده پویا. |
نقلقول
| نمایش JSON |
|---|
{
"id": string,
"citedSources": [
{
object ( |
| فیلدها | |
|---|---|
id |
الزامی. شناسه یکتایی که با مشخصه |
citedSources[] |
الزامی. یک یا چند منبع به این کارت شناور استناد پیوست شده است. درمجموع حداکثر ۵۰ منبع نقلشده در همه نقلقولهای درونخطی و منابع پانویس در یک پیام مجاز است. |
CitedSource
| نمایش JSON |
|---|
{ "title": string, "url": string, "snippet": string, "imageUrl": string, "footer": string } |
| فیلدها | |
|---|---|
title |
الزامی. عنوان نوشتار ساده منبع (مثلاً «برنامه پیشنمای توسعهدهندگان نرمافزار Google Workspace»). قالببندی Markdown در عنوانها پشتیبانی نمیشود. |
url |
الزامی. نشانی وب منبع نقلشده (باید نشانی وب معتبر http:// یا https:// باشد، مثلاً «https://developers.google.com/workspace/preview»). |
snippet |
اختیاری. گزیده یا قطعهای کوتاه مستقیماً از منبع. در کارت شناور یا پانویس نمایش داده میشود. فقط نوشتار ساده. حداکثر طول ۱۰۰۰ نویسه است. |
imageUrl |
اختیاری. نشانی وب ریزعکس پیشنمایش تصویر (باید از نشانی وب https:// استفاده کند). |
footer |
اختیاری. نوشتار ارجاع اضافی که در پانویس کارت نمایش داده میشود (مثلاً نام دامنه «developers.google.com» یا نام نویسنده/ سازمان). |
NullValue
نشاندهنده null JSON است.
NullValue یک نگهبان است که از یک شمارش با تنها یک مقدار برای نمایش مقدار تهی برای اتحاد نوع Value استفاده میکند.
فیلدی از نوع NullValue با هر مقداری غیراز 0 نامعتبر تلقی میشود. اکثر سریالسازهای ProtoJSON بدون توجه به مقدار عدد صحیح، یک Value با null_value تنظیمشده بهعنوان JSON null منتشر میکنند و بنابراین به مقدار 0 رفتوبرگشت خواهند داشت.
| شمارشیها | |
|---|---|
NULL_VALUE |
مقدار تهی. |
طرح خروجی
پاسخ به ارسال پیام به مکالمه 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 |
نوع محتوا (نوع MIME). |
source |
منبع پیوست. |
driveFileId |
فقط خروجی. شناسه فایل Google Drive. فقط زمانی درج میشود که منبع DRIVE_FILE باشد. با Google Drive MCP استفاده کنید. |
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 |
فقط خروجی. عکس آنی از متن اصلی پیام در زمان نقلقول یا بازارسال. قالببندیشده بااستفاده از Markdown برای |
sender |
فقط خروجی. نام نمایشی نویسنده پیام اصلی. |
attachments[] |
فقط خروجی. پیوستهایی که بخشی از پیام اصلی بودهاند. فقط برای نوع مظنه |
forwardedMetadata |
فقط خروجی. فراداده درباره مکالمه منبع پیام بازارسالشده. فقط برای نوع مظنه |
ForwardedMetadata
| نمایش JSON |
|---|
{ "conversationId": string, "conversationDisplayName": string } |
| فیلدها | |
|---|---|
conversationId |
فقط خروجی. نام منبع مکالمه منبع. قالب: spaces/{space} |
conversationDisplayName |
فقط خروجی. نام نمایشی مکالمه منبع در زمان بازارسال پیام. برای فضاهای نامگذاریشده، این نام فضا است. برای پیامهای مستقیم یکبهیک، این نام شرکتکننده دیگر است. برای گپهای گروهی بینام، این نام براساس نام اعضا تولید میشود. |
UserType
نوع کاربر Google Chat.
| شمارشیها | |
|---|---|
USER_TYPE_UNSPECIFIED |
نامشخص. |
HUMAN |
کاربر انسانی. |
APP |
کاربر برنامه. |
منبع
منبع پیوست.
| شمارشیها | |
|---|---|
SOURCE_UNSPECIFIED |
رزروشده. |
DRIVE_FILE |
فایل از نوع Google Drive باشد. |
UPLOADED_CONTENT |
فایل در Chat بارگذاری میشود. |
QuoteType
نوع نقلقول که نشان میدهد پیام پاسخ نقلشده است یا پیام بازارسالشده.
| شمارشیها | |
|---|---|
QUOTE_TYPE_UNSPECIFIED |
رزروشده. نوع نقلقول تعریفنشده. |
REPLY |
پیام پاسخ نقلقولی به پیام اصلی در همان رشته است. |
FORWARD |
پیام از پیام اصلی در مکالمهای متفاوت یا از رشتهای متفاوت در همان مکالمه بازارسال شده است. |
حاشیهنویسیهای ابزار
حاشیهنویسیهای ابزار به کارخواهان MCP ارسال میشود تا خطر اصلی ابزار موردنظر را شرح دهد. اکثر کارخواهها این راهنماییها را غیرقابلاعتماد تلقی میکنند، اما میتوان از آنها برای تصمیمگیری درباره زمان ارسال پیامواره تأیید به کاربر استفاده کرد.
همراه با رشته عنوان، نکات بولی زیر بهصورت زیر تعریف میشوند:
-
readOnlyHint: اگر درست باشد، ابزار محیط خود را تغییر نمیدهد. پیشفرض: false. -
destructiveHint: اگر درست باشد، ابزار میتواند کنشهای مخرب انجام دهد. اگر نادرست باشد، ابزار فقط میتواند کنشهای افزایشی انجام دهد. پیشفرض: true. idempotentHint: اگر درست باشد، فراخوانی مکرر ابزار با همان آرگومانها تأثیر اضافی بر محیط آن نخواهد داشت. پیشفرض: false.-
openWorldHint: اگر درست باشد، ابزار میتواند با «دنیای باز» نهادهای خارجی تعامل داشته باشد. اگر نادرست باشد، ابزار فقط میتواند با نهادهای داخلی تعامل داشته باشد. برای مثال، ابزار جستجوی وب دنیای باز است، درحالیکه ابزار حافظه دنیای باز نیست.
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