Command Palette

Search for a command to run...

UnylyUnyly
Browse all

AVA

FreeNot checked

Enables AI agents to create Gmail drafts safely using the Gmail API, without sending emails.

GitHubEmbed

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 via gmail.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

  1. Go to Google Cloud Console
  2. Create OAuth credentials for a desktop app
  3. Download credentials.json and place it in the project root
  4. 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.



from github.com/cwattsnogueira/mcp-server-draft

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-draft

FAQ

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

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