Lets an assistant read and send Gmail messages and manage Google Calendar events.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add google-workspace-server-epaproditus --env GOOGLE_CLIENT_ID='<GOOGLE_CLIENT_ID>' --env GOOGLE_CLIENT_SECRET='<GOOGLE_CLIENT_SECRET>' --env GOOGLE_REFRESH_TOKEN='<GOOGLE_REFRESH_TOKEN>' -- node get-refresh-token.js~/.codex/config.toml
[mcp_servers.google-workspace-server-epaproditus]
command = "node"
args = ["get-refresh-token.js"]
env = { GOOGLE_CLIENT_ID = "<GOOGLE_CLIENT_ID>", GOOGLE_CLIENT_SECRET = "<GOOGLE_CLIENT_SECRET>", GOOGLE_REFRESH_TOKEN = "<GOOGLE_REFRESH_TOKEN>" }
# codex mcp add google-workspace-server-epaproditus --env GOOGLE_CLIENT_ID='<GOOGLE_CLIENT_ID>' --env GOOGLE_CLIENT_SECRET='<GOOGLE_CLIENT_SECRET>' --env GOOGLE_REFRESH_TOKEN='<GOOGLE_REFRESH_TOKEN>' -- node get-refresh-token.js~/.cursor/mcp.json
{
"mcpServers": {
"google-workspace-server-epaproditus": {
"command": "node",
"args": [
"get-refresh-token.js"
],
"env": {
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>",
"GOOGLE_REFRESH_TOKEN": "<GOOGLE_REFRESH_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"google-workspace-server-epaproditus": {
"type": "stdio",
"command": "node",
"args": [
"get-refresh-token.js"
],
"env": {
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>",
"GOOGLE_REFRESH_TOKEN": "<GOOGLE_REFRESH_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"google-workspace-server-epaproditus": {
"command": "node",
"args": [
"get-refresh-token.js"
],
"env": {
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>",
"GOOGLE_REFRESH_TOKEN": "<GOOGLE_REFRESH_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"google-workspace-server-epaproditus": {
"command": "node",
"args": [
"get-refresh-token.js"
],
"env": {
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>",
"GOOGLE_REFRESH_TOKEN": "<GOOGLE_REFRESH_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"google-workspace-server-epaproditus": {
"command": "node",
"args": [
"get-refresh-token.js"
],
"env": {
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>",
"GOOGLE_REFRESH_TOKEN": "<GOOGLE_REFRESH_TOKEN>"
}
}
}
}Environment variables
GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRETGOOGLE_REFRESH_TOKEN
Replace the placeholders with your own credentials and keep them out of version control.