Mariana Google MCP
Provides email management capabilities including searching messages, reading full content, listing labels, creating drafts, and soft-deleting via labels, with safety-first defaults that prevent sending emails or permanent deletion.
Enables calendar event management including listing, searching, creating, and updating events with availability checking, featuring safety constraints that prevent automatic invite notifications and use title prefixing for soft-deletion instead of permanent removal.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mariana Google MCPdraft an email to john about tomorrow's meeting"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mariana-google-mcp
A custom MCP (Model Context Protocol) server that gives Claude Code access to Gmail, Google Calendar, and Google Contacts — with safety-first defaults.
Design Philosophy
This server is built for an operator who wants AI to help manage their Google workspace without risk of accidental damage:
No sending email. You can draft, but sending requires manual action in Gmail.
No deleting anything. Gmail uses a "To Be Deleted" label (soft-delete). Calendar prepends "DELETE - " to event titles. You review and confirm in the Google UI.
Every mutation is logged. An append-only JSONL action log records every write operation with timestamps, tool name, account, and summary.
Multi-account support. Manage personal and work accounts with named aliases.
Setup
1. Google Cloud Project
Go to Google Cloud Console
Create a new project (or use an existing one)
Enable these APIs:
Gmail API
Google Calendar API
People API (for Contacts)
Create OAuth 2.0 credentials:
Application type: Desktop app
Download the client ID and client secret
2. Install and Build
git clone https://github.com/marianasmall/mariana-google-mcp.git
cd mariana-google-mcp
npm install
npm run build3. Add to Claude Code
Add this to your ~/.claude.json under mcpServers:
{
"mcpServers": {
"mariana-google-mcp": {
"type": "stdio",
"command": "node",
"args": ["/path/to/mariana-google-mcp/dist/index.js"],
"env": {
"GOOGLE_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
"GOOGLE_CLIENT_SECRET": "your-client-secret"
}
}
}
}Replace /path/to/ with the actual path to your clone, and fill in your OAuth credentials.
4. Authenticate
After restarting Claude Code, run the google_auth tool. It will open a browser window for OAuth consent. Once authorized, your token is stored locally and refreshed automatically.
Available Tools (15)
Authentication & Status
Tool | Description |
| Authenticate a Google account via OAuth browser flow |
| Check connection health for all configured accounts |
Gmail (5 tools)
Tool | Description |
| Search messages using Gmail query syntax |
| Read a specific message by ID (full content) |
| List all Gmail labels/folders |
| Create a draft email (does NOT send) |
| Soft-delete: move messages to a "To Be Deleted" label |
Calendar (6 tools)
Tool | Description |
| List upcoming calendar events |
| Search events by keyword |
| Get full details of a specific event |
| Create an event (does NOT send invites by default) |
| Modify an existing event (does NOT notify attendees by default) |
| Soft-delete: prepend "DELETE - " to event title |
| Check free/busy status for a date range |
Contacts (2 tools)
Tool | Description |
| Search contacts by name, email, or phone |
| List contacts, optionally filtered by group |
Multi-Account Support
You can authenticate multiple Google accounts with friendly names:
google_auth account_name: "primary"
google_auth account_name: "newsletters"
google_auth account_name: "work"Most tools accept an optional account parameter. If omitted, they use the default account. Use google_status to see all configured accounts and their health.
Configuration Files
All configuration is stored in ~/.config/mariana-google-mcp/:
File | Purpose |
| Account registry (names, email hashes, defaults) |
| OAuth tokens per account (auto-refreshed) |
| Append-only log of all mutations |
Tokens are stored by email hash, not plaintext email, for a layer of indirection.
Action Log
Every write operation (drafts, calendar creates/updates, soft-deletes) is logged to ~/.config/mariana-google-mcp/actions.jsonl in this format:
{"timestamp":"2026-04-03T10:30:00.000Z","tool":"gmail_draft","account":"primary","summary":"Draft created: subject='Meeting follow-up'"}The log is append-only and never modified by the server. Review it anytime to audit what Claude has done.
Fork and Use
To use this with your own Google account:
Fork this repo
Create your own Google Cloud project and OAuth credentials (see Setup above)
Build and point your Claude Code config at your fork's
dist/index.jsRun
google_authto authenticate
No code changes needed — all account-specific data lives in config files and environment variables.
Tech Stack
TypeScript
@modelcontextprotocol/sdk— MCP protocol implementationgoogleapis— Google API clientgoogle-auth-library— OAuth2 token managementzod— Input validation
License
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/marianasmall/mariana-google-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server