도구: search_messages
키워드와 필터를 사용하여 Google Chat 메시지를 검색합니다. 사용자가 액세스할 수 있는 모든 스페이스에서 작동하거나 특정 대화로 범위를 지정할 수 있습니다.
다음 샘플은 curl를 사용하여 search_messages MCP 도구를 호출하는 방법을 보여줍니다.
| curl 요청 |
|---|
curl --location 'https://chatmcp.googleapis.com/mcp/v1' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_messages", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
입력 스키마
키워드와 필터를 사용하여 Google Chat 메시지를 검색하도록 요청합니다. 사용자가 액세스할 수 있는 모든 스페이스에서 작동하거나 특정 대화로 범위를 지정할 수 있습니다.
SearchMessagesRequest
| JSON 표현 |
|---|
{ "searchParameters": { object ( |
| 필드 | |
|---|---|
searchParameters |
필수 항목입니다. 검색에 사용할 검색 매개변수입니다. |
orderBy |
선택사항입니다. 결과가 반환되어야 하는 순서를 지정합니다. 지원되는 값: |
pageSize |
선택사항입니다. 반환할 최대 결과 수입니다 (최대 100개). 지정하지 않으면 최대 25개가 반환됩니다. |
pageToken |
선택사항입니다. 이전 |
SearchParameters
| JSON 표현 |
|---|
{ "keywords": [ string ], "conversationId": string, "sender": string, "isUnread": boolean, "hasLink": boolean, "startTime": string, "endTime": string, "mentionsMe": boolean, "conversationIncludesUser": string, "spaceDisplayNames": [ string ] } |
| 필드 | |
|---|---|
keywords[] |
선택사항입니다. 결과를 필터링하는 데 사용되는 키워드 집합입니다. |
conversationId |
선택사항입니다. search_conversations 도구에서 반환된 특정 대화 식별자로 검색 범위를 지정합니다. 형식은 |
sender |
선택사항입니다. 특정 사용자의 메일을 필터링합니다. 발신자의 이메일 또는 리소스 이름을 사용할 수 있습니다. 사용자 리소스 이름은 |
isUnread |
선택사항입니다. 호출 사용자가 읽지 않은 메시지를 필터링합니다. |
hasLink |
선택사항입니다. URL이 하나 이상 포함된 메시지를 필터링합니다. |
startTime |
선택사항입니다. 이 시간 이후에 생성된 메일을 필터링합니다. 형식: ISO 8601 타임스탬프입니다. |
endTime |
선택사항입니다. 이 시간 이전에 생성된 메일을 필터링합니다. 형식: ISO 8601 타임스탬프입니다. |
mentionsMe |
선택사항입니다. 호출 사용자를 명시적으로 언급하는 메시지를 필터링합니다. |
conversationIncludesUser |
선택사항입니다. 특정 사용자 이메일 또는 ID가 포함된 채팅 메시지 및 그룹 채팅의 메시지를 필터링합니다. |
spaceDisplayNames[] |
선택사항입니다. 스페이스 이름 목록으로 필터링합니다. 스페이스 표시 이름은 부분적으로 일치합니다. 참고: 상위 5개 일치 항목만 반환됩니다. |
OrderBy
결과가 반환되어야 하는 순서를 지정합니다. 기본적으로 is_unread가 true로 설정되지 않은 경우 RELEVANCE_DESC가 사용되고, 그렇지 않은 경우 CREATE_TIME_DESC가 사용됩니다.
| 열거형 | |
|---|---|
ORDER_BY_UNSPECIFIED |
기본값 |
CREATE_TIME_DESC |
생성 시간을 기준으로 내림차순으로 정렬합니다. |
RELEVANCE_DESC |
관련성을 기준으로 내림차순으로 정렬합니다. |
출력 스키마
Google Chat 메시지 검색에 대한 응답입니다. next_page_token이 채워진 경우 해당 토큰으로 SearchMessages를 다시 호출하여 결과의 다음 페이지를 검색할 수 있습니다.
SearchMessagesResponse
| JSON 표현 |
|---|
{
"messages": [
{
object ( |
| 필드 | |
|---|---|
messages[] |
검색 기준과 일치하는 메일 객체 목록입니다. |
nextPageToken |
다음 페이지를 검색하기 위해 |
ChatMessage
| JSON 표현 |
|---|
{ "messageId": string, "threadId": string, "plaintextBody": string, "sender": { object ( |
| 필드 | |
|---|---|
messageId |
메시지의 리소스 이름입니다. 형식: |
threadId |
이 메시지가 속한 대화목록입니다. 메시지가 스레드되지 않은 경우 비어 있습니다. 형식: spaces/{space}/threads/{thread} |
plaintextBody |
메시지의 일반 텍스트 본문입니다. |
sender |
메시지 발신자입니다. |
createTime |
출력 전용입니다. 메시지가 생성된 타임스탬프입니다. |
threadedReply |
메일이 대화목록 답장인지 여부입니다. |
attachments[] |
메일에 포함된 첨부파일입니다. |
reactionSummaries[] |
메일에 포함된 그림 이모티콘 반응 요약입니다. |
사용자
| JSON 표현 |
|---|
{
"userId": string,
"displayName": string,
"email": string,
"userType": enum ( |
| 필드 | |
|---|---|
userId |
Chat 사용자의 리소스 이름입니다. 형식은 |
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에 업로드됩니다. |
도구 주석
파괴적 힌트: ❌ | 동일한 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