Google MCP Agent
A unified FastMCP-powered agent that connects Gmail, Google Drive, and Google Classroom for intelligent email and file automation.
Ask AI about Google MCP Agent
Powered by Claude Β· Grounded in docs
I know everything about Google MCP Agent. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
π Google MCP Agent
A unified FastMCP-powered agent that connects Gmail, Google Drive, and Google Classroom with LLM-ready tools for automation, parsing, and intelligent retrieval.
π What This Repo Offers
- β Read and manage Gmail (inbox, unread, spam)
- β Read file content from Google Drive (Docs, PDFs, TXT)
- β List Google Classroom courses
- β LLM-compatible tools exposed via FastMCP
- β
Easily deployable with
uvin an agentic RAG pipeline
βοΈ Setup Guide
Before running the project, set up your Google Cloud project for OAuth.
π 1. Enable APIs in Google Cloud Console
- Go to GCP Console
- Navigate to "APIs & Services" > "OAuth consent screen"
- Choose "External" > Fill in app name and support email
- Under Scopes, you don't need to add anything manually now
- Under Test users, add the Gmail/Drive account you want to access (must match the email you're using)
π§Ύ 2. Create OAuth 2.0 Credentials
- Go to "APIs & Services" > "Credentials"
- Click "Create Credentials" > "OAuth client ID"
- Choose "Desktop App" or "Web App"
- Download the
client_creds.jsonfile
π Authentication Info (One-time Manual, Then Persistent)
- The first time you run the server, a browser window will open asking you to log in and authorize access.
- After successful login, a
token.jsonfile will be created automatically in your local directory. - This file contains your OAuth access/refresh token and is reused for future runs.
- You wonβt need to re-authenticate unless the token expires or is deleted.
β οΈ No need to publish the app β keeping it in testing mode is fine as long as the user is whitelisted.
π οΈ Configuration Example
Add this block to your msp.json or equivalent MCP config to run the main server:
{
"mcpServers": {
"main_mcp_server": {
"command": "uv",
"args": [
"--directory",
"absolute_path\\to\\current_project",
"run",
"server.py",
"--creds-file-path",
"absolute_path\\to\\client_creds.json",
"--token-path",
"absolute_path\\to\\app_tokens.json"
]
}
}
π§° Available Tools (Exposed via FastMCP) These tools are registered with FastMCP and can be used directly by your copilot system or any agent pipeline.
π¬ Gmail Tools πΉ get_unread_emails(limit: int = 5) Returns a list of unread emails from the user's inbox with metadata like subject, sender, and snippet. Automatically marks them as read.
πΉ read_email(email_id: str) Reads and decodes the full plain-text body of a specific email by its ID.
πΉ get_read_emails(limit: int = 50) Fetches recently read (non-unread) emails from the inbox.
πΉ get_spam_emails(limit: int = 20) Retrieves a list of emails from the Gmail spam folder with minimal metadata.
π Google Drive Tools
πΉ list_my_drive_files(limit: int = 10) Returns a list of recent files in the user's Google Drive, including ID, name, MIME type, and last modified time.
πΉ read_file_content(file_id: str) Reads and extracts text from a file in Drive. Supports:
Google Docs (exported as plain text)
Plain .txt files
PDFs (parsed using PyPDF2)
π« Google Classroom Tool πΉ list_courses() Fetches the list of enrolled Google Classroom courses (read-only).
Each tool can be invoked via MCP runtime or LLM-powered interfaces. This setup enables rich, context-aware workflows that interact with the user's real data.
