Araç: send_message
Markdown biçimlendirmesiyle bir görüşmeye Google Chat sohbet mesajı gönderir.
Bu araç, giriş olarak bir görüşme kimliği, isteğe bağlı bir ileti dizisi kimliği ve bir mesaj metni kullanır.
Görüşme kimlikleri, search_conversations aracı kullanılarak bulunabilir.
Oluşturulan mesajı döndürür.
Aşağıdaki kod örneğinde, send_message MCP aracını çağırmak için curl öğesinin nasıl kullanılacağı gösterilmektedir.
| Curl İsteği |
|---|
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 }' |
Giriş şeması
SendMessageRequest
| JSON gösterimi |
|---|
{ "conversationId": string, "threadId": string, "messageText": string, "cards": [ { object } ], "inlineCitations": [ { object ( |
| Alanlar | |
|---|---|
conversationId |
Zorunlu. Mesajın gönderileceği görüşmenin kimliği (ör. "spaces/AAAA..."). |
threadId |
İsteğe bağlıdır. Mesajın gönderileceği ileti dizisinin kimliği (ör. "spaces/AAAA.../threads/BBBB..."). Ayarlanmazsa mesaj yeni bir ileti dizisine gönderilir. |
messageText |
Zorunlu. Mesajın ana içeriği. Biçimlendirme, standart Markdown kullanılarak eklenebilir (tabloların desteklenmediğini unutmayın). Aşağıdaki biçimlendirme desteklenir:
|
cards[] |
İsteğe bağlıdır. İletiye eklenen kartlar. Kart başına maksimum boyut 32 KB'tır. Her kart, Google Chat kart biçimini (Google Workspace UIKit Card/Cards v2) izleyen bir JSON yapısı olarak temsil edilir. Mesajlara kart eklemek için Chat uygulamasının alanın üyesi olması gerekir. Kartlardaki resimler desteklenmez. Kart tanımlama:
|
inlineCitations[] |
İsteğe bağlıdır. |
footerCitedSources[] |
İsteğe bağlıdır. Mesajın alt kısmında (altbilgi) referans kartları olarak gösterilen üst düzey alıntı kaynakları. Bir mesajdaki tüm satır içi alıntılar ve altbilgi kaynakları genelinde toplamda en fazla 50 alıntılanan kaynağa izin verilir. |
Struct
| JSON gösterimi |
|---|
{ "fields": { string: value, ... } } |
| Alanlar | |
|---|---|
fields |
Dinamik olarak yazılan değerlerin sırasız eşlemesi.
|
FieldsEntry
| JSON gösterimi |
|---|
{ "key": string, "value": value } |
| Alanlar | |
|---|---|
key |
|
value |
|
Değer
| JSON gösterimi |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Alanlar | |
|---|---|
kind birleşik alanı. Değer türü. kind aşağıdakilerden yalnızca biri olabilir: |
|
nullValue |
Bir JSON |
numberValue |
JSON sayısını temsil eder. JSON'da desteklenmediği için |
stringValue |
Bir JSON dizesini temsil eder. |
boolValue |
JSON boole değerini (JSON'da |
structValue |
Bir JSON nesnesini temsil eder. |
listValue |
JSON dizisini temsil eder. |
ListValue
| JSON gösterimi |
|---|
{ "values": [ value ] } |
| Alanlar | |
|---|---|
values[] |
Dinamik olarak yazılan değerlerin yinelenen alanı. |
Alıntı
| JSON gösterimi |
|---|
{
"id": string,
"citedSources": [
{
object ( |
| Alanlar | |
|---|---|
id |
Zorunlu. |
citedSources[] |
Zorunlu. Bu alıntı bilgi kutucuğuna eklenmiş bir veya daha fazla kaynak. Bir mesajdaki tüm satır içi alıntılar ve altbilgi kaynakları genelinde toplamda en fazla 50 alıntılanan kaynağa izin verilir. |
CitedSource
| JSON gösterimi |
|---|
{ "title": string, "url": string, "snippet": string, "imageUrl": string, "footer": string } |
| Alanlar | |
|---|---|
title |
Zorunlu. Kaynağın düz metin başlığı (ör. "Google Workspace Geliştirici Önizleme Programı"). Başlıklarda Markdown biçimlendirmesi desteklenmez. |
url |
Zorunlu. Alıntılanan kaynağın URL'si (geçerli bir http:// veya https:// URL'si olmalıdır, örneğin, "https://developers.google.com/workspace/preview"). |
snippet |
İsteğe bağlıdır. Doğrudan kaynaktan alınan kısa bir alıntı veya snippet. Fareyle üzerine gelindiğinde görünen bilgi kutucuğunda veya altbilgide gösterilir. Yalnızca düz metin. Maksimum uzunluk 1.000 karakterdir. |
imageUrl |
İsteğe bağlıdır. Resim önizleme küçük resminin URL'si (https:// URL'si kullanılmalıdır). |
footer |
İsteğe bağlıdır. Kart altbilgisinde gösterilen ek atıf metni (ör. "developers.google.com" alan adı veya yazar/kuruluş adı). |
NullValue
Bir JSON null değerini temsil eder.
NullValue, Value tür birleşimi için boş değeri temsil etmek üzere yalnızca bir değere sahip bir enum kullanan bir sentineldir.
0 dışında bir değere sahip NullValue türündeki alanlar geçersiz sayılır. Çoğu ProtoJSON serileştiricisi, tam sayı değerinden bağımsız olarak JSON null olarak ayarlanmış bir null_value ile Value yayınlar ve bu nedenle 0 değerine gidiş dönüş yapar.
| Sıralamalar | |
|---|---|
NULL_VALUE |
Boş değer. |
Çıkış şeması
Google Chat görüşmesine mesaj gönderme yanıtı.
SendMessageResponse
| JSON gösterimi |
|---|
{
"message": {
object ( |
| Alanlar | |
|---|---|
message |
Gönderilen mesaj. |
ChatMessage
| JSON gösterimi |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| Alanlar | |
|---|---|
messageId |
Mesajın kaynak adı. Biçim: spaces/{space}/messages/{message} |
threadId |
Bu iletinin ait olduğu ileti dizisi. İleti ileti dizisi oluşturulmamışsa bu alan boş olur. Biçim: spaces/{space}/threads/{thread} |
plaintextBody |
Markdown biçimlendirmesi kullanılarak mesajın metin gövdesi. |
sender |
Mesajı gönderen kişi. |
createTime |
Yalnızca çıkış. Mesajın oluşturulduğu zaman damgası. Biçim: ISO 8601 zaman damgası. |
threadedReply |
Mesajın bir mesaj dizisi yanıtı olup olmadığı. |
attachments[] |
İletiye eklenen dosyalar. |
reactionSummaries[] |
Mesaja eklenen emoji tepkilerin özeti. |
quotedMessageMetadata |
Yalnızca çıkış. Bu iletide alıntılanan veya yönlendirilen orijinal iletiyle ilgili bilgiler. Not: Bu alan geliştirme aşamasındadır ve henüz tüm ortamlarda kullanılamayabilir. |
Kullanıcı
| JSON gösterimi |
|---|
{
"userId": string,
"displayName": string,
"email": string,
"userType": enum ( |
| Alanlar | |
|---|---|
userId |
Chat kullanıcısının kaynak adı. Biçim: users/{user}. |
displayName |
Chat kullanıcısının görünen adı. |
email |
Kullanıcının e-posta adresi. Bu alan yalnızca kullanıcı türü HUMAN olduğunda doldurulur. |
userType |
Kullanıcının türü. |
ChatAttachmentMetadata
| JSON gösterimi |
|---|
{
"attachmentId": string,
"filename": string,
"mimeType": string,
"source": enum ( |
| Alanlar | |
|---|---|
attachmentId |
Ekin kaynak adı. Biçim: spaces/{alan}/messages/{mesaj}/attachments/{ek}. |
filename |
Ekin adı. |
mimeType |
İçerik türü (MIME türü). |
source |
Ekin kaynağı. |
driveFileId |
Yalnızca çıkış. Google Drive dosyasının kimliği. Yalnızca kaynak DRIVE_FILE olduğunda doldurulur. Google Drive MCP ile kullanın. |
ReactionSummary
| JSON gösterimi |
|---|
{ "emoji": string, "count": integer } |
| Alanlar | |
|---|---|
emoji |
Emoji unicode dizesi veya özel emoji adı. |
count |
İlişkili emoji kullanılarak verilen tepkilerin toplam sayısı. |
QuotedMessageMetadata
| JSON gösterimi |
|---|
{ "messageId": string, "lastUpdateTime": string, "quoteType": enum ( |
| Alanlar | |
|---|---|
messageId |
Yalnızca çıkış. Alıntılanan veya yönlendirilen orijinal mesajın kaynak adı. Biçim: spaces/{space}/messages/{message} |
lastUpdateTime |
Yalnızca çıkış. Orijinal mesajın oluşturulduğu veya alıntılanmadan ya da yönlendirilmeden önce en son güncellendiği zaman damgası. Biçim: ISO 8601 zaman damgası. |
quoteType |
Yalnızca çıkış. Teklifin türü. |
plaintextBody |
Yalnızca çıkış. Alıntı yapma veya yönlendirme sırasında orijinal iletinin metin gövdesinin anlık görüntüsü. |
sender |
Yalnızca çıkış. Orijinal mesajın yazarının görünen adı. |
attachments[] |
Yalnızca çıkış. Orijinal iletinin parçası olan ekler. Yalnızca |
forwardedMetadata |
Yalnızca çıkış. Yönlendirilen mesajın kaynak görüşmesiyle ilgili meta veriler. Yalnızca |
ForwardedMetadata
| JSON gösterimi |
|---|
{ "conversationId": string, "conversationDisplayName": string } |
| Alanlar | |
|---|---|
conversationId |
Yalnızca çıkış. Kaynak görüşmenin kaynak adı. Biçim: spaces/{space} |
conversationDisplayName |
Yalnızca çıkış. Mesajın yönlendirildiği sırada kaynak görüşmenin görünen adı. Adlandırılmış alanlar için bu, alan adıdır. Bire bir doğrudan mesajlarda bu, diğer katılımcının adıdır. Adsız grup sohbetleri için bu, üyelerin adlarına göre oluşturulan bir addır. |
UserType
Google Chat kullanıcısının türü.
| Sıralamalar | |
|---|---|
USER_TYPE_UNSPECIFIED |
Belirtilmedi. |
HUMAN |
Gerçek kişi kullanıcı. |
APP |
Uygulama kullanıcısı. |
Kaynak
Ekin kaynağı.
| Sıralamalar | |
|---|---|
SOURCE_UNSPECIFIED |
Rezervasyon yapıldı. |
DRIVE_FILE |
Dosya bir Google Drive dosyasıdır. |
UPLOADED_CONTENT |
Dosya, Chat'e yüklenir. |
QuoteType
Mesajın alıntı yanıt mı yoksa yönlendirilmiş mesaj mı olduğunu gösteren alıntı türü.
| Sıralamalar | |
|---|---|
QUOTE_TYPE_UNSPECIFIED |
Rezervasyon yapıldı. Tanımsız teklif türü. |
REPLY |
Mesaj, aynı ileti dizisindeki orijinal bir mesaja verilen alıntılı yanıttır. |
FORWARD |
Mesaj, farklı bir görüşmedeki orijinal bir mesajdan veya aynı görüşmedeki farklı bir ileti dizisinden yönlendirilmiştir. |
Araç Notları
Araç ek açıklamaları, belirli bir aracın temel riskini açıklamak için MCP istemcilerine gönderilir. Çoğu istemci bu ipuçlarını güvenilir olarak değerlendirmez ancak kullanıcıya ne zaman onay istemi gönderileceğine karar vermek için kullanılabilir.
Başlık dizesiyle birlikte aşağıdaki boole ipuçları şu şekilde tanımlanır:
readOnlyHint: Doğru ise araç, ortamını değiştirmez. Varsayılan: false.destructiveHint: Doğru ise araç, yıkıcı işlemler gerçekleştirebilir. Yanlış ise araç yalnızca ekleme işlemleri gerçekleştirebilir. Varsayılan: true.idempotentHint: Doğru ise aracın aynı bağımsız değişkenlerle tekrar tekrar çağrılması, ortamı üzerinde ek bir etki yaratmaz. Varsayılan: false.openWorldHint: Doğru ise araç, harici varlıkların "açık dünyası" ile etkileşim kurabilir. Yanlış ise araç yalnızca dahili varlıklarla etkileşim kurabilir. Örneğin, web arama aracı açık dünya olurken bellek aracı açık dünya olmaz.
Yıkıcı İpucu: ❌ | Bağımsız İpucu: ❌ | Salt Okunur İpucu: ❌ | Açık Dünya İpucu: ✅
Yetkilendirme Kapsamları
Aşağıdaki OAuth kapsamlarından birini gerektirir:
https://www.googleapis.com/auth/chat.messageshttps://www.googleapis.com/auth/chat.messages.create