Skip to main content
Glama

Google Calendar and Meet MCP Server

by INSIDE-HAIR

šŸš€ Google Meet MCP Server v3.0 - Production Ready

smithery badge

A production-ready enterprise Model Context Protocol (MCP) server for comprehensive Google Meet management through Google Calendar API v3 and Google Meet API v2. Features Docker containerization, Smithery deployment, direct token authentication, team security, and enterprise-grade TypeScript architecture with 23 fully validated tools.

šŸŽÆ Quick Start Options

šŸ”Ø Smithery (Recommended)

  • Perfect for teams and individual users

  • One-click deployment with web interface

  • Automatic updates and health monitoring

  • šŸ“–

🐳 Docker

  • Production deployments with full containerization

  • Multi-stage builds optimized for size and security

  • Development and production configurations

  • šŸ“–

āš™ļø Manual Setup

  • Full control over installation and configuration

  • Development environments and custom deployments

  • Direct Node.js execution with TypeScript

  • šŸ“–

šŸš€ What's New in v3.0 - Production Ready Edition

šŸŽÆ NEW IN v3.0 - PRODUCTION FEATURES

🐳 Docker Containerization

  • āœ… Multi-stage production builds - Optimized for size and security (<200MB)

  • āœ… Development and production configurations with Docker Compose

  • āœ… Health checks and monitoring - Container-native health endpoints

  • āœ… Security hardening - Non-root user, read-only filesystem

  • āœ… Volume management - Persistent data and credential handling

šŸ”Ø Smithery Integration + Direct Token Auth

  • āœ… Direct token authentication - No file dependencies (CLIENT_ID, CLIENT_SECRET, REFRESH_TOKEN)

  • āœ… One-click deployment - Web interface for easy configuration

  • āœ… Backward compatibility - Still supports file-based OAuth credentials

  • āœ… Team-friendly setup - Individual credentials, shared project structure

  • āœ… Automatic health monitoring - Real-time server status and metrics

  • āœ… Cross-platform support - Windows, macOS, Linux compatibility

  • āœ… Configuration validation - Smart path handling and error detection

šŸ›”ļø Enhanced Security

  • āœ… Team security policies - Enterprise-grade credential management

  • āœ… Individual credential isolation - No shared secrets between users

  • āœ… Compliance monitoring - Automated security and rotation tracking

  • āœ… Audit logging - Google Cloud Console integration

  • āœ… Incident response - Documented procedures for security events

šŸ“š Complete Documentation

  • āœ… User guides for all deployment methods - Smithery, Docker, Manual

  • āœ… Team onboarding procedures - Step-by-step for corporate environments

  • āœ… Troubleshooting and diagnostics - Common issues and automated solutions

  • āœ… Security best practices - Individual and team security policies

šŸ“Š Production Quality Metrics

  • Container Size: <200MB production image

  • Security Score: Non-root user, minimal attack surface

  • Documentation Coverage: 7 comprehensive guides (2000+ lines)

  • Deployment Options: 3 methods (Smithery, Docker, Manual)

  • Team Ready: Multi-user, enterprise security, compliance monitoring

šŸŽÆ Core Capabilities - Enhanced

Clear API Separation

  • šŸ“… Google Calendar API v3 - Full calendar event management with guest permissions

  • šŸŽ„ Google Meet API v2 (GA) - Space management, conference records, and participant tracking

Enterprise Features

  • šŸ“ Auto-Transcription - Enable automatic meeting transcription

  • 🧠 Smart Notes - AI-generated meeting summaries with Gemini

  • šŸ“Š Attendance Reports - Generate detailed attendance tracking

  • šŸ›”ļø Meeting Moderation - Chat/presentation restrictions and controls

  • šŸ‘€ Viewer Mode - Force participants to join as viewers by default

  • šŸ“¹ Auto-Recording - Enable automatic recording (manual activation required)

Advanced Space Management

  • šŸ—ļø Google Meet Spaces - Direct space creation and configuration

  • šŸ‘„ Participant Tracking - Access participant data and session information

  • šŸ”’ Access Controls - OPEN, TRUSTED, or RESTRICTED access types

  • āš™ļø Artifact Configuration - Recording, transcription, and smart notes settings

šŸš€ Installation & Deployment

