MCP server for the Gmail API — search, read and send email, manage drafts, labels and the trash. For Claude, Cursor, Codex and other AI clients.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add gmail-a1-x-tech --env GOOGLE_GMAIL_CLIENT_SECRET='<GOOGLE_GMAIL_CLIENT_SECRET>' --env GOOGLE_GMAIL_REFRESH_TOKEN='<GOOGLE_GMAIL_REFRESH_TOKEN>' --env GOOGLE_GMAIL_ACCESS_TOKEN='<GOOGLE_GMAIL_ACCESS_TOKEN>' -- npx -y mcp-google-gmail~/.codex/config.toml
[mcp_servers.gmail-a1-x-tech]
command = "npx"
args = ["-y", "mcp-google-gmail"]
env = { GOOGLE_GMAIL_CLIENT_SECRET = "<GOOGLE_GMAIL_CLIENT_SECRET>", GOOGLE_GMAIL_REFRESH_TOKEN = "<GOOGLE_GMAIL_REFRESH_TOKEN>", GOOGLE_GMAIL_ACCESS_TOKEN = "<GOOGLE_GMAIL_ACCESS_TOKEN>" }
# codex mcp add gmail-a1-x-tech --env GOOGLE_GMAIL_CLIENT_SECRET='<GOOGLE_GMAIL_CLIENT_SECRET>' --env GOOGLE_GMAIL_REFRESH_TOKEN='<GOOGLE_GMAIL_REFRESH_TOKEN>' --env GOOGLE_GMAIL_ACCESS_TOKEN='<GOOGLE_GMAIL_ACCESS_TOKEN>' -- npx -y mcp-google-gmail~/.cursor/mcp.json
{
"mcpServers": {
"gmail-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"mcp-google-gmail"
],
"env": {
"GOOGLE_GMAIL_CLIENT_SECRET": "<GOOGLE_GMAIL_CLIENT_SECRET>",
"GOOGLE_GMAIL_REFRESH_TOKEN": "<GOOGLE_GMAIL_REFRESH_TOKEN>",
"GOOGLE_GMAIL_ACCESS_TOKEN": "<GOOGLE_GMAIL_ACCESS_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"gmail-a1-x-tech": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-google-gmail"
],
"env": {
"GOOGLE_GMAIL_CLIENT_SECRET": "<GOOGLE_GMAIL_CLIENT_SECRET>",
"GOOGLE_GMAIL_REFRESH_TOKEN": "<GOOGLE_GMAIL_REFRESH_TOKEN>",
"GOOGLE_GMAIL_ACCESS_TOKEN": "<GOOGLE_GMAIL_ACCESS_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"gmail-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"mcp-google-gmail"
],
"env": {
"GOOGLE_GMAIL_CLIENT_SECRET": "<GOOGLE_GMAIL_CLIENT_SECRET>",
"GOOGLE_GMAIL_REFRESH_TOKEN": "<GOOGLE_GMAIL_REFRESH_TOKEN>",
"GOOGLE_GMAIL_ACCESS_TOKEN": "<GOOGLE_GMAIL_ACCESS_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"gmail-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"mcp-google-gmail"
],
"env": {
"GOOGLE_GMAIL_CLIENT_SECRET": "<GOOGLE_GMAIL_CLIENT_SECRET>",
"GOOGLE_GMAIL_REFRESH_TOKEN": "<GOOGLE_GMAIL_REFRESH_TOKEN>",
"GOOGLE_GMAIL_ACCESS_TOKEN": "<GOOGLE_GMAIL_ACCESS_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"gmail-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"mcp-google-gmail"
],
"env": {
"GOOGLE_GMAIL_CLIENT_SECRET": "<GOOGLE_GMAIL_CLIENT_SECRET>",
"GOOGLE_GMAIL_REFRESH_TOKEN": "<GOOGLE_GMAIL_REFRESH_TOKEN>",
"GOOGLE_GMAIL_ACCESS_TOKEN": "<GOOGLE_GMAIL_ACCESS_TOKEN>"
}
}
}
}Environment variables
GOOGLE_GMAIL_CLIENT_SECRETGOOGLE_GMAIL_REFRESH_TOKENGOOGLE_GMAIL_ACCESS_TOKEN
Replace the placeholders with your own credentials and keep them out of version control.