ابزار: send_message
یک پیام گوگل چت را به مکالمهای با قالببندی Markdown ارسال میکند.
این ابزار از یک شناسه مکالمه، یک شناسه رشته (که اختیاری است) و یک متن پیام به عنوان ورودی استفاده میکند.
شناسههای گفتگو را میتوان با استفاده از ابزار search_conversations پیدا کرد.
پیام ایجاد شده را برمیگرداند.
نمونه کد زیر نحوه استفاده از curl برای فراخوانی ابزار send_message MCP را نشان میدهد.
| درخواست کرل |
|---|
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 }' |
طرحواره ورودی
ارسال درخواست پیام
| نمایش JSON |
|---|
{ "conversationId": string, "threadId": string, "messageText": string } |
| فیلدها | |
|---|---|
conversationId | الزامی. شناسه مکالمه (مثلاً 'فاصله/AAAA...') برای ارسال پیام. |
threadId | اختیاری. شناسهی رشته (مثلاً 'spaces/AAAA.../threads/BBBB...') که پیام به آن ارسال میشود. اگر تنظیم نشود، پیام به یک رشتهی جدید ارسال خواهد شد. |
messageText | الزامی. محتوای اصلی پیام. قالببندی را میتوان با استفاده از Markdown استاندارد اضافه کرد (توجه داشته باشید که جداول پشتیبانی نمیشوند). قالببندی زیر پشتیبانی میشود:
|
طرحواره خروجی
پاسخ به ارسال پیام به مکالمه گوگل چت.
ارسال پیامپاسخ
| نمایش JSON |
|---|
{
"message": {
object ( |
| فیلدها | |
|---|---|
message | پیامی که ارسال شد. |
چتپیام
| نمایش JSON |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| فیلدها | |
|---|---|
messageId | نام منبع پیام. قالب: فاصلهها/{فاصله}/پیامها/{پیام} |
threadId | رشتهای که این پیام به آن تعلق دارد. اگر پیام رشتهبندی نشده باشد، این قسمت خالی خواهد بود. قالب: space/{space}/threads/{thread} |
plaintextBody | متن اصلی پیام با استفاده از قالببندی Markdown. |
sender | فرستنده پیام. |
createTime | فقط خروجی. مهر زمانی که پیام ایجاد شده است. |
threadedReply | اینکه آیا پیام، پاسخ یک تاپیک است یا خیر. |
attachments[] | پیوستهای موجود در پیام. |
reactionSummaries[] | خلاصه واکنشهای ایموجی در پیام گنجانده شده است. |
کاربر
| نمایش JSON |
|---|
{
"userId": string,
"displayName": string,
"email": string,
"userType": enum ( |
| فیلدها | |
|---|---|
userId | نام منبع یک کاربر چت. فرمت: users/{user}. |
displayName | نام نمایشی کاربر چت. |
email | آدرس ایمیل کاربر. این فیلد فقط زمانی پر میشود که نوع کاربر HUMAN باشد. |
userType | نوع کاربر. |
فراداده پیوست چت
| نمایش JSON |
|---|
{
"attachmentId": string,
"filename": string,
"mimeType": string,
"source": enum ( |
| فیلدها | |
|---|---|
attachmentId | نام منبع پیوست. قالب: space/{space}/messages/{message}/attachments/{attachment}. |
filename | نام فایل پیوست. |
mimeType | نوع محتوا (نوع MIME). |
source | منبع پیوست. |
خلاصه واکنش
| نمایش JSON |
|---|
{ "emoji": string, "count": integer } |
| فیلدها | |
|---|---|
emoji | رشته یونیکد ایموجی یا نام ایموجی سفارشی. |
count | تعداد کل واکنشها با استفاده از ایموجی مرتبط. |
نوع کاربر
نوع کاربر گوگل چت.
| انومها | |
|---|---|
USER_TYPE_UNSPECIFIED | نامشخص. |
HUMAN | کاربر انسانی. |
APP | کاربر برنامه. |
منبع
منبع پیوست.
| انومها | |
|---|---|
SOURCE_UNSPECIFIED | رزرو شده. |
DRIVE_FILE | فایل، فایل گوگل درایو است. |
UPLOADED_CONTENT | فایل در چت آپلود شد. |
حاشیهنویسی ابزار
حاشیهنویسیهای ابزار برای توصیف ریسک اولیهی یک ابزار مشخص به کلاینتهای MCP ارسال میشوند. اکثر کلاینتها این نکات را غیرقابل اعتماد میدانند، اما میتوان از آنها برای تصمیمگیری در مورد زمان ارسال پیام تأیید به کاربر استفاده کرد.
همراه با رشته عنوان، نکات بولی زیر به صورت زیر تعریف میشوند:
-
readOnlyHint: اگر درست باشد، ابزار محیط خود را تغییر نمیدهد. پیشفرض: نادرست. -
destructiveHint: اگر درست باشد، ابزار میتواند اقدامات مخرب انجام دهد. اگر نادرست باشد، ابزار فقط میتواند اقدامات افزایشی انجام دهد. پیشفرض: درست. -
idempotentHint: اگر مقدار آن درست باشد، فراخوانی مکرر ابزار با آرگومانهای یکسان، هیچ تأثیر اضافی بر محیط آن نخواهد داشت. پیشفرض: false. -
openWorldHint: اگر درست باشد، ابزار میتواند با «دنیای باز» از موجودیتهای خارجی تعامل داشته باشد. اگر نادرست باشد، ابزار فقط میتواند با موجودیتهای داخلی تعامل داشته باشد. برای مثال، یک ابزار جستجوی وب جهانباز خواهد بود، در حالی که یک ابزار حافظه جهانباز نخواهد بود.
راهنمایی مخرب: ❌ | راهنمایی بیاثر: ❌ | راهنمایی فقط خواندنی: ❌ | راهنمایی جهان باز: ✅
دامنههای مجوز
به یکی از حوزههای OAuth زیر نیاز دارد:
-
https://www.googleapis.com/auth/chat.messages -
https://www.googleapis.com/auth/chat.messages.create