@dtannen/google-meet-mcp
v1.0.1
Published
Google Meet MCP Server for creating meeting links and accessing transcripts
Maintainers
Readme
Google Meet MCP Server
A Model Context Protocol (MCP) server that provides Google Meet integration for AI assistants like Claude.
Features
- 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
Quick Start
Prerequisites
- A Google Cloud project with Calendar API and Drive 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)
- 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": ["@dtannen/google-meet-mcp"],
"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 @dtannen/google-meet-mcp 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 [email protected] and [email protected].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
| 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 |
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 @dtannen/google-meet-mcp auth
# For local installations
npm run authLicense
MIT
