Secure Gmail access via IMAP/SMTP with 1Password credential storage. Supports listing, reading, searching, sending, and replying to emails with proper threading and attachments.
Secure Gmail access via IMAP/SMTP using 1Password-stored credentials. Use when reading, searching, sending, or replying to emails with attachments and proper threading.
/plugin marketplace add ClementWalter/rookie-marketplace/plugin install gmail-mcp@rookie-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
scripts/gmail_list.pyscripts/gmail_read.pyscripts/gmail_reply.pySecure 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
Configure Static Application Security Testing (SAST) tools for automated vulnerability detection in application code. Use when setting up security scanning, implementing DevSecOps practices, or automating code vulnerability detection.