도구: search_threads
인증된 사용자의 Gmail 계정에서 이메일 대화목록을 나열합니다.
이 도구는 쿼리 문자열을 기반으로 대화목록을 필터링할 수 있으며 페이지로 나누기를 지원합니다. ID와 관련 메시지를 포함한 대화목록 목록을 반환합니다. 각 관련 메시지에는 메일 본문 미리보기, 제목, 발신자, 수신자 등의 세부정보가 포함됩니다. view 매개변수는 관련 메시지에 채워지는 필드를 제어합니다. 기본적으로 (또는 THREAD_VIEW_MINIMAL 사용 시) 제목과 스니펫이 포함됩니다. THREAD_VIEW_METADATA_ONLY를 사용하여 제목과 스니펫을 제외합니다. 이 도구는 전체 메시지 본문을 반환하지 않습니다. 필요한 경우 스레드 ID와 함께 'get_thread' 도구를 사용하여 전체 메시지 본문을 가져오세요. 제외된 기준이 있는 스레드는 결과에 계속 표시될 수 있습니다. Gmail에서 일치하는 메일을 먼저 식별하기 때문에 이러한 현상이 발생합니다. 예를 들어 -is:starred를 검색하면 동일한 대화에 별표가 표시된 다른 이메일이 있더라도 별표가 표시되지 않은 메일이 하나 이상 포함된 경우 Gmail에서 전체 대화목록을 찾습니다.
다음 샘플은 curl를 사용하여 search_threads MCP 도구를 호출하는 방법을 보여줍니다.
| curl 요청 |
|---|
curl --location 'https://gmailmcp.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_threads", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
입력 스키마
SearchThreads RPC의 요청 메시지입니다.
SearchThreadsRequest
| JSON 표현 |
|---|
{
"pageSize": integer
"pageToken": string
"query": string
"includeTrash": boolean
"view": enum ( |
| 필드 | |
|---|---|
통합 필드
|
|
pageSize |
선택사항입니다. 반환할 최대 스레드 수입니다. 지정하지 않으면 기본값은 20입니다. 허용되는 최댓값은 50입니다. |
통합 필드
|
|
pageToken |
선택사항입니다. 목록에서 특정 결과 페이지를 가져오는 페이지 토큰입니다. 첫 번째 페이지를 가져오려면 비워 둡니다. 이는 주로 페이지로 나누기를 사용하여 이전 |
통합 필드
|
|
query |
선택사항입니다. 스레드를 필터링하는 쿼리 문자열입니다. 이 도구를 사용하려면 자연어 질문을 Gmail 구문 질문으로 사전 변환해야 합니다. 생략하면 모든 스레드 (기본적으로 스팸 및 휴지통 제외)가 나열됩니다. 카테고리별 지원되는 연산자: 발신자 및 수신자:
시간 및 날짜:
콘텐츠:
라벨 및 카테고리:
상태:
크기
논리 및 그룹화:
예:
|
통합 필드
|
|
includeTrash |
선택사항입니다. 결과에 휴지통의 스레드를 포함합니다. 기본값은 false입니다. |
통합 필드
|
|
view |
선택사항입니다. 스레드 목록에서 스레드에 채워지는 필드를 제어합니다. 기본값은 THREAD_VIEW_MINIMAL입니다. THREAD_VIEW_MINIMAL은 id, snippet, subject, from, to, cc, date, labelIds를 반환합니다. THREAD_VIEW_METADATA_ONLY는 id, from, to, cc, date, labelIds를 반환합니다. |
ThreadView
ListThreads 및 SearchThreads 응답에서 대화목록에 채워지는 필드를 제어하는 enum입니다.
| 열거형 | |
|---|---|
THREAD_VIEW_UNSPECIFIED |
하위 호환성을 위해 THREAD_VIEW_MINIMAL에 매핑됩니다. |
THREAD_VIEW_METADATA_ONLY |
id, from, to, cc, date, labelIds를 반환합니다. |
THREAD_VIEW_MINIMAL |
id, snippet, subject, from, to, cc, date, labelIds를 반환합니다. |
출력 스키마
SearchThreads RPC의 응답 메시지입니다.
SearchThreadsResponse
| JSON 표현 |
|---|
{
"threads": [
{
object ( |
| 필드 | |
|---|---|
threads[] |
대화목록 요약 목록입니다. |
nextPageToken |
후속 호출에서 다음 스레드 페이지를 가져오는 데 사용할 수 있는 토큰입니다. 결과가 더 있는 경우에만 표시됩니다. 쿼리와 일치하는 스레드 수가 page_size 한도를 초과하면 응답에 |
resultCountEstimate |
이 쿼리의 예상 결과 수입니다. 하한으로 취급해야 합니다. 예를 들어 500인 경우 사용자에게 '500개 이상'으로 보고할 수 있습니다. |
스레드
| JSON 표현 |
|---|
{
"id": string,
"messages": [
{
object ( |
| 필드 | |
|---|---|
id |
스레드의 고유 식별자입니다. |
messages[] |
스레드의 메시지 목록입니다. 시간순으로 정렬됩니다. |
메시지
| JSON 표현 |
|---|
{
"id": string,
"snippet": string,
"subject": string,
"sender": string,
"toRecipients": [
string
],
"ccRecipients": [
string
],
"date": string,
"plaintextBody": string,
"attachmentIds": [
string
],
"htmlBody": string,
"attachments": [
{
object ( |
| 필드 | |
|---|---|
id |
메시지의 고유 식별자입니다. |
snippet |
메일 본문의 스니펫입니다. |
subject |
헤더에서 추출한 메일 제목: |
sender |
발신자 이메일 주소입니다. |
toRecipients[] |
수신자 이메일 주소 |
ccRecipients[] |
참조 수신자 이메일 주소입니다. |
date |
ISO 8601 형식 (YYYY-MM-DD)의 메시지 날짜입니다. |
plaintextBody |
전체 본문 콘텐츠입니다. MessageFormat이 FULL_CONTENT인 경우에만 채워집니다. |
attachmentIds[] |
출력 전용입니다. 첨부파일 ID입니다. MessageFormat이 FULL_CONTENT인 경우에만 채워집니다. |
htmlBody |
이메일의 HTML 콘텐츠입니다. MessageFormat이 FULL_CONTENT인 경우에만 채워집니다. |
attachments[] |
출력 전용입니다. 첨부파일입니다. MessageFormat이 FULL_CONTENT인 경우에만 채워집니다. |
labelIds[] |
메일에 첨부된 라벨의 ID입니다. 사용자 라벨과 |
AttachmentMetadata
| JSON 표현 |
|---|
{ "id": string, "mimeType": string, "filename": string } |
| 필드 | |
|---|---|
id |
출력 전용입니다. 첨부파일의 ID입니다. |
mimeType |
첨부파일의 MIME 유형입니다. |
filename |
첨부파일의 파일 이름입니다. |
도구 주석
파괴적 힌트: ❌ | 동일한 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌
승인 범위
다음 OAuth 범위 중 하나가 필요합니다.
https://mail.google.com/https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/gmail.readonly