MCP Tools Reference: chatmcp.googleapis.com

ツール: send_message

Markdown 形式で Google Chat メッセージを会話に送信します。

このツールは、会話 ID、オプションのスレッド ID、メッセージ テキストを入力として使用します。

会話 ID は search_conversations ツールで確認できます。

作成されたメッセージを返します。

次のコードサンプルは、curl を使用して 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,
  "cards": [
    {
      object
    }
  ],
  "inlineCitations": [
    {
      object (Citation)
    }
  ],
  "footerCitedSources": [
    {
      object (CitedSource)
    }
  ]
}
フィールド
conversationId

string

必須。メッセージの送信先となる会話の ID(例: spaces/AAAA...)。

threadId

string

省略可。メッセージの送信先のスレッドの ID(例: 'spaces/AAAA.../threads/BBBB...')。設定されていない場合、メッセージは新しいスレッドに送信されます。

messageText

string

必須。メッセージのメイン コンテンツ。標準の Markdown を使用して書式設定を追加できます(表はサポートされていません)。次の書式設定がサポートされています。

  • 太字: **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" を指定した自己終了 HTML タグ chat-user を使用します。USER_ID がわかっている場合は data-user 属性を使用し、それ以外の場合はユーザーのメールアドレスを含む data-email 属性を使用します。data-user 属性を使用する場合は、他のツールの戻り値に表示される users/ 接頭辞を必ず含めてください。注: 1 つのメッセージに含めることができるメンションは最大 10 個です。すべてのユーザーにメンションすること(@all や users/all を含む HTML タグを使用するなど)は固く禁じられています。
  • カスタム絵文字: 属性 data-custom-emoji="customEmojis/abc" または data-emoji-name=":xyz:" を含む自己終了 HTML タグ chat-emoji を使用します。
  • 引用: 引用テキストを HTML タグ chat-citation で囲み、data-id 属性を引用 ID と一致させます。chat-citation タグに、どの Citation.id にも一致しない data-id がある場合、タグは無視され、ラップされたテキストは書式なしテキストとしてレンダリングされます。注: メッセージごとに最大 20 個のインライン引用を使用できます。
cards[]

object (Struct format)

省略可。メッセージに添付されたカード。最大サイズはカードあたり 32 KB です。各カードは、Google Chat カード形式(Google Workspace UIKit カード / カード v2)に沿った JSON 構造体として表されます。メッセージにカードを添付するには、Chat 用アプリがスペースのメンバーである必要があります。カード内の画像はサポートされていません。

カードの識別:

  • 各カードの最上位の name 文字列フィールドは、その識別子として機能します。
  • 1 つのメッセージに複数のカードが添付されている場合、各カードには一意の空でない name を指定する必要があります。
inlineCitations[]

object (Citation)

省略可。message_text 内で chat-citation タグを介して参照されるインライン引用。1 つのメッセージに含めることができるインライン引用は最大 20 個です。参照されていないインライン引用(message_text に一致する chat-citation タグがない引用)は無視され、検証エラーは発生しません。

footerCitedSources[]

object (CitedSource)

省略可。メッセージの下部(フッター)に参照カードとして表示される、最上位の引用元。メッセージ内のすべてのインライン引用とフッターソースを合わせて、引用できるソースは最大 50 個です。

構造体

JSON 表現
{
  "fields": {
    string: value,
    ...
  }
}
フィールド
fields

map (key: string, value: value (Value format))

動的に型指定される値の順序なしのマップ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

JSON 表現
{
  "key": string,
  "value": value
}
フィールド
key

string

value

value (Value format)

値

JSON 表現
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
フィールド
共用体フィールド kind。値の種類。kind は次のいずれかになります。
nullValue

null

JSON null を表します。

numberValue

number

JSON 番号を表します。NaN、Infinity、-Infinity は JSON でサポートされていないため、使用できません。また、JSON 形式では一般に数値型で大きな Int64 値がサポートされていないため、大きな Int64 値を表すこともできません。

stringValue

string

JSON 文字列を表します。

boolValue

boolean

JSON ブール値(JSON の true または false リテラル)を表します。

