From gmail-mcp
Secure Gmail access via IMAP/SMTP with 1Password credential storage. Supports listing, reading, searching, sending, and replying to emails with proper threading and attachments.
npx claudepluginhub ClementWalter/rookie-marketplace --plugin gmail-mcpThis skill uses the workspace's default tool permissions.
Secure Gmail access via IMAP/SMTP with 1Password credential storage. Supports listing, reading, searching, sending, and replying to emails with proper threading and attachments.
Enforces C++ Core Guidelines for writing, reviewing, and refactoring modern C++ code (C++17+), promoting RAII, immutability, type safety, and idiomatic practices.
Provides patterns for shared UI in Compose Multiplatform across Android, iOS, Desktop, and Web: state management with ViewModels/StateFlow, navigation, theming, and performance.
Implements Playwright E2E testing patterns: Page Object Model, test organization, configuration, reporters, artifacts, and CI/CD integration for stable suites.
Secure Gmail access via IMAP/SMTP with 1Password credential storage. Supports listing, reading, searching, sending, and replying to emails with proper threading and attachments.
Create a 1Password item with:
user@gmail.com)The plugin provides these MCP tools:
List recent emails from an account.
account: "Gmail Work Claude" # 1Password item name
folder: "INBOX" # Optional, default: INBOX
limit: 10 # Optional, default: 10
Read full email content including threading headers.
account: "Gmail Work Claude"
email_id: "46" # From list_emails
folder: "INBOX" # Optional
Send a new email with optional attachments.
account: "Gmail Work Claude"
to: "recipient@example.com"
subject: "Hello"
body: "Email content here"
cc: "cc@example.com" # Optional
bcc: "bcc@example.com" # Optional
attachments: ["/path/to/file.pdf"] # Optional
Reply to an email, maintaining the thread.
account: "Gmail Work Claude"
email_id: "46" # Email to reply to
body: "Thanks for your message!"
attachments: ["/path/to/doc.pdf"] # Optional
folder: "INBOX" # Optional
Search using IMAP syntax.
account: "Gmail Work Claude"
query: "FROM sender@example.com" # or "SUBJECT hello", "UNSEEN", etc.
folder: "INBOX" # Optional
limit: 10 # Optional
For CLI usage without MCP, use scripts in scripts/:
./scripts/gmail_list.py "Gmail Work Claude" --limit 20
./scripts/gmail_list.py "Gmail Work Claude" --json # JSON output
./scripts/gmail_read.py "Gmail Work Claude" "46"
./scripts/gmail_read.py "Gmail Work Claude" "46" --json
# Dry run (preview without sending)
./scripts/gmail_reply.py "Gmail Work Claude" "46" \
--body "Thanks for your email." \
--attachment ~/document.pdf \
--dry-run
# Send reply
./scripts/gmail_reply.py "Gmail Work Claude" "46" \
--body "Thanks for your email." \
--attachment ~/document.pdf
When using reply_email, the tool automatically:
Message-ID and References headersIn-Reply-To to the original Message-IDReferences header chainRE: prefix to subject if not presentThis ensures replies appear in the same thread in all email clients.
| Query | Description |
|---|---|
ALL | All messages |
UNSEEN | Unread messages |
FROM "john" | From sender containing "john" |
SUBJECT "meeting" | Subject containing "meeting" |
SINCE "01-Jan-2024" | Messages since date |
BEFORE "01-Jan-2024" | Messages before date |
BODY "keyword" | Body containing "keyword" |
Combine with parentheses: (FROM "john" SUBJECT "meeting")
Verify the exact item name in 1Password matches what you're using.
Enable IMAP in Gmail Settings → Forwarding and POP/IMAP → Enable IMAP