Package Exports
- google-meet-mcp-server
- google-meet-mcp-server/build/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (google-meet-mcp-server) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Google Meet & Gmail MCP Server
A Model Context Protocol (MCP) server that provides Google Meet and Gmail integration for AI assistants like Claude.
Features
Google Meet
- Create Meet Links: Generate Google Meet links for future meetings
- Transcript Access: Retrieve transcripts from completed Google Meet sessions
- Calendar Integration: Uses the same Google OAuth credentials as calendar systems
- Drive Integration: Access transcripts saved to Google Drive
- Smart Scheduling: Create meetings with natural language date/time input
Gmail
- Email Address Extraction: Extract unique email addresses from Gmail messages
- Email Listing: List Gmail messages with headers and metadata
- Email Content: Retrieve full email content including body text
- Advanced Search: Use Gmail search queries to filter results
Quick Start
Prerequisites
- A Google Cloud project with Calendar API, Drive API, and Gmail API enabled
- OAuth 2.0 credentials (Desktop app type)
- For transcript access: Google Workspace account (Business/Enterprise/Education)
Google Cloud Setup
- Go to the Google Cloud Console
- Create a new project or select an existing one.
- Enable the following APIs:
- Create OAuth 2.0 credentials:
- Go to Credentials
- Click "Create Credentials" > "OAuth client ID"
- Choose "User data" for the type of data that the app will be accessing
- Add your app name and contact information
- Add the following scopes:
https://www.googleapis.com/auth/calendar(for creating meetings)https://www.googleapis.com/auth/drive.readonly(for transcript access)https://www.googleapis.com/auth/gmail.readonly(for email access)
- Select "Desktop app" as the application type (Important!)
- Save the auth key, you'll need to add its path to the JSON in the next step
- Add your email address as a test user under the Audience screen
- Note: it might take a few minutes for the test user to be added. The OAuth consent will not allow you to proceed until the test user has propagated.
- Note about test mode: While an app is in test mode the auth tokens will expire after 1 week and need to be refreshed (see Re-authentication section below).
Installation
Option 1: Use with npx (Recommended)
Add to your Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"google-meet": {
"command": "npx",
"args": ["google-meet-mcp-server"],
"env": {
"GOOGLE_OAUTH_CREDENTIALS": "/path/to/your/gcp-oauth.keys.json"
}
}
}
}⚠️ Important Note for npx Users: When using npx, you must specify the credentials file path using the GOOGLE_OAUTH_CREDENTIALS environment variable.
Option 2: Local Installation
git clone https://github.com/nspady/google-calendar-mcp.git
cd google-calendar-mcp
npm install
npm run buildThen add to Claude Desktop config using the local path or by specifying the path with the GOOGLE_OAUTH_CREDENTIALS environment variable.
Option 3: Docker Installation
git clone https://github.com/nspady/google-calendar-mcp.git
cd google-calendar-mcp
cp /path/to/your/gcp-oauth.keys.json .
docker compose upSee the Docker deployment guide for detailed configuration options including HTTP transport mode.
First Run
- Start Claude Desktop
- The server will prompt for authentication on first use
- Complete the OAuth flow in your browser
- You're ready to use Google Meet features!
Re-authentication
If you're in test mode (default), tokens expire after 7 days. If you are using a client like Claude Desktop it should open up a browser window to automatically re-auth. However, if you see authentication errors you can also resolve by following these steps:
For npx users:
export GOOGLE_OAUTH_CREDENTIALS="/path/to/your/gcp-oauth.keys.json"
npx google-meet-mcp-server authFor local installation:
npm run authTo avoid weekly re-authentication, publish your app to production mode (without verification):
- Go to Google Cloud Console → "APIs & Services" → "OAuth consent screen"
- Click "PUBLISH APP" and confirm
- Your tokens will no longer expire after 7 days but Google will show a more threatning warning when connecting to the app about it being unverified.
See Authentication Guide for details.
Example Usage
Here are common use cases for the Google Meet MCP:
Create a meeting with Google Meet link:
Create a meeting for tomorrow at 2 PM called "Team Standup" with Google Meet link. Invite alice@company.com and bob@company.com.Schedule recurring meetings:
Set up a weekly team meeting every Monday at 10 AM with a Google Meet link.Find previous meetings and get transcripts:
Show me all my Google Meet meetings from last week that have transcripts available.Get transcripts from meetings:
Get the transcript from the Google Meet recording that was saved to my Drive. The file ID is 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upmsQuick ad-hoc meetings:
I need to create a quick Google Meet for right now to discuss the project with the team.Meeting with timezone handling:
Create a meeting for 3 PM Pacific Time tomorrow with our London team. Include a Google Meet link.
Available Tools
Google Meet Tools
| Tool | Description |
|---|---|
create-meet-link |
Create a Google Meet link by creating a calendar event with conference data |
list-meetings |
List previous Google Meet meetings with associated recordings and transcripts |
get-meet-transcript |
Retrieve transcripts from Google Meet recordings |
get-current-time |
Get current system time and timezone information |
Gmail Tools
| Tool | Description |
|---|---|
get-email-addresses |
Extract unique email addresses from Gmail messages based on search criteria |
list-emails |
List Gmail messages with headers and metadata based on search criteria |
get-email |
Get a specific Gmail message by ID with full content including body text |
Gmail Tool Examples
Extract email addresses from recent messages:
{
"maxResults": 20,
"query": "newer_than:7d"
}List emails from a specific sender:
{
"maxResults": 10,
"query": "from:example@company.com",
"includeSpamTrash": false
}Get full content of a specific email:
{
"messageId": "18c4f2a1b2e3d4f5",
"format": "full"
}Documentation
- Authentication Setup - Detailed Google Cloud setup
- Advanced Usage - Multi-account, batch operations
- Deployment Guide - HTTP transport, remote access
- Docker Guide - Docker deployment with stdio and HTTP modes
- OAuth Verification - Moving from test to production mode
- Architecture - Technical architecture overview
- Development - Contributing and testing
- Testing - Unit and integration testing guide
Configuration
Environment Variables:
GOOGLE_OAUTH_CREDENTIALS- Path to OAuth credentials fileGOOGLE_CALENDAR_MCP_TOKEN_PATH- Custom token storage location (optional)
Claude Desktop Config Location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Security
- OAuth tokens are stored securely in your system's config directory
- Credentials never leave your local machine
- All Google Meet operations require explicit user consent
- Transcript access requires proper Google Workspace permissions
Troubleshooting
OAuth Credentials File Not Found:
- For npx users: You must specify the credentials file path using
GOOGLE_OAUTH_CREDENTIALS - Verify file paths are absolute and accessible
- For npx users: You must specify the credentials file path using
Authentication Errors:
- Ensure your credentials file contains credentials for a Desktop App type
- Verify your user email is added as a Test User in the Google Cloud OAuth Consent screen
- Try deleting saved tokens and re-authenticating
- Check that no other process is blocking ports 3000-3004
Build Errors:
- Run
npm install && npm run buildagain - Check Node.js version (use LTS)
- Delete the
build/directory and runnpm run build
- Run
"Something went wrong" screen during browser authentication
- Perform manual authentication per the below steps
- Use a Chromium-based browser to open the authentication URL. Test app authentication may not be supported on some non-Chromium browsers.
Manual Authentication
For re-authentication or troubleshooting:
# For npx installations
export GOOGLE_OAUTH_CREDENTIALS="/path/to/your/credentials.json"
npx google-meet-mcp-server auth
# For local installations
npm run authLicense
MIT