Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Google Docs + Gmail Server

FreeNot checked

A lightweight MCP-style server integrating Google Docs and Gmail, enabling AI to append structured content to documents and create email drafts with human-in-th

GitHubEmbed

About

A lightweight MCP-style server integrating Google Docs and Gmail, enabling AI to append structured content to documents and create email drafts with human-in-the-loop approval.

README

A lightweight MCP-style server that integrates with Google Docs and Gmail.

This project demonstrates how to build structured AI tool interfaces with approval gating, inspired by the Model Context Protocol (MCP).


✨ Features

  • 📄 Append structured content to Google Docs
  • 📧 Create Gmail drafts
  • 🔐 OAuth-based Google authentication
  • 🧠 MCP-style tool interface
  • ✅ Human-in-the-loop approval before execution
  • 🧩 Modular and extensible design

How to Use in Your Project

  1. Run the MCP server: uvicorn server:app --reload

  2. Call tools via API: POST /append_to_doc POST /create_email_draft

  3. Integrate with your AI workflow:

    • Generate content using LLM
    • Send output to these endpoints

📁 Project Structure

google-mcp-server/
│── server.py
│── auth.py
│── docs_tool.py
│── gmail_tool.py
│── requirements.txt
│── credentials.json   (not committed)
│── token.json         (not committed)
│── README.md

⚙️ Setup

1. Clone the repository

git clone <your-repo-url>
cd google-mcp-server

2. Create virtual environment

python3 -m venv venv
source venv/bin/activate

3. Install dependencies

pip install -r requirements.txt

4. 🔑 Google API Setup

  1. Go to Google Cloud Console

  2. Create a new project

  3. Enable:

    • Google Docs API
    • Gmail API
  4. Configure OAuth Consent Screen

  5. Create OAuth Credentials (Desktop App)

  6. Download credentials.json

  7. Place it in project root


5. 🔐 Run OAuth

python3 auth.py
  • Opens browser for login
  • Generates token.json

6. ▶️ Run Server

uvicorn server:app --reload

Open:

http://127.0.0.1:8000/docs

🧪 How to Test

Append to Google Doc

Endpoint: POST /append_to_doc

Example:

{
  "doc_id": "YOUR_DOC_ID",
  "content": "Hello from MCP 🚀"
}

Create Email Draft

Endpoint: POST /create_email_draft

Example:

{
  "to": "[email protected]",
  "subject": "Test Draft",
  "body": "This is a test email"
}

🔄 Workflow

Request → Approval → Tool Execution → Response
  • Every action requires manual approval
  • Ensures safe and controlled execution

⚠️ Important Notes

Do NOT commit:

  • credentials.json
  • token.json

Approval is CLI-based (terminal input) Designed for local development


⚠️ Approval Flow

Every action requires manual approval in terminal:

ACTION: append_to_doc
PAYLOAD: {...}
Approve? (y/n):

Type:

y

🧠 MCP Design

This project demonstrates:

  • Structured tool calls
  • Separation of generation and execution
  • Human approval before tool execution

❗ Notes

  • No emails are sent automatically (draft only)
  • Google Doc must have edit access
  • Token is stored locally

📄 License

Apache License

from github.com/kajolchawla98/MCP

Installing Google Docs + Gmail Server

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/kajolchawla98/MCP

FAQ

Is Google Docs + Gmail Server MCP free?

Yes, Google Docs + Gmail Server MCP is free — one-click install via Unyly at no cost.

Does Google Docs + Gmail Server need an API key?

No, Google Docs + Gmail Server runs without API keys or environment variables.

Is Google Docs + Gmail Server hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Google Docs + Gmail Server in Claude Desktop, Claude Code or Cursor?

Open Google Docs + Gmail Server 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 Google Docs + Gmail Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All communication MCPs