Connects to Gmail via OAuth2 for personal accounts or service accounts for Google Workspace domains. Built by PulseMCP, a team focused on production-grade MCP servers with clear design principles around minimizing tool chain steps and token consumption. The dual authentication approach means you can use it for personal email workflows or integrate it into business applications that need programmatic Gmail access across a Workspace organization. If you're building agents that need to read, send, or manage email, this gives you the authentication flexibility to work in either context without switching servers.
Public tool metadata for what this MCP can expose to an agent.
GMAIL_ADD_LABEL_TO_EMAILAdds and/or removes specified gmail labels for a message; ensure `message id` and all `label ids` are valid (use 'listlabels' for custom label ids).4 paramsAdds and/or removes specified gmail labels for a message; ensure `message id` and all `label ids` are valid (use 'listlabels' for custom label ids).
user_idstringmessage_idstringadd_label_idsarrayremove_label_idsarrayGMAIL_CREATE_EMAIL_DRAFTCreates a gmail email draft, supporting to/cc/bcc, subject, plain/html body (ensure `is html=true` for html), attachments, and threading.10 paramsCreates a gmail email draft, supporting to/cc/bcc, subject, plain/html body (ensure `is html=true` for html), attachments, and threading.
ccarraybccarraybodystringis_htmlbooleansubjectstringuser_idstringthread_idstringattachmentobjectrecipient_emailstringextra_recipientsarrayGMAIL_CREATE_LABELCreates a new label with a unique name in the specified user's gmail account.6 paramsCreates a new label with a unique name in the specified user's gmail account.
user_idstringlabel_namestringtext_colorstringbackground_colorstringlabel_list_visibilitystringmessage_list_visibilitystringGMAIL_DELETE_DRAFTPermanently deletes a specific gmail draft using its id; ensure the draft exists and the user has necessary permissions for the given `user id`.2 paramsPermanently deletes a specific gmail draft using its id; ensure the draft exists and the user has necessary permissions for the given `user id`.
user_idstringdraft_idstringGMAIL_DELETE_MESSAGEPermanently deletes a specific email message by its id from a gmail mailbox; for `user id`, use 'me' for the authenticated user or an email address to which the authenticated user has delegated access.2 paramsPermanently deletes a specific email message by its id from a gmail mailbox; for `user id`, use 'me' for the authenticated user or an email address to which the authenticated user has delegated access.
user_idstringmessage_idstringGMAIL_FETCH_EMAILSFetches a list of email messages from a gmail account, supporting filtering, pagination, and optional full content retrieval.9 paramsFetches a list of email messages from a gmail account, supporting filtering, pagination, and optional full content retrieval.
querystringuser_idstringverbosebooleanids_onlybooleanlabel_idsarraypage_tokenstringmax_resultsintegerinclude_payloadbooleaninclude_spam_trashbooleanGMAIL_FETCH_MESSAGE_BY_MESSAGE_IDFetches a specific email message by its id, provided the `message id` exists and is accessible to the authenticated `user id`.3 paramsFetches a specific email message by its id, provided the `message id` exists and is accessible to the authenticated `user id`.
formatstringuser_idstringmessage_idstringGMAIL_FETCH_MESSAGE_BY_THREAD_IDRetrieves messages from a gmail thread using its `thread id`, where the thread must be accessible by the specified `user id`.3 paramsRetrieves messages from a gmail thread using its `thread id`, where the thread must be accessible by the specified `user id`.
user_idstringthread_idstringpage_tokenstringGMAIL_GET_ATTACHMENTRetrieves a specific attachment by id from a message in a user's gmail mailbox, requiring valid message and attachment ids.4 paramsRetrieves a specific attachment by id from a message in a user's gmail mailbox, requiring valid message and attachment ids.
user_idstringfile_namestringmessage_idstringattachment_idstringGMAIL_GET_CONTACTSFetches contacts (connections) for the authenticated google account, allowing selection of specific data fields and pagination.4 paramsFetches contacts (connections) for the authenticated google account, allowing selection of specific data fields and pagination.
page_tokenstringperson_fieldsstringresource_namestringinclude_other_contactsbooleanGMAIL_GET_PEOPLERetrieves either a specific person's details (using `resource name`) or lists 'other contacts' (if `other contacts` is true), with `person fields` specifying the data to return.6 paramsRetrieves either a specific person's details (using `resource name`) or lists 'other contacts' (if `other contacts` is true), with `person fields` specifying the data to return.
page_sizeintegerpage_tokenstringsync_tokenstringperson_fieldsstringresource_namestringother_contactsbooleanGMAIL_GET_PROFILERetrieves key gmail profile information (email address, message/thread totals, history id) for a user.1 paramsRetrieves key gmail profile information (email address, message/thread totals, history id) for a user.
user_idstringGMAIL_LIST_DRAFTSRetrieves a paginated list of email drafts from a user's gmail account. use verbose=true to get full draft details including subject, body, sender, and timestamp.4 paramsRetrieves a paginated list of email drafts from a user's gmail account. use verbose=true to get full draft details including subject, body, sender, and timestamp.
user_idstringverbosebooleanpage_tokenstringmax_resultsintegerGMAIL_LIST_LABELSRetrieves a list of all system and user-created labels for the specified gmail account.1 paramsRetrieves a list of all system and user-created labels for the specified gmail account.
user_idstringGMAIL_LIST_THREADSRetrieves a list of email threads from a gmail account, identified by `user id` (email address or 'me'), supporting filtering and pagination.5 paramsRetrieves a list of email threads from a gmail account, identified by `user id` (email address or 'me'), supporting filtering and pagination.
querystringuser_idstringverbosebooleanpage_tokenstringmax_resultsintegerGMAIL_MODIFY_THREAD_LABELSAdds or removes specified existing label ids from a gmail thread, affecting all its messages; ensure the thread id is valid.4 paramsAdds or removes specified existing label ids from a gmail thread, affecting all its messages; ensure the thread id is valid.
user_idstringthread_idstringadd_label_idsarrayremove_label_idsarrayGMAIL_MOVE_TO_TRASHMoves an existing, non-deleted email message to the trash for the specified user.2 paramsMoves an existing, non-deleted email message to the trash for the specified user.
user_idstringmessage_idstringGMAIL_PATCH_LABELPatches the specified label.6 paramsPatches the specified label.
idstringnamestringcolorobjectuserIdstringlabelListVisibilitystringmessageListVisibilitystringGMAIL_REMOVE_LABELPermanently deletes a specific, existing user-created gmail label by its id for a user; cannot delete system labels.2 paramsPermanently deletes a specific, existing user-created gmail label by its id for a user; cannot delete system labels.
user_idstringlabel_idstringGMAIL_REPLY_TO_THREADSends a reply within a specific gmail thread using the original thread's subject, requiring a valid `thread id` and correctly formatted email addresses. supports attachments via the `attachment` parameter with valid `s3key`, `mimetype`, and `name`.9 paramsSends a reply within a specific gmail thread using the original thread's subject, requiring a valid `thread id` and correctly formatted email addresses. supports attachments via the `attachment` parameter with valid `s3key`, `mimetype`, and `name`.
ccarraybccarrayis_htmlbooleanuser_idstringthread_idstringattachmentobjectmessage_bodystringrecipient_emailstringextra_recipientsarrayWe build reliable servers thoughtfully designed for MCP Client-powered workflows.
You can have confidence that any Pulse-branded MCP server was built with these north stars in mind:
These are PulseMCP-branded servers that we intend to maintain indefinitely as our own offerings.
The MCP Registry column controls whether the server is published to the official MCP Registry (com.pulsemcp/<server-name>) by the publish-mcp-registry.yml workflow.
| Name | Description | Local Status | Remote Status | MCP Registry | Target Audience | Notes |
|---|---|---|---|---|---|---|
| pulse-fetch | Pull internet resources into context | 0.3.3 | Not Started | Yes | Agent-building frameworks (e.g. fast-agent, Mastra, PydanticAI) and MCP clients without built-in fetch | Supports Firecrawl and BrightData integrations; HTML noise stripping; Resource caching; LLM extraction |
| pulse-subregistry | Browse the PulseMCP Sub-Registry | 0.0.8 | Not Started | Yes | Developers discovering MCP servers from the PulseMCP Sub-Registry | Search and pagination; Version selection; Integrates with PulseMCP Sub-Registry API |
| image-diff | Programmatic image comparison | 0.1.3 | Not Started | Yes | Developers comparing design mocks against UI implementations | Pixel-level diff with clustering; Heatmap visualization; Anti-aliasing detection; Auto-alignment for different-sized images |
| svg-tracer | Bitmap-to-SVG vector tracing | 0.1.3 | Not Started | Yes | Developers converting bitmap images to SVG vector graphics | Supports PNG, JPG, WebP, BMP, GIF, TIFF; Alpha channel preprocessing; Target size scaling; Customizable tracing parameters |
These are high-quality servers that we may discontinue if the official provider creates and maintains a better MCP server.
| Name | Description | Local Status | Remote Status | MCP Registry | Target Audience | Notes |
|---|---|---|---|---|---|---|
| agent-orchestrator | Agent parallelization system for agentic coding and ops | 0.8.8 | Not Started | No | PulseMCP team for agent orchestration | Requires AGENT_ORCHESTRATOR_BASE_URL and API_KEY; Internal use only |
| appsignal | AppSignal application performance monitoring and error tracking | 0.5.4 | Not Started | Yes | Developers using AppSignal for application monitoring | Requires AppSignal API key; NOT officially affiliated with AppSignal |
| claude-code-agent | Claude Code Agent MCP Server for managing Claude Code CLI sessions | 0.0.8 | Not Started | No | Developers building AI-powered automation workflows | Requires Claude Code CLI installed locally |
| dynamodb | AWS DynamoDB table and item operations with fine-grained access | 0.2.7 | Not Started | Yes | Developers using AWS DynamoDB | Requires AWS credentials; Fine-grained tool access control |
| remote-filesystem | Remote filesystem operations on cloud storage (GCS) | 0.1.5 | Not Started | Yes | Developers needing cloud storage integration | Requires GCS credentials; Full CRUD operations; Published as remote-filesystem-mcp-server |
| s3 | AWS S3 bucket and object management | 0.0.5 | Not Started | Yes | Developers needing S3 storage integration | Requires AWS credentials; Fine-grained tool access control; Published as s3-aws-mcp-server |
| fetchpet | Fetch Pet insurance claims management | 0.1.8 | Not Started | Yes | Pet owners with Fetch Pet insurance | Requires Fetch Pet username and password; NOT officially affiliated with Fetch Pet |
| fly-io | Fly.io cloud platform app and machine management | 0.1.7 | Not Started | Yes | Developers deploying applications to Fly.io | Requires FLY_IO_API_TOKEN; NOT officially affiliated with Fly.io |
| gcs | Google Cloud Storage bucket and object management | 0.1.14 | Not Started | Yes | Developers needing GCS storage integration | Requires GCS credentials; Fine-grained tool access control; Published as gcs-google-mcp-server |
| google-flights | Google Flights search, date grids, and airport lookup | 0.2.5 | Not Started | Yes | Users searching for flights via Google Flights | No API key required; Uses protobuf-encoded HTTP requests; Published as google-flights-mcp-server; NOT officially affiliated with Google |
| gmail | Gmail integration for email access | 0.4.11 | Not Started | Yes | Gmail users (personal or Google Workspace) | Supports OAuth2 (personal) and service account (Workspace); NOT officially affiliated with Google |
| google-calendar | Google Calendar Workspace integration for calendar management | 0.0.13 | Not Started | Yes | Google Workspace organizations needing Calendar integration | Requires service account with domain-wide delegation; NOT officially affiliated with Google |
| good-eggs | Good Eggs grocery shopping automation | 0.1.10 | Not Started | Yes | Users of Good Eggs grocery delivery service | Requires Good Eggs username and password; NOT officially affiliated with Good Eggs |
| onepassword | 1Password credential and secrets management via CLI | 0.5.4 | Not Started | Yes | Developers using 1Password for secrets management | Requires 1Password CLI and service account token; NOT officially affiliated with 1Password |
| hatchbox | Hatchbox Rails hosting platform management | 0.1.3 | Not Started | Yes | Rails developers using Hatchbox for hosting | Requires Hatchbox API key and deploy key |
| langfuse | Readonly Langfuse LLM trace and observation analysis | 0.1.3 | Not Started | Yes | Developers using Langfuse for LLM observability | Requires Langfuse API keys; Published as langfuse-observability-mcp-server; NOT officially affiliated with Langfuse |
| monarch-money | Monarch Money personal finance management (read + mutate) | 0.0.9 | Not Started | Yes | Monarch Money users tracking accounts, transactions, net worth, and budgets | Requires Monarch credentials; tool-group filtering for write protection; NOT officially affiliated with Monarch Money |
| playwright-stealth | Browser automation with Playwright and optional stealth mode | 0.2.3 | Not Started | Yes | Developers needing browser automation with anti-bot bypass | Optional stealth mode via STEALTH_MODE env var |
| pointsyeah | Award flight search across 20+ airline loyalty programs | 0.2.9 | Not Started | Yes | Travelers optimizing credit card points for flights | Optional PointsYeah refresh token (can be set at runtime); NOT officially affiliated with PointsYeah |
| proctor | Proctor exam runner for testing MCP servers | 0.1.9 | Not Started | Yes | PulseMCP team for MCP server testing | Requires PROCTOR_API_KEY; Internal use only |
| pulsemcp-cms-admin | Internal API for managing PulseMCP newsletter content | 0.10.4 | Not Started | No | PulseMCP team for content management | Requires PULSEMCP_ADMIN_API_KEY; Internal use only |
| serpapi-hotels | Google Hotels search, details, and reviews via SerpAPI | 0.0.4 | Not Started | Yes | Users searching for hotels via Google Hotels | Requires SerpAPI key; NOT officially affiliated with SerpAPI or Google |
| slack | Slack workspace messaging and collaboration integration | 0.0.7 | Not Started | Yes | Teams using Slack for team communication | Requires Slack Bot Token; NOT officially affiliated with Slack |
| ssh | SSH remote server management with agent authentication | 0.1.5 | Not Started | Yes | Developers needing SSH access to remote servers | Supports SSH agent for passphrase-protected keys |
| twist | Twist team messaging and collaboration platform integration | 0.2.3 | Not Started | Yes | Teams using Twist for asynchronous communication | Requires Twist API bearer token and workspace ID |
| vercel | Vercel deployment management and runtime log retrieval | 0.1.3 | Not Started | Yes | Developers using Vercel for deployment and hosting | Requires Vercel API token; Published as vercel-platform-mcp-server; NOT officially affiliated with Vercel |
| google-docs | MCP server for Google Docs integration with OAuth2 and service account support | 0.1.4 | Not Started | Yes | TBD | TBD |
See CONTRIBUTING.md.
GMAIL_OAUTH_CLIENT_IDsecretOAuth2 client ID from Google Cloud Console (for personal Gmail accounts).
GMAIL_OAUTH_CLIENT_SECRETsecretOAuth2 client secret from Google Cloud Console.
GMAIL_OAUTH_REFRESH_TOKENsecretRefresh token from the OAuth2 setup script.
GMAIL_SERVICE_ACCOUNT_CLIENT_EMAILService account email address (for Google Workspace).
GMAIL_SERVICE_ACCOUNT_PRIVATE_KEYsecretService account private key in PEM format (for Google Workspace).
GMAIL_IMPERSONATE_EMAILEmail address to impersonate (required for service account mode).
GMAIL_ENABLED_TOOLGROUPSComma-separated list of tool groups to enable (readonly, readwrite, readwrite_external).
io.github.mindstone/mcp-server-microsoft-teams
com.mintmcp/outlook-email
helbertparanhos/resend-email-mcp
marlinjai/email-mcp
io.github.mindstone/mcp-server-email-imap
io.github.osamahassouna/email-playbook-mcp