MCP Tools Reference: chatmcp.googleapis.com

도구: 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": enum (OrderBy),
  "pageSize": integer,
  "pageToken": string
}
필드
searchParameters

object (SearchParameters)

필수 항목입니다. 검색에 사용할 검색 매개변수입니다.

orderBy

enum (OrderBy)

선택사항입니다. 결과가 반환되어야 하는 순서를 지정합니다. 지원되는 값: CREATE_TIME_DESC, CREATE_TIME_ASC, RELEVANCE_DESC 참고: is_unread 필터를 사용하는 경우 RELEVANCE_DESC를 사용할 수 없습니다. 기본적으로 is_unread이 true로 설정되지 않은 경우 RELEVANCE_DESC이 사용되고, 그렇지 않으면 CREATE_TIME_DESC이 사용됩니다.

pageSize

integer

선택사항입니다. 반환할 최대 결과 수입니다 (최대 100개). 지정하지 않으면 최대 25개가 반환됩니다.

pageToken

string

선택사항입니다. 이전 search_messages 호출에서 받은 페이지 토큰입니다. 후속 페이지를 검색하려면 이를 입력합니다.

SearchParameters

JSON 표현
{
  "keywords": [
    string
  ],
  "conversationId": string,
  "sender": string,
  "isUnread": boolean,
  "hasLink": boolean,
  "startTime": string,
  "endTime": string,
  "mentionsMe": boolean,
  "conversationIncludesUser": string,
  "spaceDisplayNames": [
    string
  ]
}
필드
keywords[]

string

선택사항입니다. 결과를 필터링하는 데 사용되는 키워드 집합입니다.

conversationId

string

선택사항입니다. search_conversations 도구에서 반환된 특정 대화 식별자로 검색 범위를 지정합니다. 형식은 spaces/{ID}입니다.

sender

string

선택사항입니다. 특정 사용자의 메일을 필터링합니다. 발신자의 이메일 또는 리소스 이름을 사용할 수 있습니다. 사용자 리소스 이름은 users/{ID} 형식으로 지정되며, 여기서 {ID}은 개인 ID 또는 이메일 주소일 수 있습니다.

isUnread

boolean

선택사항입니다. 호출 사용자가 읽지 않은 메시지를 필터링합니다.

hasLink

boolean

선택사항입니다. URL이 하나 이상 포함된 메시지를 필터링합니다.

startTime

string

선택사항입니다. 이 시간 이후에 생성된 메일을 필터링합니다. 형식: ISO 8601 타임스탬프입니다.

endTime

string

선택사항입니다. 이 시간 이전에 생성된 메일을 필터링합니다. 형식: ISO 8601 타임스탬프입니다.

mentionsMe

boolean

선택사항입니다. 호출 사용자를 명시적으로 언급하는 메시지를 필터링합니다.

conversationIncludesUser

string

선택사항입니다. 특정 사용자 이메일 또는 ID가 포함된 채팅 메시지 및 그룹 채팅의 메시지를 필터링합니다.

spaceDisplayNames[]

string

선택사항입니다. 스페이스 이름 목록으로 필터링합니다. 스페이스 표시 이름은 부분적으로 일치합니다. 참고: 상위 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 (ChatMessage)
    }
  ],
  "nextPageToken": string
}
필드
messages[]

object (ChatMessage)

검색 기준과 일치하는 메일 객체 목록입니다. order_by 요청 매개변수에 따라 정렬됩니다.

nextPageToken

string

다음 페이지를 검색하기 위해 page_token으로 전송할 수 있는 토큰입니다. 이 필드를 생략하면 후속 페이지가 표시되지 않습니다.

ChatMessage

JSON 표현
{
  "messageId": string,
  "threadId": string,
  "plaintextBody": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "threadedReply": boolean,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "reactionSummaries": [
    {
      object (ReactionSummary)
    }
  ]
}
필드
messageId

string

메시지의 리소스 이름입니다. 형식: spaces/{space}/messages/{message}

threadId

string

이 메시지가 속한 대화목록입니다. 메시지가 스레드되지 않은 경우 비어 있습니다. 형식: spaces/{space}/threads/{thread}

plaintextBody

string

메시지의 일반 텍스트 본문입니다.

sender

object (User)

메시지 발신자입니다.

createTime

string

출력 전용입니다. 메시지가 생성된 타임스탬프입니다.

threadedReply

boolean

메일이 대화목록 답장인지 여부입니다.

attachments[]

object (ChatAttachmentMetadata)

메일에 포함된 첨부파일입니다.

reactionSummaries[]

object (ReactionSummary)

메일에 포함된 그림 이모티콘 반응 요약입니다.

사용자

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)
}
필드
attachmentId

string

첨부파일의 리소스 이름입니다. 형식: spaces/{space}/messages/{message}/attachments/{attachment}

filename

string

첨부파일의 이름입니다.

mimeType

string

콘텐츠 유형 (MIME 유형)입니다.

source

enum (Source)

첨부파일의 소스입니다.

ReactionSummary

JSON 표현
{
  "emoji": string,
  "count": integer
}
필드
emoji

string

그림 이모티콘 유니코드 문자열 또는 맞춤 그림 이모티콘 이름입니다.

count

integer

연결된 그림 이모티콘을 사용한 총 반응 수입니다.

UserType

Google Chat 사용자의 유형입니다.

열거형
USER_TYPE_UNSPECIFIED 지정되지 않음.
HUMAN 실제 사용자
APP 앱 사용자

소스

첨부파일의 소스입니다.

열거형
SOURCE_UNSPECIFIED 예약됨
DRIVE_FILE 파일이 Google Drive 파일입니다.
UPLOADED_CONTENT 파일이 Chat에 업로드됩니다.

도구 주석

파괴적 힌트: ❌ | 동일한 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