MCP Tools Reference: chatmcp.googleapis.com

도구: search_conversations

표시 이름 또는 참석자를 기준으로 Google Chat 대화 (이름이 지정된 스페이스, 채팅 메시지 (DM) 또는 그룹 채팅)를 검색하여 대화 ID를 찾습니다.

이 도구는 메시지 콘텐츠가 아닌 대화 메타데이터를 검색합니다. 메시지 기록 내에서 검색하거나 키워드/보낸사람/타임스탬프로 메시지를 찾으려면 search_messages를 사용하세요.

participants만 제공된 경우 이 도구는 지정된 참석자와 호출 사용자를 포함하는 1:1 채팅 메시지 (참석자가 한 명 제공된 경우) 또는 그룹 채팅 (참석자가 여러 명 제공된 경우)을 찾습니다.

query만 제공된 경우 이 도구는 쿼리가 대화 표시 이름의 대소문자를 구분하지 않는 하위 문자열인 대화를 검색합니다.

participantsquery가 모두 제공된 경우 이 도구는 참석자를 기준으로 대화를 찾은 다음 표시 이름으로 필터링합니다.

participants 또는 query가 모두 제공되지 않은 경우 이 도구는 호출 사용자가 회원으로 속한 모든 대화를 나열합니다.

이 도구는 호출 사용자가 회원으로 속한 대화만 나열합니다.

대화 ID (형식: spaces/{space}), 표시 이름, 대화 유형이 포함된 대화 객체 목록을 반환합니다.

중요: 빈 conversations 목록이 전체적으로 결과가 더 이상 없다는 의미는 아닙니다. next_page_token이 있으면 더 많은 페이지를 가져올 수 있습니다. 빈 목록이 표시되지만 next_page_token이 있는 경우 검색을 계속할지 사용자에게 물어보세요.

다음 코드 샘플은 curl을 사용하여 search_conversations 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": "search_conversations",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

입력 스키마

SearchConversationsRequest

JSON 표현
{
  "spaceNameQuery": string,
  "pageSize": integer,
  "pageToken": string,
  "participants": [
    string
  ]
}
필드
spaceNameQuery

string

선택사항입니다. 스페이스 표시 이름 내에서 검색할 텍스트입니다 (대소문자를 구분하지 않는 하위 문자열 일치).

pageSize

integer

선택사항입니다. 반환할 최대 스페이스 수입니다. 서비스가 이 값보다 더 적게 반환할 수 있습니다. 지정하지 않으면 최대 20개의 스페이스가 반환됩니다. 최댓값은 1,000이며, 1,000을 초과하는 값은 1,000으로 변환됩니다.

pageToken

string

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

participants[]

string

선택사항입니다. 호출자를 제외하고 대화를 필터링할 참석자의 이메일 주소 목록입니다.

출력 스키마

일치하는 대화 목록이 포함된 응답입니다.

SearchConversationsResponse

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

object (Conversation)

검색 기준과 일치하는 대화 객체 목록입니다. 각 대화에는 conversation_id (형식: spaces/{space}), display_name, conversation_type, last_active_timestamp가 포함됩니다.

nextPageToken

string

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

대화

JSON 표현
{
  "conversationId": string,
  "displayName": string,
  "conversationType": enum (ConversationType),
  "lastActiveTimestamp": string
}
필드
conversationId

string

대화의 ID (예: 'spaces/AAAAAAAAA')입니다.

displayName

string

대화의 표시 이름입니다.

conversationType

enum (ConversationType)

대화 유형 (DIRECT_MESSAGE, GROUP_CHAT 또는 NAMED_SPACE)입니다.

lastActiveTimestamp

string (Timestamp format)

ISO 8601 형식으로 나타낸 대화의 마지막 활동 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

타임스탬프

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -62135596800과 253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z에 해당) 사이여야 합니다.

nanos

integer

나노초 단위의 음수가 아닌 초수입니다. 이 필드는 초의 대안이 아니라 기간의 나노초 부분입니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0과 999,999,999 사이여야 합니다.

ConversationType

대화 유형을 정의합니다.

열거형
CONVERSATION_TYPE_UNSPECIFIED 지정되지 않음.
NAMED_SPACE 이름이 지정된 스페이스입니다.
GROUP_CHAT 3명 이상이 참여하는 그룹 채팅입니다.
DIRECT_MESSAGE 두 명의 사용자 또는 사용자와 Chat 앱 간의 채팅 메시지입니다.

도구 주석

도구 주석은 지정된 도구의 기본 위험을 설명하기 위해 MCP 클라이언트로 전송됩니다. 대부분의 클라이언트는 이러한 힌트를 신뢰할 수 없는 것으로 취급하지만 확인 메시지를 사용자에게 전송할 시점을 결정하는 데 사용할 수 있습니다.

제목 문자열과 함께 다음 불리언 힌트가 다음과 같이 정의됩니다.

  • readOnlyHint: true이면 도구가 환경을 수정하지 않습니다. 기본값: false.
  • destructiveHint: true이면 도구가 파괴적인 작업을 실행할 수 있습니다. false이면 도구가 추가 작업만 실행할 수 있습니다. 기본값: true.
  • idempotentHint: true이면 동일한 인수로 도구를 반복적으로 호출해도 환경에 추가적인 영향을 미치지 않습니다. 기본값: false.
  • openWorldHint: true이면 도구가 외부 항목의 '오픈 월드'와 상호작용할 수 있습니다. false이면 도구가 내부 항목과만 상호작용할 수 있습니다. 예를 들어 웹 검색 도구는 오픈 월드이지만 메모리 도구는 오픈 월드가 아닙니다.

파괴적 힌트: ❌ | 멱등 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

  • https://www.googleapis.com/auth/chat.memberships.readonly
  • https://www.googleapis.com/auth/chat.spaces
  • https://www.googleapis.com/auth/chat.spaces.readonly