Google MCP Server

Google MCP Server

A server enabling appending text to Google Docs and creating Gmail drafts via OAuth 2.0 with manual approval.

Category
Visit Server

README

Google MCP Server

A Python-based FastAPI server that provides tools for appending text to Google Docs and creating Gmail drafts. It uses Google OAuth 2.0 for authentication and includes a manual approval step in the terminal before performing actions.

Prerequisites

  1. Python 3.8+
  2. A Google Cloud Platform (GCP) project.

Setup Instructions

1. Configure Google Cloud

  1. Go to the Google Cloud Console.
  2. Create a new project (or select an existing one).
  3. Navigate to APIs & Services > Library.
  4. Search for and enable the Google Docs API.
  5. Search for and enable the Gmail API.
  6. Navigate to APIs & Services > OAuth consent screen.
    • Choose "External" (or "Internal" if you have a Google Workspace).
    • Fill out the required App information.
    • Add the following scopes:
      • https://www.googleapis.com/auth/documents
      • https://www.googleapis.com/auth/gmail.compose
    • Add yourself as a Test User.
  7. Navigate to APIs & Services > Credentials.
  8. Click Create Credentials > OAuth client ID.
    • Application type: Desktop app.
    • Name: Google MCP Server (or whatever you prefer).
  9. Click Create, then click Download JSON.
  10. Rename the downloaded file to credentials.json and place it in the root directory of this project (google-mcp-server/).

2. Install Dependencies

pip install -r requirements.txt

3. Run the Server

uvicorn server:app --reload

On the first run, when an endpoint is hit, a browser window will open asking you to authenticate with your Google account. After successful login, a token.json file will be generated locally. Subsequent runs will use this token directly.

Usage

The server runs on http://127.0.0.1:8000.

Endpoints

POST /append_to_doc

Appends content to a Google Doc. Payload:

{
  "doc_id": "YOUR_GOOGLE_DOC_ID",
  "content": "Text to append"
}

POST /create_email_draft

Creates a draft in Gmail. Payload:

{
  "to": "recipient@example.com",
  "subject": "Hello",
  "body": "This is a draft email body."
}

Manual Approval

Whenever an endpoint is invoked, the terminal running the server will prompt:

Action: append_to_doc
Payload: {'doc_id': '...', 'content': '...'}
Approve? (y/n):

You must type y to allow the action to proceed.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured