AVA
FreeNot checkedEnables AI agents to create Gmail drafts safely using the Gmail API, without sending emails.
About
Enables AI agents to create Gmail drafts safely using the Gmail API, without sending emails.
README
This project implements a minimal Model Context Protocol (MCP) server named AVA, exposing a single tool: write_email_draft.
The tool creates Gmail drafts from structured input, allowing AI agents like Claude to generate email content safely — without sending anything. This enables reviewable automation for follow-ups, summaries, or outreach.
It integrates with the Gmail API using OAuth2 authentication, ensuring secure access and user control. The server responds with metadata including the draft ID, making it ideal for real-world AI workflows.
Architecture Overview
Claude AI → MCP Tool Call → AVA Server → Gmail API → Draft Created
┌────────────────────────────┐
│ Claude AI │
│ (MCP client) │
└────────────┬───────────────┘
│ Tool Call: write_email_draft
▼
┌────────────────────────────┐
│ MCP Server (AVA) │
│ mcp-server-draft.py │
│ └── gmail.py │
│ └── .env config │
└────────────┬───────────────┘
│ Uses credentials from .env
▼
┌────────────────────────────┐
│ Gmail API (OAuth2 Auth) │
│ via Google Cloud Console │
│ Project: ava-mcp-475222 │
└────────────┬───────────────┘
│ Creates draft
▼
┌────────────────────────────┐
│ Gmail Draft Created │
│ │
└────────────────────────────┘
- Claude AI: Sends structured tool calls via MCP
- AVA Server: Receives calls, loads credentials from
.env, and handles logic viagmail.py - Google Cloud Console: Hosts OAuth2 credentials (
credentials.json) - Gmail API: Creates draft and returns metadata
Features
- MCP-compliant server using
FastMCP - Gmail API integration via OAuth2
- Secure credential handling via
.env - Compatible with Claude and MCP Inspector
Project Structure
mcp-email-draft/
├── .env # Gmail credentials and sender email
├── mcp-server-draft.py # MCP server exposing the tool
├── gmail.py # Gmail API logic
├── pyproject.toml # Project metadata and dependencies
├── credentials.json # OAuth2 client credentials
├── token.json # Gmail API token
├── README.md # Documentation
Setup Instructions
1. Create project folder
cd C:/Users/carll/Desktop
mkdir mcp-email-draft
cd mcp-email-draft
2. Install uv
curl -Ls https://astral.sh/uv/install.sh | sh
3. Install dependencies
uv pip install -r pyproject.toml
Or manually:
uv pip install google-api-python-client google-auth-oauthlib python-dotenv mcp[cli]
Gmail API Setup
- Go to Google Cloud Console
- Create OAuth credentials for a desktop app
- Download
credentials.jsonand place it in the project root - Run the server once to trigger OAuth flow and generate
token.json
.env File
[email protected]
GOOGLE_CREDENTIALS_PATH=C:/Users/carll/Desktop/mcp-email-draft/credentials.json
GOOGLE_TOKEN_PATH=C:/Users/carll/Desktop/mcp-email-draft/token.json
Claude Integration
Go to Claude Connectors and use:
{
"mcpServers": {
"AVA": {
"command": "C:/Users/carll/.local/bin/uv.exe",
"args": [
"--directory",
"C:/Users/carll/Desktop/mcp-email-draft",
"run",
"mcp-server-draft.py"
]
}
}
}
Usage Example
{
"recipient_email": "[email protected]",
"subject": "Follow-up on our meeting",
"body": "Hi Carllos, thank you again for your time today. Looking forward to the next steps!"
}
Claude will return the Gmail draft ID and metadata. Next: Using Discord
License
This project is for demonstration and evaluation purposes only.
No affiliation with Google or Anthropic.
Installing AVA
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/cwattsnogueira/mcp-server-draftFAQ
Is AVA MCP free?
Yes, AVA MCP is free — one-click install via Unyly at no cost.
Does AVA need an API key?
No, AVA runs without API keys or environment variables.
Is AVA hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install AVA in Claude Desktop, Claude Code or Cursor?
Open AVA on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Gmail
Read, send and search emails from Claude
by GoogleSlack
Send, search and summarize Slack messages
by SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Compare AVA with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All communication MCPs
