Gmail
liveSaaSProductivityRead, search, send, and label Gmail messages in the authenticated Google account via OAuth.
Tools
gmail_list_messagesList messages in your inbox with optional filtering by label or read status. Returns message IDs, thread IDs, and preview text. Use gmail_search for complex queries like date ranges or attachments.
No parameters required.
Try it
gmail_get_messageFetch full email details by message ID. Returns headers, subject, body text, sender, recipients, attachments, and applied labels.
No parameters required.
Try it
gmail_searchSearch emails using Gmail query syntax (e.g., 'from:[email protected]', 'subject:invoice', 'has:attachment', 'after:2024/01/01', 'is:unread'). Returns matching message IDs.
No parameters required.
Try it
gmail_sendSend an email with recipient, subject, and body text. Optionally add CC, BCC, reply-to address, and file attachments.
No parameters required.
Try it
gmail_list_labelsGet all your labels including system folders (INBOX, SENT, TRASH, DRAFTS) and custom labels. Returns label names and IDs for filtering or organizing.
No parameters required.
Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/gmail/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/gmail/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"gmail_list_messages","arguments":{}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("gmail_list_messages", {});// Or ask in plain English:
const answer = await px.ask("read, search, send, and label gmail messages in the authenticated google account via oauth");