structValue

object (Struct format)

JSON オブジェクトを表します。

listValue

array (ListValue format)

JSON 配列を表します。

ListValue

JSON 表現
{
  "values": [
    value
  ]
}
フィールド
values[]

value (Value format)

動的に型指定される値の繰り返しフィールド。

引用

JSON 表現
{
  "id": string,
  "citedSources": [
    {
      object (CitedSource)
    }
  ]
}
フィールド
id

string

必須。message_text の chat-citation タグの data-id 属性と一致する固有識別子(例: 引用テキストを chat-citation と属性 data-id="ID" でラップする)。ASCII 文字、数字、アンダースコア、ハイフンのみを使用できます(1 ~ 63 文字)。メッセージ内のすべての引用の中で一意である必要があります。

citedSources[]

object (CitedSource)

必須。この引用ホバーカードに添付されている 1 つ以上のソース。メッセージ内のすべてのインライン引用とフッターソースを合わせて、引用できるソースは最大 50 個です。

CitedSource

JSON 表現
{
  "title": string,
  "url": string,
  "snippet": string,
  "imageUrl": string,
  "footer": string
}
フィールド
title

string

必須。ソースのプレーンテキストのタイトル(例: 「Google Workspace デベロッパー プレビュー プログラム」)。タイトルではマークダウン形式はサポートされていません。

url

string

必須。引用されたリソースの URL(有効な http:// または https:// URL(例: 「https://developers.google.com/workspace/preview」)である必要があります)。

snippet

string

省略可。ソースから直接引用した短い抜粋またはスニペット。ホバーカードまたはフッターに表示されます。書式なしテキストのみ。最大文字数は 1,000 文字です。

imageUrl

string

省略可。画像プレビュー サムネイルの URL(https:// URL を使用する必要があります)。

footer

string

省略可。カードのフッターに表示される追加の帰属表示テキスト(ドメイン名「developers.google.com」や著者名 / 組織名など)。

NullValue

JSON null を表します。

NullValue は、1 つの値のみを持つ列挙型を使用して Value 型のユニオンの null 値を表すセンチネルです。

0 以外の値を持つ NullValue 型のフィールドは無効と見なされます。ほとんどの ProtoJSON シリアライザは、整数値に関係なく、null_value が JSON null として設定された Value を出力するため、0 値に往復します。

列挙型
NULL_VALUE Null 値。

出力スキーマ

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)
    }
  ],
  "quotedMessageMetadata": {
    object (QuotedMessageMetadata)
  }
}
フィールド
messageId

string

メッセージのリソース名。形式: spaces/{space}/messages/{message}

threadId

string

このメッセージが属するスレッド。メッセージがスレッド化されていない場合、このフィールドは空になります。形式: spaces/{space}/threads/{thread}

plaintextBody

string

マークダウン形式を使用したメッセージの本文。

sender

object (User)

メッセージの送信者。

createTime

string

出力専用。メッセージが作成されたときのタイムスタンプ。形式: ISO 8601 タイムスタンプ。

threadedReply

boolean

メッセージがスレッドの返信かどうか。

attachments[]

object (ChatAttachmentMetadata)

メッセージに含まれる添付ファイル。

reactionSummaries[]

object (ReactionSummary)

メッセージに含まれる絵文字のリアクションの概要。

quotedMessageMetadata

object (QuotedMessageMetadata)

出力専用。このメッセージで引用または転送されている元のメッセージに関する情報。注: このフィールドは開発中のため、まだすべての環境に表示されるわけではありません。

ユーザー

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),
  "driveFileId": string
}
フィールド
attachmentId

string

添付ファイルのリソース名。形式: spaces/{space}/messages/{message}/attachments/{attachment}。

filename

string

添付ファイルの名前。

mimeType

string

コンテンツ タイプ(MIME タイプ)。

source

enum (Source)

添付ファイルのソース。

driveFileId

string

出力専用。Google ドライブ ファイルの ID。ソースが DRIVE_FILE の場合にのみ入力されます。Google ドライブ MCP と組み合わせて使用します。

ReactionSummary

