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)
Klavis AI
Open Source MCP Infra. Hosted MCP servers and MCP clients on Slack and Discord.
Work90210/APIFold
Turn any REST API into a hosted MCP server, with ready-made public servers for GitHub, Stripe, Slack, OpenAI, Notion and more.
by Work90210arikusi/deepseek-mcp-server
DeepSeek AI chat and reasoning with multi-turn sessions, function calling, thinking mode and cost tracking.
by arikusihashgraph-online/hashnet-mcp-js
Discover, register and chat with AI agents on the Hashgraph network via the Registry Broker.
by hashgraph-onlineprofullstack/mcp-server
Developer utilities: SEO optimization, document conversion, domain lookup, email validation, QR codes, weather data, social media posting and security scanning.
by profullstackWayStation-ai/mcp
Connect MCP hosts to apps such as Notion, Slack, Monday and Airtable.
by waystation-aiCompare AVA with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All communication MCPs
