도구: send_message
마크다운 형식으로 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 } |
| 필드 | |
|---|---|
conversationId |
필수 항목입니다. 메시지를 전송할 대화의 ID입니다 (예: 'spaces/AAAA...'). |
threadId |
선택사항입니다. 메시지를 보낼 스레드의 ID입니다 (예: 'spaces/AAAA.../threads/BBBB...'). 설정하지 않으면 메시지가 새 스레드로 전송됩니다. |
messageText |
필수 항목입니다. 메시지의 기본 콘텐츠입니다. 표는 지원되지 않으며 표준 마크다운을 사용하여 서식을 추가할 수 있습니다. 다음과 같은 서식이 지원됩니다.
|
출력 스키마
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 |
마크다운 서식을 사용하는 메시지의 텍스트 본문입니다. |
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: true인 경우 도구가 환경을 수정하지 않습니다. 기본값: false.destructiveHint: true인 경우 도구가 파괴적인 작업을 실행할 수 있습니다. false인 경우 도구는 추가 작업만 실행할 수 있습니다. 기본값은 true입니다.idempotentHint: true인 경우 동일한 인수로 도구를 반복적으로 호출해도 환경에 추가적인 영향을 미치지 않습니다. 기본값: false.openWorldHint: true인 경우 도구가 외부 엔티티의 '오픈 월드'와 상호작용할 수 있습니다. false인 경우 도구는 내부 항목과만 상호작용할 수 있습니다. 예를 들어 웹 검색 도구는 오픈 월드이지만 메모리 도구는 오픈 월드가 아닙니다.
파괴적 힌트: ❌ | 동일한 힌트: ❌ | 읽기 전용 힌트: ❌ | 오픈 월드 힌트: ✅
승인 범위
다음 OAuth 범위 중 하나가 필요합니다.
https://www.googleapis.com/auth/chat.messageshttps://www.googleapis.com/auth/chat.messages.create