JSON 表現
{
  "emoji": string,
  "count": integer
}
フィールド
emoji

string

絵文字の Unicode 文字列またはカスタム絵文字名。

count

integer

関連付けられた絵文字を使用したリアクションの合計数。

QuotedMessageMetadata

JSON 表現
{
  "messageId": string,
  "lastUpdateTime": string,
  "quoteType": enum (QuoteType),
  "plaintextBody": string,
  "sender": string,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "forwardedMetadata": {
    object (ForwardedMetadata)
  }
}
フィールド
messageId

string

出力専用。引用または転送された元のメッセージのリソース名。形式: spaces/{space}/messages/{message}

lastUpdateTime

string

出力専用。元のメッセージが作成された、または引用や転送の前に最後に更新されたときのタイムスタンプ。形式: ISO 8601 タイムスタンプ。

quoteType

enum (QuoteType)

出力専用。見積もりの種類。

plaintextBody

string

出力専用。引用または転送時の元のメッセージのテキスト本文のスナップショット。FORWARD にはマークダウン、REPLY には書式なしテキストを使用してフォーマットされます。

sender

string

出力専用。元のメッセージの作成者の表示名。

attachments[]

object (ChatAttachmentMetadata)

出力専用。元のメッセージに含まれていた添付ファイル。FORWARD 見積もりタイプの場合にのみ入力されます。

forwardedMetadata

object (ForwardedMetadata)

出力専用。転送されたメッセージのソース会話に関するメタデータ。FORWARD 見積もりタイプの場合にのみ入力されます。

ForwardedMetadata

JSON 表現
{
  "conversationId": string,
  "conversationDisplayName": string
}
フィールド
conversationId

string

出力専用。ソース会話のリソース名。形式: spaces/{space}

conversationDisplayName

string

出力専用。メッセージが転送された時点のソース会話の表示名。名前付きスペースの場合、これはスペース名です。1 対 1 のダイレクト メッセージの場合、これは相手の名前です。名前のないグループ チャットの場合、これはメンバーの名前に基づいて生成された名前です。

UserType

Google Chat ユーザーのタイプ。

列挙型
USER_TYPE_UNSPECIFIED 指定なし。
HUMAN 人間のユーザー。
APP アプリユーザー。

ソース

添付ファイルのソース。

列挙型
SOURCE_UNSPECIFIED 予約済み。
DRIVE_FILE ファイルが Google ドライブ ファイルである。
UPLOADED_CONTENT ファイルが Chat にアップロードされます。

QuoteType

メッセージが引用返信か転送メッセージかを示す引用タイプ。

列挙型
QUOTE_TYPE_UNSPECIFIED Reserved. 未定義の見積もりタイプ。
REPLY メッセージが、同じスレッド内の元のメッセージに対する引用返信である。
FORWARD メッセージが、別の会話の元のメッセージから、または同じ会話の別のスレッドから転送されている。

ツールのアノテーション

ツールのアノテーションは、特定のツールの基本的なリスクを説明するために MCP クライアントに送信されます。ほとんどのクライアントは、これらのヒントを信頼できないものとして扱いますが、確認プロンプトをユーザーに送信するタイミングを決定するために使用できます。

タイトル文字列とともに、次のブール値ヒントが定義されています。

  • readOnlyHint: true の場合、ツールは環境を変更しません。デフォルトは false です。
  • destructiveHint: true の場合、ツールは破壊的なアクションを実行できます。false の場合、ツールは追加アクションのみを実行できます。デフォルト値は true です。
  • idempotentHint: true の場合、同じ引数でツールを繰り返し呼び出しても、環境に副次的影響は発生しません。デフォルトは false です。
  • openWorldHint: true の場合、ツールは外部エンティティの「オープンワールド」とやり取りできます。false の場合、ツールは内部エンティティとのみやり取りできます。たとえば、ウェブ検索ツールはオープン ワールドですが、メモリツールはオープン ワールドではありません。

破壊的ヒント: ❌ | べき等ヒント: ❌ | 読み取り専用ヒント: ❌ | オープン ワールド ヒント: ✅

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.create