Skip to main content
Glama
yv12

Google MCP Server

by yv12

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.

Related MCP server: Google-MCP-Server

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.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yv12/MCP--Server-Yash'

If you have feedback or need assistance with the MCP directory API, please join our Discord server