AI 클라이언트가 Gmail 메시지 및 대화를 읽고, 검색하고, 정리하고, 초안을 작성하고, 전송할 수 있도록 합니다.
다른 이름 pulsemcp/mcp-servers, gmail-workspace-mcp-server
- 스타
- 81
- Tools
- 22
- 다운로드, 30일
- 408
- 최신 버전
- 0.4.12
- 마지막 커밋
- 2026년 10월 9일
- 라이선스
- MIT
Gmail MCP란?
Gmail은(는) MCP server입니다. AI 클라이언트가 Gmail 메시지 및 대화를 읽고, 검색하고, 정리하고, 초안을 작성하고, 전송할 수 있도록 합니다. 22개 도구를 제공합니다. 예: readonly, readwrite, readwrite_external.
프로젝트 README에서 생성된 요약
Gmail MCP server 정보
이 Gmail 통합 기능을 사용하면 AI 어시스턴트를 통해 이메일 통신을 관리할 수 있습니다. 사용자는 클라이언트에서 직접 메시지를 검색, 읽기, 정리 및 초안 작성이 가능합니다. 이 서버는 OAuth2 자격 증명을 사용하는 개인 Gmail 계정과 도메인 전체 권한 위임이 설정된 서비스 계정을 통한 Google Workspace 환경을 모두 지원합니다.
개발자는 특정 도구 그룹을 활성화하여 액세스 수준을 제어할 수 있습니다. readonly 그룹은 대화 검색 및 목록 조회를 허용하며, readwrite 그룹은 라벨 수정 및 초안 관리 기능을 추가합니다. readwrite_external 그룹은 이메일 전송 기능을 포함하여 가장 높은 수준의 액세스 권한을 제공합니다. 이러한 세분화된 권한 시스템을 통해 자동화된 이메일 작업과 관련된 리스크를 관리할 수 있습니다.
설정하려면 클라이언트 ID, Secret 또는 서비스 계정 JSON 키와 같은 환경 변수를 구성해야 합니다. 연결이 완료되면 어시스턴트는 Gmail의 기본 쿼리 구문을 사용하여 메시지를 읽음으로 표시하거나, 스레드에 별표를 표시하거나, 답장을 작성하는 등의 작업을 수행할 수 있습니다.
활용 사례
- 1이메일 받은 편지함 정리오래된 메시지를 자동으로 보관하거나 수신 메일에 특정 라벨을 적용합니다.
- 2이메일 답장 초안 작성기존 대화 스레드에 대한 답장으로 새 이메일 초안을 생성합니다.
- 3발신 메일 전송새 메시지를 보내거나 기존 초안을 수신자에게 발송합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
Gmail MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 Gmail MCP 설치
$ claude mcp add --env 'GMAIL_OAUTH_CLIENT_ID=<YOUR_GMAIL_OAUTH_CLIENT_ID>' --env 'GMAIL_OAUTH_CLIENT_SECRET=<YOUR_GMAIL_OAUTH_CLIENT_SECRET>' --env 'GMAIL_OAUTH_REFRESH_TOKEN=<YOUR_GMAIL_OAUTH_REFRESH_TOKEN>' --env 'GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY=<YOUR_GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY>' gmail -- npx -y gmail-workspace-mcp-serverCursor에 Gmail MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"gmail": {
"command": "npx",
"args": [
"-y",
"gmail-workspace-mcp-server"
],
"env": {
"GMAIL_OAUTH_CLIENT_ID": "<YOUR_GMAIL_OAUTH_CLIENT_ID>",
"GMAIL_OAUTH_CLIENT_SECRET": "<YOUR_GMAIL_OAUTH_CLIENT_SECRET>",
"GMAIL_OAUTH_REFRESH_TOKEN": "<YOUR_GMAIL_OAUTH_REFRESH_TOKEN>",
"GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY": "<YOUR_GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY>"
}
}
}
}VS Code에 Gmail MCP 설치
.vscode/mcp.json
{
"servers": {
"gmail": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"gmail-workspace-mcp-server"
],
"env": {
"GMAIL_OAUTH_CLIENT_ID": "<YOUR_GMAIL_OAUTH_CLIENT_ID>",
"GMAIL_OAUTH_CLIENT_SECRET": "<YOUR_GMAIL_OAUTH_CLIENT_SECRET>",
"GMAIL_OAUTH_REFRESH_TOKEN": "<YOUR_GMAIL_OAUTH_REFRESH_TOKEN>",
"GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY": "<YOUR_GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY>"
}
}
}
}VS Code CLI에 Gmail MCP 설치
$ code --add-mcp '{"name":"gmail","type":"stdio","command":"npx","args":["-y","gmail-workspace-mcp-server"],"env":{"GMAIL_OAUTH_CLIENT_ID":"<YOUR_GMAIL_OAUTH_CLIENT_ID>","GMAIL_OAUTH_CLIENT_SECRET":"<YOUR_GMAIL_OAUTH_CLIENT_SECRET>","GMAIL_OAUTH_REFRESH_TOKEN":"<YOUR_GMAIL_OAUTH_REFRESH_TOKEN>","GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY":"<YOUR_GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY>"}}'Claude Desktop에 Gmail MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"gmail": {
"command": "npx",
"args": [
"-y",
"gmail-workspace-mcp-server"
],
"env": {
"GMAIL_OAUTH_CLIENT_ID": "<YOUR_GMAIL_OAUTH_CLIENT_ID>",
"GMAIL_OAUTH_CLIENT_SECRET": "<YOUR_GMAIL_OAUTH_CLIENT_SECRET>",
"GMAIL_OAUTH_REFRESH_TOKEN": "<YOUR_GMAIL_OAUTH_REFRESH_TOKEN>",
"GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY": "<YOUR_GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY>"
}
}
}
}Codex에 Gmail MCP 설치
$ codex mcp add gmail --env 'GMAIL_OAUTH_CLIENT_ID=<YOUR_GMAIL_OAUTH_CLIENT_ID>' --env 'GMAIL_OAUTH_CLIENT_SECRET=<YOUR_GMAIL_OAUTH_CLIENT_SECRET>' --env 'GMAIL_OAUTH_REFRESH_TOKEN=<YOUR_GMAIL_OAUTH_REFRESH_TOKEN>' --env 'GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY=<YOUR_GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY>' -- npx -y gmail-workspace-mcp-serverCodex config.toml에 Gmail MCP 설치
~/.codex/config.toml
[mcp_servers.gmail] command = "npx" args = ["-y", "gmail-workspace-mcp-server"] [mcp_servers.gmail.env] GMAIL_OAUTH_CLIENT_ID = "<YOUR_GMAIL_OAUTH_CLIENT_ID>" GMAIL_OAUTH_CLIENT_SECRET = "<YOUR_GMAIL_OAUTH_CLIENT_SECRET>" GMAIL_OAUTH_REFRESH_TOKEN = "<YOUR_GMAIL_OAUTH_REFRESH_TOKEN>" GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY = "<YOUR_GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY>"
Gemini CLI에 Gmail MCP 설치
$ gemini mcp add -s user -e 'GMAIL_OAUTH_CLIENT_ID=<YOUR_GMAIL_OAUTH_CLIENT_ID>' -e 'GMAIL_OAUTH_CLIENT_SECRET=<YOUR_GMAIL_OAUTH_CLIENT_SECRET>' -e 'GMAIL_OAUTH_REFRESH_TOKEN=<YOUR_GMAIL_OAUTH_REFRESH_TOKEN>' -e 'GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY=<YOUR_GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY>' gmail npx -- -y gmail-workspace-mcp-serverGemini settings.json에 Gmail MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"gmail": {
"command": "npx",
"args": [
"-y",
"gmail-workspace-mcp-server"
],
"env": {
"GMAIL_OAUTH_CLIENT_ID": "<YOUR_GMAIL_OAUTH_CLIENT_ID>",
"GMAIL_OAUTH_CLIENT_SECRET": "<YOUR_GMAIL_OAUTH_CLIENT_SECRET>",
"GMAIL_OAUTH_REFRESH_TOKEN": "<YOUR_GMAIL_OAUTH_REFRESH_TOKEN>",
"GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY": "<YOUR_GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY>"
}
}
}
}Gmail MCP 도구 22
README에서 감지됨readonlyreadwritereadwrite_externalcountlabelssort_byafterbeforeemail_idquerystatusis_starred
| readonly | — | |
| readwrite | — | |
| readwrite_external | — | |
| count | — | |
| labels | — | |
| sort_by | — | |
| after | — | |
| before | — | |
| email_id | — | |
| query | — | |
| status | — | |
| is_starred | — |
도구 22개 모두 보기도구 수 줄이기
remove_labelsthread_iddraft_iddeletesubjectplaintext_bodyhtml_bodybccreply_to_email_idfrom_draft_id
| remove_labels | — | |
| thread_id | — | |
| draft_id | — | |
| delete | — | |
| subject | — | |
| plaintext_body | — | |
| html_body | — | |
| bcc | — | |
| reply_to_email_id | — | |
| from_draft_id | — |
구성
GMAIL_OAUTH_CLIENT_ID비밀OAuth2 client ID from Google Cloud Console (for personal Gmail accounts).
GMAIL_OAUTH_CLIENT_SECRET비밀OAuth2 client secret from Google Cloud Console.
GMAIL_OAUTH_REFRESH_TOKEN비밀Refresh token from the OAuth2 setup script.
GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY비밀Service account private key in PEM format (for Google Workspace).
GMAIL_ENABLED_TOOLGROUPSComma-separated list of tool groups to enable (readonly, readwrite, readwrite_external).
GMAIL_IMPERSONATE_EMAILEmail address to impersonate (required for service account mode).
GMAIL_SERVICE_ACCOUNT_CLIENT_EMAILService account email address (for Google Workspace).
| 이름 | 설명 | 유형 |
|---|---|---|
| GMAIL_OAUTH_CLIENT_ID | OAuth2 client ID from Google Cloud Console (for personal Gmail accounts). | 비밀 |
| GMAIL_OAUTH_CLIENT_SECRET | OAuth2 client secret from Google Cloud Console. | 비밀 |
| GMAIL_OAUTH_REFRESH_TOKEN | Refresh token from the OAuth2 setup script. | 비밀 |
| GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY | Service account private key in PEM format (for Google Workspace). | 비밀 |
| GMAIL_ENABLED_TOOLGROUPS | Comma-separated list of tool groups to enable (readonly, readwrite, readwrite_external). | |
| GMAIL_IMPERSONATE_EMAIL | Email address to impersonate (required for service account mode). | |
| GMAIL_SERVICE_ACCOUNT_CLIENT_EMAIL | Service account email address (for Google Workspace). |
자동 검사
2026년 11월 12일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능통과
- 오픈 소스 라이선스 (OSI)통과
- 최근 1년 내 커밋 또는 릴리스통과
- 패키지 이름이 인기 패키지와 유사하지 않음통과
- 원격 엔드포인트가 HTTPS 사용검사되지 않음
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 모델에 대한 숨겨진 지침 없음통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음통과
README
GitHub에서 보기Gmail Workspace MCP Server
An MCP (Model Context Protocol) server that provides Gmail integration for AI assistants. Supports both personal Gmail accounts (via OAuth2) and Google Workspace accounts (via service account with domain-wide delegation).
Features
- List Email Conversations: Retrieve emails with label filtering
- Get Email Details: Fetch full email content including body and attachments info
- Search Emails: Search using Gmail's powerful query syntax
- Manage Emails: Mark as read/unread, star/unstar, archive, apply labels
- Create Drafts: Compose draft emails with reply support
- Send Emails: Send new emails or replies, directly or from drafts
- Two Auth Methods: OAuth2 for personal accounts, Service Account for Google Workspace
Installation
npm install gmail-workspace-mcp-server
Or run directly with npx:
npx gmail-workspace-mcp-server
Authentication
This server supports two authentication modes. Choose the one that matches your account type.
Option 1: OAuth2 (Personal Gmail Accounts)
Use this for personal @gmail.com accounts or any Google account without Workspace admin access.
Prerequisites
- Go to Google Cloud Console
- Create or select a project
- Enable the Gmail API
- Configure the OAuth consent screen:
- Choose External user type
- Add yourself as a test user
- Publish the app (click "Publish" on the consent screen) to prevent refresh tokens from expiring every 7 days. No full Google verification is needed for personal use.
- Create OAuth 2.0 credentials:
- Choose Desktop app as the application type
- Important: Create new credentials after publishing the app
- Copy the Client ID and Client Secret
Getting a Refresh Token
Run the built-in setup command:
npx gmail-workspace-mcp-server oauth-setup <client_id> <client_secret>
You can also pass credentials via environment variables:
GMAIL_OAUTH_CLIENT_ID=... GMAIL_OAUTH_CLIENT_SECRET=... npx gmail-workspace-mcp-server oauth-setup
Port conflict? If port 3000 is already in use, specify a different port:
PORT=3001 npx gmail-workspace-mcp-server oauth-setup <client_id> <client_secret>
Desktop app credentials automatically allow http://localhost redirects on any port, so no additional Google Cloud Console configuration is needed.
This will open your browser for Google sign-in and print the refresh token. You only need to do this once — the refresh token does not expire (as long as the OAuth consent screen is published).
Environment Variables (OAuth2)
| Variable | Required | Description |
|---|---|---|
GMAIL_OAUTH_CLIENT_ID |
Yes | OAuth2 client ID from Google Cloud Console |
GMAIL_OAUTH_CLIENT_SECRET |
Yes | OAuth2 client secret |
GMAIL_OAUTH_REFRESH_TOKEN |
Yes | Refresh token from the setup script |
GMAIL_ENABLED_TOOLGROUPS |
No | Comma-separated list of tool groups (default: all) |
Claude Desktop Configuration (OAuth2)
{
"mcpServers": {
"gmail": {
"command": "npx",
"args": ["gmail-workspace-mcp-server"],
"env": {
"GMAIL_OAUTH_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
"GMAIL_OAUTH_CLIENT_SECRET": "your-client-secret",
"GMAIL_OAUTH_REFRESH_TOKEN": "your-refresh-token"
}
}
}
}
Option 2: Service Account (Google Workspace)
Use this for Google Workspace organizations where a domain admin can grant domain-wide delegation.
Prerequisites
- Go to Google Cloud Console
- Create or select a project
- Enable the Gmail API
- Create a service account with domain-wide delegation enabled
- In Google Workspace Admin Console, grant the service account access to the following scopes:
https://www.googleapis.com/auth/gmail.readonly(read emails)https://www.googleapis.com/auth/gmail.modify(modify labels)https://www.googleapis.com/auth/gmail.compose(create drafts)https://www.googleapis.com/auth/gmail.send(send emails)
- Download the JSON key file
Environment Variables (Service Account)
| Variable | Required | Description |
|---|---|---|
GMAIL_SERVICE_ACCOUNT_CLIENT_EMAIL |
Yes | Service account email address |
GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY |
Yes | Service account private key (PEM format) |
GMAIL_IMPERSONATE_EMAIL |
Yes | Email address to impersonate |
GMAIL_ENABLED_TOOLGROUPS |
No | Comma-separated list of tool groups to enable (default: all groups) |
You can find the client_email and private_key values in your service account JSON key file.
Claude Desktop Configuration (Service Account)
{
"mcpServers": {
"gmail": {
"command": "npx",
"args": ["gmail-workspace-mcp-server"],
"env": {
"GMAIL_SERVICE_ACCOUNT_CLIENT_EMAIL": "my-service-account@my-project.iam.gserviceaccount.com",
"GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\nMIIE...\n-----END PRIVATE KEY-----",
"GMAIL_IMPERSONATE_EMAIL": "user@yourdomain.com"
}
}
}
}
Note: For the private key, you can either:
- Use the key directly with
\nfor newlines (as shown above) - Set the environment variable from a shell that preserves newlines
Tool Groups
The server supports three tool groups for permission-based access control:
| Group | Tools Included | Risk Level |
|---|---|---|
readonly |
list_email_conversations, get_email_conversation, search_email_conversations, list_draft_emails |
Low |
readwrite |
All readonly tools + change_email_conversation, upsert_draft_email |
Medium |
readwrite_external |
All readwrite tools + send_email |
High |
By default, all tool groups are enabled. To restrict access, set the GMAIL_ENABLED_TOOLGROUPS environment variable:
# Read-only access (no write/send capabilities)
GMAIL_ENABLED_TOOLGROUPS=readonly
# Read and write, but no external sending
GMAIL_ENABLED_TOOLGROUPS=readwrite
# Full access including sending emails (default)
GMAIL_ENABLED_TOOLGROUPS=readwrite_external
Security Note: The send_email tool is in a separate readwrite_external group because it can send emails externally, which carries higher risk than internal operations like modifying labels or creating drafts.
Available Tools
list_email_conversations
List email conversations from Gmail with optional filtering.
Parameters:
count(number, optional): Number of emails to return (default: 10, max: 100)labels(string, optional): Comma-separated label IDs to filter by (default: "INBOX")sort_by(string, optional): Sort order - "recent" (newest first) or "oldest" (default: recent)after(string, optional): Only return emails after this datetime, exclusive (ISO 8601 UTC, e.g., "2024-01-15T14:30:00Z")before(string, optional): Only return emails before this datetime, exclusive (ISO 8601 UTC, e.g., "2024-01-15T14:30:00Z")
Example:
{
"count": 20,
"labels": "INBOX,STARRED",
"after": "2024-01-15T00:00:00Z",
"before": "2024-01-20T23:59:59Z"
}
get_email_conversation
Retrieve the full content of a specific email by its ID.
Parameters:
email_id(string, required): The unique identifier of the email
Example:
{
"email_id": "18abc123def456"
}
search_email_conversations
Search emails using Gmail's powerful query syntax.
Parameters:
query(string, required): Gmail search query (e.g., "from:user@example.com", "is:unread", "subject:meeting")count(number, optional): Maximum results to return (default: 10, max: 100)
Example:
{
"query": "from:alice@example.com is:unread",
"count": 20
}
change_email_conversation
Modify email labels and status (read/unread, starred, archived).
Parameters:
email_id(string, required): The email ID to modifystatus(string, optional): "read", "unread", or "archived"is_starred(boolean, optional): Star or unstar the emaillabels(string, optional): Comma-separated labels to addremove_labels(string, optional): Comma-separated labels to remove
Example:
{
"email_id": "18abc123def456",
"status": "read",
"is_starred": true
}
list_draft_emails
List draft emails from Gmail with optional thread filtering.
Parameters:
count(number, optional): Maximum number of drafts to return (default: 10, max: 100)thread_id(string, optional): Filter drafts by conversation thread ID
Example:
{
"thread_id": "18abc123def456"
}
upsert_draft_email
Create, update, or delete a draft email. Optionally as a reply to an existing conversation.
Parameters:
draft_id(string, optional): ID of an existing draft to update or delete (omit to create a new draft)delete(boolean, optional): Set totrueto delete the draft specified bydraft_id. All other parameters are ignored when deletingto(string, required for create/update): Recipient email addresssubject(string, required for create/update): Email subjectplaintext_body(string): Plain text body content (at least one of plaintext_body or html_body required for create/update)html_body(string): HTML body content for rich text formatting (at least one of plaintext_body or html_body required for create/update)cc(string, optional): CC recipientsbcc(string, optional): BCC recipientsthread_id(string, optional): Thread ID for repliesreply_to_email_id(string, optional): Email ID to reply to (sets References/In-Reply-To headers)
For create/update: at least one of plaintext_body or html_body must be provided. If both are provided, a multipart email is sent with both versions.
Example (create new draft):
{
"to": "recipient@example.com",
"subject": "Meeting Follow-up",
"plaintext_body": "Thanks for the meeting today!"
}
Example (update existing draft):
{
"draft_id": "r123456789",
"to": "recipient@example.com",
"subject": "Meeting Follow-up (revised)",
"html_body": "<p>Thanks for the meeting today! Check out <a href=\"https://example.com/notes\">the notes</a>.</p>"
}
Example (delete a draft):
{
"draft_id": "r123456789",
"delete": true
}
send_email
Send an email directly or from an existing draft.
Parameters:
to(string, conditional): Recipient email (required unless sending from draft)subject(string, conditional): Email subject (required unless sending from draft)plaintext_body(string): Plain text body content (at least one of plaintext_body or html_body required, unless sending a draft)html_body(string): HTML body content for rich text formatting (at least one of plaintext_body or html_body required, unless sending a draft)cc(string, optional): CC recipientsbcc(string, optional): BCC recipientsfrom_draft_id(string, optional): Send an existing draft by IDthread_id(string, optional): Thread ID for repliesreply_to_email_id(string, optional): Email ID to reply to
Example (plain text email):
{
"to": "recipient@example.com",
"subject": "Hello",
"plaintext_body": "This is a test email."
}
Example (HTML email):
{
"to": "recipient@example.com",
"subject": "Hello",
"html_body": "<p>Check out <a href=\"https://example.com\">our website</a> for more details.</p>"
}
Example (send draft):
{
"from_draft_id": "r123456789"
}
Development
Setup
# Install dependencies
npm run install-all
# Build
npm run build
# Run in development mode
npm run dev
Testing
# Run functional tests
npm test
# Run integration tests
npm run test:integration
# Run manual tests (requires credentials)
npm run test:manual
License
MIT
Gmail MCP 질문
Gmail MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add --env 'GMAIL_OAUTH_CLIENT_ID=<YOUR_GMAIL_OAUTH_CLIENT_ID>' --env 'GMAIL_OAUTH_CLIENT_SECRET=<YOUR_GMAIL_OAUTH_CLIENT_SECRET>' --env 'GMAIL_OAUTH_REFRESH_TOKEN=<YOUR_GMAIL_OAUTH_REFRESH_TOKEN>' --env 'GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY=<YOUR_GMAIL_SERVICE_ACCOUNT_PRIVATE_KEY>' gmail -- npx -y gmail-workspace-mcp-server를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
Gmail MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
Gmail MCP는 어떤 도구를 제공하나요?
22개 도구를 제공합니다. 예: readonly, readwrite, readwrite_external, count, labels.
Gmail MCP server는 어떻게 인증하나요?
개인 Gmail 계정의 경우 OAuth2를 지원하며, Google Workspace 계정의 경우 도메인 전체 권한 위임(domain-wide delegation)이 설정된 서비스 계정을 지원합니다.
Gmail MCP server로 받은 편지함을 검색할 수 있나요?
네, from:user@example.com 또는 is:unread와 같은 Gmail 쿼리 구문을 사용하여 이메일을 검색할 수 있습니다.
Gmail MCP server의 권한을 읽기 전용으로 제한할 수 있나요?
네, GMAIL_ENABLED_TOOLGROUPS 환경 변수를 readonly로 설정하면 쓰기 및 전송 도구를 비활성화할 수 있습니다.
Gmail MCP server로 이메일을 보낼 수 있나요?
네, send_email 도구를 사용하여 새 이메일을 보내거나 기존 초안을 바탕으로 직접 또는 답장을 보낼 수 있습니다.
Gmail용 OAuth2 리프레시 토큰은 어떻게 받나요?
클라이언트 ID와 Secret을 사용하여 내장된 oauth-setup 명령어를 실행한 다음, 브라우저를 통해 로그인하면 됩니다.