šŸ”Ø Smithery (Recommended for Teams)

  1. Visit

  2. Click "Deploy Server"

  3. Configure your Google credentials path

  4. Start using in Claude Desktop

šŸ“– - Step-by-step for teams

🐳 Docker (Recommended for Production)

# Quick start development ./scripts/docker-deploy.sh dev # Production deployment ./scripts/docker-deploy.sh prod --backup --fresh # View status ./scripts/docker-deploy.sh status

šŸ“– - Complete containerization

āš™ļø Manual Installation

# Clone the repository git clone https://github.com/INSIDE-HAIR/google-meet-mcp-server.git cd google-meet-mcp-server # Install dependencies npm install # Setup OAuth credentials npm run setup

šŸ“– - Full control installation

šŸ›”ļø Security & Team Management

šŸ” Individual Security

  • Each user creates their own Google OAuth credentials

  • No shared credentials or tokens between team members

  • Secure file storage with proper permissions (chmod 600)

  • šŸ“– - Individual security practices

šŸ‘„ Team Security

  • Comprehensive team onboarding procedures

  • Corporate Google Cloud project management

  • Credential rotation and compliance monitoring

  • šŸ“– - Enterprise team deployment

šŸ”§ Troubleshooting

  • Complete diagnostics and problem resolution

  • Common issues and solutions

  • Health check scripts and monitoring

  • šŸ“– - Problem resolution

Usage

Development Mode (TypeScript with Hot Reload)

# Start server in development mode npm run start # Run setup in TypeScript mode npm run setup

Production Mode (Compiled JavaScript)

# Build TypeScript to JavaScript npm run build # Run compiled server npm run start:js

Testing

# Run all tests npm test # Run tests in watch mode npm run test:watch # Generate coverage report npm run test:coverage # Type checking only npm run type-check

šŸ› ļø Available Tools (21 Total) - All Type-Safe & Validated

šŸ“… Google Calendar API v3 Tools (6 tools)

1. calendar_v3_list_calendars āœ… Validated

List all calendars available to the user.

Validation: No parameters required

2. calendar_v3_list_events āœ… Validated

List upcoming calendar events with filtering options.

Validation: Date formats, max results (1-2500), calendar ID format

3. calendar_v3_get_event āœ… Validated

Get detailed information about a specific calendar event.

Validation: Required event_id parameter

4. calendar_v3_create_event āœ… Validated

Create a new calendar event with optional Google Meet conference.

Validation: Required fields, ISO date format, guest permissions, duration logic

Parameters:

  • summary (required): Event title

  • start_time (required): ISO format start time

  • end_time (required): ISO format end time

  • create_meet_conference (optional): Add Google Meet

  • guest_can_invite_others (optional): Guest invitation permissions

  • guest_can_modify (optional): Guest modification permissions

  • guest_can_see_other_guests (optional): Guest visibility permissions

5. calendar_v3_update_event āœ… Validated

Update an existing calendar event.

Validation: Required event_id, optional update fields, time validation

6. calendar_v3_delete_event āœ… Validated

Delete a calendar event.

Validation: Required event_id parameter

šŸŽ„ Google Meet API v2 Tools (15 tools)

7. meet_v2_create_space āœ… Validated

Create a Google Meet space with advanced configuration.

Validation: Access type enum, boolean flags, restriction combinations

Parameters:

  • access_type: "OPEN" | "TRUSTED" | "RESTRICTED" (default: "TRUSTED")

  • enable_recording: Enable automatic recording preparation

  • enable_transcription: Enable automatic transcription

  • moderation_mode: "ON" | "OFF" meeting moderation

  • chat_restriction: Chat permissions control

  • present_restriction: Presentation permissions control

8. meet_v2_get_space āœ… Validated

Get details of a Google Meet space.

Validation: Space name format (spaces/{space_id})

9. meet_v2_update_space āœ… Validated

Update configuration of a Google Meet space.

10. meet_v2_end_active_conference āœ… Validated

End the active conference in a Google Meet space.

Validation: Space name format validation

11. meet_v2_list_conference_records āœ… Validated

List conference records for historical meetings.

Validation: Filter format, page size limits (1-50)

