الأداة: list_messages
يستردّ الرسائل من محادثة محدّدة في Google Chat (مساحة أو رسالة مباشرة أو رسالة مباشرة جماعية) بتنسيق Markdown. تتيح هذه السمة إجراء فلترة حسب سلسلة المحادثات والنطاق الزمني وعدد الرسائل. بالإضافة إلى ذلك، يمكن استرداد الصفحة التالية من الرسائل للسماح بعرض المزيد من السياق. يتم استبعاد الرسائل الخاصة (الرسائل التي يمكن لمستخدم واحد فقط الاطّلاع عليها).
يوضّح نموذج الرمز التالي كيفية استخدام curl لاستدعاء أداة list_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": "list_messages", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
مخطط الإدخال
ListChatMessagesRequest
| تمثيل JSON |
|---|
{ "conversationId": string, "threadId": string, "pageSize": integer, "pageToken": string, "startTime": string, "endTime": string } |
| الحقول | |
|---|---|
conversationId |
الحقل مطلوب. رقم تعريف المحادثة. يمكن أن تكون المحادثة مساحة أو رسالة مباشرة أو رسالة جماعية مباشرة أو محادثة جماعية. التنسيق: spaces/{space} |
threadId |
اختياريّ. معرّف سلسلة محادثات معيّنة ضمن المحادثة في حال توفيرها، سيتم عرض الرسائل من سلسلة المحادثات هذه فقط. في حال عدم تحديدها، يتم أخذ الرسائل من جميع سلاسل المحادثات في المحادثة في الاعتبار. التنسيق: spaces/{space}/threads/{thread} |
pageSize |
اختياريّ. الحدّ الأقصى لعدد الرسائل التي سيتم عرضها قد تعرض الخدمة عددًا أقل من هذه القيمة. إذا لم يتم تحديدها، تكون القيمة التلقائية 20. الحد الأقصى للقيمة هو 50. إذا استخدمت قيمة أكبر من 50، سيتم تغييرها تلقائيًا إلى 50. |
pageToken |
اختياريّ. رمز مميّز للصفحة تم استلامه من طلب list_messages سابق. يجب تقديم هذا الرمز لاسترداد الصفحة التالية. |
startTime |
اختياريّ. طابع زمني بتنسيق ISO 8601 لفلترة الرسائل. ولن يتم عرض سوى الرسائل التي تم إنشاؤها بعد هذا الوقت. |
endTime |
اختياريّ. طابع زمني بتنسيق ISO 8601 لتصفية الرسائل. سيتم عرض الرسائل التي تم إنشاؤها قبل هذا الوقت فقط. |
مخطط النتائج
استجابة تحتوي على قائمة بالرسائل من المحادثة المطلوبة
ListChatMessagesResponse
| تمثيل 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 |
نوع المحتوى (نوع MIME) |
source |
مصدر المرفق |
ReactionSummary
| تمثيل JSON |
|---|
{ "emoji": string, "count": integer } |
| الحقول | |
|---|---|
emoji |
سلسلة يونيكود الإيموجي أو اسم الإيموجي المخصّص |
count |
تمثّل هذه السمة إجمالي عدد التفاعلات باستخدام الإيموجي المرتبط. |
UserType
نوع مستخدم Google Chat
| عمليات التعداد | |
|---|---|
USER_TYPE_UNSPECIFIED |
غير محدد |
HUMAN |
مستخدم بشري |
APP |
مستخدم التطبيق |
المصدر
مصدر المرفق
| عمليات التعداد | |
|---|---|
SOURCE_UNSPECIFIED |
محجوز |
DRIVE_FILE |
الملف هو ملف Google Drive. |
UPLOADED_CONTENT |
يتم تحميل الملف إلى Chat. |
التعليقات التوضيحية للأدوات
يتم إرسال تعليقات توضيحية للأدوات إلى عملاء 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.readonly