MCP Tools Reference: chatmcp.googleapis.com

도구: list_messages

지정된 Google Chat 대화 (스페이스, 채팅 메시지 (DM) 또는 그룹 DM)에서 메시지를 가져옵니다. 대화목록, 시간 범위, 메시지 수별로 필터링할 수 있습니다. 또한 메시지의 다음 페이지를 검색하여 더 많은 컨텍스트를 확인할 수 있습니다. 비공개 메시지 (단일 사용자에게만 표시되는 메시지)는 필터링됩니다.

다음 샘플은 curl를 사용하여 list_messages MCP 도구를 호출하는 방법을 보여줍니다.

curl 요청
curl --location 'https://chatmcp.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "list_messages",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

입력 스키마

ListMessages RPC의 요청 메시지입니다.

ListChatMessagesRequest

JSON 표현
{
  "conversationId": string,
  "threadId": string,
  "pageSize": integer,
  "pageToken": string,
  "startTime": string,
  "endTime": string
}
필드
conversationId

string

필수 항목입니다. 대화의 ID입니다. 대화는 스페이스, 채팅 메시지 (DM) 또는 그룹 DM/Chat일 수 있습니다. 형식: spaces/{space}

threadId

string

선택사항입니다. 대화 내의 특정 대화목록의 ID입니다. 제공된 경우 이 대화목록의 메시지만 반환됩니다. 생략하면 대화의 모든 대화목록의 메시지가 고려됩니다. 형식: spaces/{space}/threads/{thread}

pageSize

integer

선택사항입니다. 반환할 최대 메시지 수입니다. 서비스가 이 값보다 더 적게 반환할 수 있습니다. 지정하지 않으면 기본값은 20입니다. 허용되는 최댓값은 50입니다.

pageToken

string

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

startTime

string

선택사항입니다. 메일을 필터링하는 ISO 8601 타임스탬프입니다. 이 시간 이후에 생성된 메시지만 반환됩니다.

endTime

string

선택사항입니다. 메일을 필터링하는 ISO 8601 타임스탬프입니다. 이 시간 이전에 생성된 메시지만 반환됩니다.

출력 스키마

ListMessages RPC의 응답 메시지입니다.

ListChatMessagesResponse

JSON 표현
{
  "messages": [
    {
      object (ChatMessage)
    }
  ],
  "nextPageToken": string
}
필드
messages[]

object (ChatMessage)

가져온 메시지 목록입니다. 시간 역순으로 정렬됩니다 (최신순).

nextPageToken

string

다음 페이지의 메시지를 검색하기 위해 후속 ListMessagesRequest에서 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

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

도구 주석

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