12-21. Additional Meet API Tools āœ… All Validated

  • meet_v2_get_conference_record - Get specific conference details

  • meet_v2_list_recordings - List conference recordings

  • meet_v2_get_recording - Get recording details

  • meet_v2_list_transcripts - List conference transcripts

  • meet_v2_get_transcript - Get transcript details

  • meet_v2_list_transcript_entries - List transcript speech segments

  • meet_v2_get_participant - Get participant details

  • meet_v2_list_participants - List conference participants

  • meet_v2_get_participant_session - Get session details

  • meet_v2_list_participant_sessions - List participant sessions

Validation Features:

  • Resource name format validation (conferenceRecords/{id}/recordings/{id})

  • Page size limits (1-1000 depending on endpoint)

  • Regex validation for all Google API resource identifiers

  • Smart defaults for pagination

MCP Configuration for Claude Desktop

Add to your Claude Desktop configuration:

{ "mcpServers": { "google-meet": { "command": "npx", "args": ["tsx", "/absolute/path/to/google-meet-mcp-server/src/index.ts"], "env": { "G_OAUTH_CREDENTIALS": "/absolute/path/to/credentials.json" }, "disabled": false } } }

Production Configuration (with compiled JS):

{ "mcpServers": { "google-meet": { "command": "node", "args": ["/absolute/path/to/google-meet-mcp-server/build/index.js"], "env": { "G_OAUTH_CREDENTIALS": "/absolute/path/to/credentials.json" }, "disabled": false } } }

šŸ—ļø Enterprise Architecture

TypeScript Structure

google-meet-mcp-server/ ā”œā”€ā”€ src/ │ ā”œā”€ā”€ index.ts # Main MCP server (TypeScript) │ ā”œā”€ā”€ GoogleMeetAPI.ts # API wrapper (fully typed) │ ā”œā”€ā”€ setup.ts # OAuth setup (typed) │ ā”œā”€ā”€ types/ # Type system (921+ lines) │ │ ā”œā”€ā”€ google-apis.d.ts # Google API types │ │ ā”œā”€ā”€ mcp-server.d.ts # MCP-specific types │ │ ā”œā”€ā”€ utilities.d.ts # Branded types & helpers │ │ └── index.ts # Centralized exports │ ā”œā”€ā”€ validation/ # Zod schemas │ │ └── meetSchemas.ts # 6 validated tools │ └── errors/ # Error handling │ └── GoogleApiErrorHandler.ts ā”œā”€ā”€ test/ # Test suite (101 tests) │ ā”œā”€ā”€ setup.ts # Test utilities │ ā”œā”€ā”€ GoogleMeetAPI.test.ts # Unit tests │ ā”œā”€ā”€ integration.test.ts # Integration tests │ ā”œā”€ā”€ validation.test.ts # Validation tests │ └── simple.test.ts # Basic functionality ā”œā”€ā”€ build/ # Compiled JavaScript ā”œā”€ā”€ package.json # TypeScript + testing deps ā”œā”€ā”€ tsconfig.json # TypeScript configuration └── vitest.config.ts # Testing configuration

Type Safety Features

// Branded types for enhanced safety type EventId = Brand<string, 'EventId'>; type SpaceName = Brand<string, 'SpaceName'>; // Complete API interfaces interface GoogleMeetAPI { createMeetSpace(config: SpaceConfigInput): Promise<MeetSpace>; listCalendars(): Promise<ProcessedCalendar[]>; createCalendarEvent(data: CreateEventInput): Promise<ProcessedEvent>; } // Zod validation with business logic const CreateSpaceSchema = z.object({ access_type: z.enum(["OPEN", "TRUSTED", "RESTRICTED"]).default("TRUSTED"), enable_recording: z.boolean().default(false) }).refine((data) => { // Custom business logic validation if (data.enable_recording && data.access_type === "OPEN") { throw new Error("Recording cannot be enabled for OPEN access meetings"); } return true; });

Error Handling - Claude Desktop Optimized

The server provides context-aware error messages designed for AI assistance:

Google API Errors

šŸ” Access Denied Problem: Your Google account doesn't have the required permissions. Solution: 1. Run `npm run setup` to re-authenticate 2. Make sure you granted all requested permissions 3. For enterprise features, check you have Google Workspace Business+

Enterprise Feature Errors

šŸ¢ Enterprise Feature Required Problem: This Meet feature requires Google Workspace Business Standard or higher. Options: - Use basic calendar events with Meet links instead - Upgrade your Google Workspace plan Alternative: Try `calendar_v3_create_event` with `create_meet_conference: true`

