도구: search_threads
인증된 사용자의 Gmail 계정에서 이메일 대화목록을 나열합니다.
이 도구는 쿼리 문자열을 기반으로 스레드를 필터링할 수 있으며 페이지로 나누기를 지원합니다. ID와 관련 메시지를 포함한 대화목록 목록을 반환합니다. 각 관련 메시지에는 메시지 본문의 스니펫, 제목, 발신자, 수신자 등의 세부정보가 포함됩니다. 이 도구는 전체 메시지 본문을 반환하지 않습니다. 필요한 경우 스레드 ID와 함께 'get_thread' 도구를 사용하여 전체 메시지 본문을 가져오세요. 제외된 기준이 있는 스레드는 결과에 계속 표시될 수 있습니다. Gmail에서 일치하는 메일을 먼저 식별하기 때문에 이러한 현상이 발생합니다. 예를 들어 -is:starred를 검색하면 동일한 대화에 별표가 표시된 다른 이메일이 있더라도 별표가 표시되지 않은 메일이 하나 이상 포함된 경우 Gmail에서 전체 대화목록을 찾습니다.
다음 샘플은 curl를 사용하여 search_threads MCP 도구를 호출하는 방법을 보여줍니다.
| curl 요청 |
|---|
curl --location 'https://gmailmcp.googleapis.com/mcp/v1' \ --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 } |
| 필드 | |
|---|---|
통합 필드
|
|
pageSize |
선택사항입니다. 반환할 최대 스레드 수입니다. 지정하지 않으면 기본값은 20입니다. 허용되는 최댓값은 50입니다. |
통합 필드
|
|
pageToken |
선택사항입니다. 목록에서 특정 결과 페이지를 가져오는 페이지 토큰입니다. 첫 번째 페이지를 가져오려면 비워 둡니다. 이는 주로 페이지로 나누기를 사용하여 이전 |
통합 필드
|
|
query |
선택사항입니다. 스레드를 필터링하는 쿼리 문자열입니다. 이 도구를 사용하려면 자연어 쿼리를 Gmail 구문 쿼리로 사전 변환해야 합니다. 생략하면 모든 스레드 (기본적으로 스팸 및 휴지통 제외)가 나열됩니다. 카테고리별 지원되는 연산자: 보낸사람 및 수신자: from: 시간 및 날짜: after:YYYY/MM/DD / newer:YYYY/MM/DD - 특정 날짜 이후에 수신됨 before:YYYY/MM/DD / older:YYYY/MM/DD - 특정 날짜 이전에 수신됨 older_than: 콘텐츠: subject: 라벨 및 카테고리: label: 상태: is: 크기: size: 논리 및 그룹화: AND - 모든 기준과 일치합니다 (기본 동작). OR 또는 { } - 하나 이상의 기준과 일치합니다 (예: from:amy OR from:david, {from:amy from:david}). - (빼기) - 기준 제외 (예: -영화) ( ) - 여러 검색어를 그룹화합니다 (예: subject:(dinner film)). 예: 'subject:OneMCP Update' 'from:user@example.com' 'to:user2@example.com AND newer_than:7d' 'project proposal has:attachment' 'is:unread -in:draft' |
통합 필드
|
|
includeTrash |
선택사항입니다. 결과에 휴지통의 초안을 포함합니다. 기본값은 false입니다. |
출력 스키마
SearchThreads RPC의 응답 메시지입니다.
SearchThreadsResponse
| JSON 표현 |
|---|
{
"threads": [
{
object ( |
| 필드 | |
|---|---|
threads[] |
대화목록 요약 목록입니다. |
nextPageToken |
후속 호출에서 다음 스레드 페이지를 가져오는 데 사용할 수 있는 토큰입니다. 결과가 더 있는 경우에만 표시됩니다. 쿼리와 일치하는 스레드 수가 page_size 한도를 초과하면 응답에 |
스레드
| 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 ] } |
| 필드 | |
|---|---|
id |
메시지의 고유 식별자입니다. |
snippet |
메일 본문의 스니펫입니다. |
subject |
헤더에서 추출한 메일 제목: |
sender |
발신자 이메일 주소입니다. |
toRecipients[] |
수신자 이메일 주소 |
ccRecipients[] |
참조 수신자 이메일 주소입니다. |
date |
ISO 8601 형식 (YYYY-MM-DD)의 메시지 날짜입니다. |
plaintextBody |
전체 본문 콘텐츠입니다. MessageFormat이 FULL_CONTENT인 경우에만 채워집니다. |
attachmentIds[] |
출력 전용입니다. 첨부파일 ID입니다. MessageFormat이 FULL_CONTENT인 경우에만 채워집니다. |
도구 주석
파괴적 힌트: ❌ | 동일한 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