Requirements

Technical Requirements

  • Node.js: 18+ (for TypeScript support)

  • TypeScript: 5+ (included in dependencies)

  • Google Account: Any Google account works for basic features

Feature Requirements

  • āœ… Basic Features: Works with any Google account

  • āœ… Calendar Integration: Google Calendar API enabled

  • šŸ¢ Enterprise Features: Google Workspace Business Standard or higher

  • 🧠 Smart Notes: Gemini Business/Enterprise license

  • šŸ“¹ Recording: Manual activation required during meetings

Development

TypeScript Development

# Development with hot reload npm run start # tsx src/index.ts with watch npm run setup # tsx src/setup.ts # Type checking npm run type-check # tsc --noEmit # Testing npm test # vitest run npm run test:watch # vitest with watch mode npm run test:coverage # coverage report

Production Build

# Build TypeScript npm run build # tsc to build/ directory npm run clean # clean build directory # Run compiled JavaScript npm run start:js # node build/index.js npm run setup:js # node build/setup.js

Testing Results

āœ… Test Files: 5 passed (5) āœ… Tests: 101 passed (101) āœ… Duration: 2.61s āœ… TypeScript: 0 compilation errors āœ… Type Coverage: ~90% specific types Test Categories: - 28 GoogleMeetAPI unit tests - 12 Integration workflow tests - 35 Validation schema tests - 16 Basic functionality tests - 10 MCP server tests

šŸ”§ Common Issues & Quick Fixes

🚨 Server Won't Start

# Check credentials path and permissions ls -la "/path/to/your/credentials.json" chmod 600 "/path/to/your/credentials.json" # Verify configuration npx tsx scripts/health-check.js

šŸ” Authentication Failed

# Re-run OAuth setup G_OAUTH_CREDENTIALS="/path/to/creds.json" npm run setup # Check Google Cloud Console: # 1. APIs enabled (Calendar + Meet) # 2. OAuth consent screen configured # 3. Scopes properly set

šŸ¤– Claude Desktop Issues

# Verify MCP configuration cat ~/Library/Application\ Support/Claude/claude_desktop_config.json # Restart Claude Desktop # Check server status in Smithery (if using)

šŸ“– - Detailed problem resolution

Enterprise Features Limitations

Google Meet API v2

  • Some advanced features require Google Workspace licenses

  • Recording cannot be started programmatically (requires manual activation)

  • Smart Notes require Gemini Business/Enterprise license

  • Participant data is only available for completed conferences

Implementation Notes

  • All 21 tools are fully implemented using official Google APIs

  • Advanced features use direct REST API calls to Google Meet API v2

  • Authentication and token management handled automatically

  • Complete TypeScript coverage with branded types for safety

šŸ¤ Contributing

Development Requirements

  • āœ… TypeScript code with proper types (no 'any' types)

  • āœ… Tests pass (npm test) - maintain 100% test success rate

  • āœ… Zod validation schemas for new tools

  • āœ… Error handling for new endpoints

  • āœ… Documentation updates for new features

  • āœ… Security review for credential handling

Contribution Process

  1. Fork and clone the repository

  2. Create feature branch from main

  3. Implement changes with tests and documentation

  4. Run full test suite (npm test)

  5. Update relevant guides in docs/

  6. Submit pull request with detailed description

šŸ“„ License

ISC License - Free for commercial and personal use. See LICENSE file for details.


šŸŽ‰ Ready to supercharge your Google Meet workflow? Choose your deployment method above and get started in minutes!

šŸ’” Recommended: Start with Smithery deployment for the easiest setup experience.

šŸ“ž Support & Resources

šŸ“š Documentation

šŸ†˜ Getting Help

  • šŸ› - Bug reports and feature requests

  • šŸ”Ø - Platform-specific help

  • šŸ“– - Model Context Protocol resources

šŸŽÆ Quick Links

Acknowledgments

  • Built with Model Context Protocol SDK

  • Powered by Google Calendar API and Google Meet API

  • Compatible with Claude Desktop and other MCP clients

  • Enterprise-grade TypeScript architecture

  • Comprehensive Zod validation system

-
security - not tested
F
license - not found
-
quality - not tested

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/INSIDE-HAIR/mcp-google-calendar-and-meet'

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