Claude Meet MCP
Allows checking calendar availability and creating events, enabling AI-powered meeting scheduling through Google Calendar.
Provides integration to add Google Meet video conferencing to scheduled meetings.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Claude Meet MCPSchedule a 30-minute meeting with alice@example.com and bob@example.com tomorrow at 2pm"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Claude Meet MCP
"Schedule a meeting with everyone" → invites sent. That's it.
Stop playing email tennis. Let AI schedule your meetings in seconds.
The Problem
"Are you free Tuesday at 2pm?" "No, how about Wednesday?" "I have a conflict at 3..." "What about Thursday morning?" [5 emails later, 30 minutes wasted]
The Solution
You: "Schedule a meeting with john@example.com and alice@example.com next week" Claude Meet: Checks all calendars, finds mutual availability, books the meeting Done in 10 seconds.
You save: 5+ hours per week on scheduling.
Quick Start | Demo | Features | Documentation
Why Claude Meet?
Feature | Email Back-and-Forth | Calendly | Claude Meet |
Checks everyone's calendar | Manual | One-way only | Automatic |
Natural language | No | No | Yes |
AI-powered time suggestions | No | No | Yes |
Works from terminal | No | No | Yes |
Integrates with Claude Desktop | No | No | Yes |
Privacy-first (your data stays yours) | Yes | No | Yes |
Cost | Free but slow | $10-15/mo | Free |
Related MCP server: Schedulia MCP
See It In Action
CLI Demo
$ claude-meet chat
Claude Calendar Scheduler
Timezone: Europe/Berlin
Type 'help' for commands, 'exit' to quit
============================================================
You: Schedule a 1-hour meeting with alice@company.com and bob@company.com tomorrow
Claude: I'll find a time that works for everyone. Checking calendars...
Found these available slots for tomorrow:
1. 9:00 AM - 10:00 AM (Recommended - prime morning time)
2. 2:00 PM - 3:00 PM (Good option)
3. 4:00 PM - 5:00 PM
Which time works best? And what should I call this meeting?
You: Let's do 2pm, call it "Project Kickoff"
Claude: Done! I've created "Project Kickoff" for tomorrow 2:00 PM - 3:00 PM.
Calendar invites sent to alice@company.com and bob@company.com.Claude Desktop Integration
Use Claude Meet directly in Claude Desktop - just ask Claude to schedule meetings naturally:
You: Check when sarah@example.com is free next Tuesday
Claude: I checked Sarah's calendar for next Tuesday. She's available:
- 9:00 AM - 11:30 AM
- 2:00 PM - 5:00 PM
Would you like me to schedule a meeting?
Quick Start (60 seconds)
Step 1: Install
pip install claude-meet-mcpStep 2: Setup
claude-meet initThe wizard guides you through:
Setting your Anthropic API key
Connecting Google Calendar (with step-by-step instructions)
Configuring your timezone
Step 3: Start scheduling
claude-meet chatThat's it. No complex configuration. No YAML files. Just works.
git clone https://github.com/ShaunakInamdar/claude-meet-mcp.git
cd claude-meet-mcp
pip install -e .Features
Talk Naturally
No commands to memorize. No special syntax. Just tell Claude what you need.
"Find a time for a 30-minute sync with the design team next week"
"Schedule a demo with client@company.com on Friday afternoon"
"When is everyone free for a team lunch?"Smart Conflict Detection
Never double-book again. Claude Meet checks everyone's calendar before suggesting times.
Intelligent Time Suggestions
Times are ranked by preference:
Avoids early mornings and late evenings
Respects lunch hours
Prefers prime collaboration times (9-11 AM)
Google Meet Integration
Add video conferencing with one word:
"Schedule a video call with remote-team@company.com tomorrow"Works Everywhere
CLI: For terminal lovers
Claude Desktop: Native MCP integration
Claude.ai: Use as an MCP tool
Perfect For
Engineering Managers
Schedule 1-on-1s across your entire team in minutes
Find time for all-hands when everyone's calendar is packed
Coordinate cross-team meetings without the back-and-forth
Remote Teams
Handles multiple timezones automatically
Finds overlapping work hours across continents
Async-first: schedule now, meet later
Founders & Sales
Book demos with prospects instantly
Coordinate investor meetings efficiently
Stop losing deals to scheduling friction
Claude Desktop Integration
Add Claude Meet to Claude Desktop for seamless scheduling:
claude-meet mcp-setupThis generates the config to add to your Claude Desktop settings. Once configured, Claude can schedule meetings directly from your conversations.
Available Tools
Tool | What It Does |
| See when people are free or busy |
| Get AI-ranked suggestions for meeting times |
| Book meetings and send invites |
Configuration
Customize Claude Meet to match your work style:
# Set your timezone
claude-meet config set TIMEZONE=America/New_York
# Change business hours
claude-meet config set BUSINESS_HOURS_START=8
claude-meet config set BUSINESS_HOURS_END=18
# View all settings
claude-meet configSetting | Default | Description |
| Auto-detected | Your local timezone |
| 9 | When your workday starts |
| 17 | When your workday ends |
| 60 | Default meeting length (minutes) |
Commands
Command | Description |
| Interactive setup wizard |
| Start scheduling conversations |
| Verify your setup is working |
| View/edit configuration |
| Re-authenticate with Google |
| Get Claude Desktop config |
| See your next meetings |
Architecture
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Claude CLI │────▶│ Claude API │────▶│ Calendar Client │
│ or Desktop │ │ (Tool Calling) │ │ (Google API) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ Scheduler │
│ (Time Ranking) │
└──────────────────┘How it works:
You describe what you need in natural language
Claude interprets your request and calls the right tools
Calendar Client checks Google Calendar for availability
Scheduler ranks times by preference
Claude presents options and books your choice
Troubleshooting
Run the diagnostic command first:
claude-meet checkThis shows what's configured and what needs attention.
Common Issues
"API key not found"
claude-meet config set ANTHROPIC_API_KEY=sk-ant-..."Google credentials not found"
claude-meet init # Follow the Google Cloud setup steps"Authentication expired"
claude-meet logout && claude-meet authContributing
We welcome contributions! See our Contributing Guide for details.
# Run tests
pytest tests/ -v
# Run linting
ruff check claude_meet/Privacy & Security
Your data stays yours: We never see your calendar data
Local tokens: Google OAuth tokens stored locally in
~/.claude-meet/No tracking: Zero analytics or telemetry
Open source: Audit the code yourself
Support the Project
If Claude Meet saves you time:
Star this repo to help others find it
Report bugs to help us improve
Share with colleagues who hate scheduling
License
MIT License - Use it however you want.
Available Tools
3 toolscheck_calendar_availabilityA
Check the free/busy status of one or more people's calendars for a specific date and time range. Returns when people are busy and when they're free. All times are in UTC timezone.
| Name | Required | Description | Default |
|---|---|---|---|
| emails | Yes | Array of email addresses to check (e.g., ['alice@example.com', 'bob@example.com']) | |
| date | Yes | The date to check in YYYY-MM-DD format (e.g., '2026-01-20') | |
| start_time | No | Optional start time in HH:MM 24-hour format (e.g., '09:00'). Defaults to 09:00. | |
| end_time | No | Optional end time in HH:MM 24-hour format (e.g., '17:00'). Defaults to 17:00. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool returns busy/free status and uses UTC timezone, which is good. However, it doesn't disclose details such as whether event names are returned, limitations on calendar types, or how it handles all-day events.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences with no wasted words. It front-loads the core purpose and includes key usage context (UTC timezone) efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (4 parameters, no nested objects, no output schema), the description is mostly complete. It explains inputs, defaults, timezone, and return type (busy/free). Could add more on exact output structure, but not required due to low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, setting baseline at 3. The description adds value by specifying default start and end times (09:00 and 17:00) and that all times are in UTC, which are not in the schema. This helps the agent understand parameter behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Check'), resource ('free/busy status of people's calendars'), and scope ('one or more people, specific date and time range'). It distinguishes itself from siblings: 'create_calendar_event' (creating events) and 'find_meeting_times' (finding meeting times) are different tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions that all times are in UTC and provides default times, but it doesn't explicitly state when to use this tool versus alternatives (e.g., 'find_meeting_times') nor when not to use it. Usage is implied but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_calendar_eventA
Create a new calendar event and send email invitations to all attendees. The event will appear on everyone's calendar. Calendar is configured for UTC timezone.
| Name | Required | Description | Default |
|---|---|---|---|
| summary | Yes | The title/subject of the meeting (e.g., 'Q1 Planning Meeting') | |
| start_time | Yes | Meeting start time in ISO 8601 format with timezone. IMPORTANT: Use the exact 'start' value from find_meeting_times results - do not construct your own time string. | |
| end_time | Yes | Meeting end time in ISO 8601 format with timezone. IMPORTANT: Use the exact 'end' value from find_meeting_times results - do not construct your own time string. | |
| attendees | Yes | List of email addresses to invite to the meeting | |
| description | No | Optional detailed description or agenda for the meeting | |
| add_meet_link | No | If true, adds a Google Meet video conference link |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description covers key behaviors (sending invitations, UTC timezone). However, it omits potential side effects, permissions, or error handling, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the primary action and adding only essential context. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters (fully described in schema) and no output schema, the description provides sufficient context for event creation with invitations and timezone. Return value and error cases are missing but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds minimal value beyond the schema. It reiterates the instruction to use times from find_meeting_times, which is helpful but not substantial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a calendar event and sends email invitations, distinguishing it from sibling tools like check_calendar_availability and find_meeting_times.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context (event appears on calendars, UTC timezone) but does not explicitly state when to use this tool versus its siblings or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_meeting_timesA
Find available meeting time slots that work for all attendees. Analyzes calendars and returns the best options ranked by preference. Returns ISO timestamps with correct UTC timezone offset - use these exact values when creating events.
| Name | Required | Description | Default |
|---|---|---|---|
| emails | Yes | Email addresses of all meeting attendees | |
| date | No | Target date in YYYY-MM-DD format | |
| duration_minutes | Yes | How long the meeting should be in minutes (e.g., 30, 60, 90) | |
| preferences | No | Optional scheduling preferences |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries full burden. It explains that it analyzes calendars and returns ranked options with timestamps, implying read-only behavior. However, it does not explicitly state it does not modify data, nor does it mention error handling or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states core purpose, second adds output usage guideline. No redundant or extraneous information, every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters, a nested preferences object, and no output schema, the description covers purpose and output format but lacks details on behavior (e.g., ranking logic, no-slot handling, error conditions). Completeness is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, so schema already details all parameters. The description adds no additional parameter-level information beyond schema, earning the baseline score of 3 for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool finds available meeting time slots that work for all attendees, using specific verbs and resource. It distinguishes from siblings: check_calendar_availability likely checks a single slot, and create_calendar_event creates an event, while this tool focuses on finding times.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on using the output timestamps for event creation, but does not explicitly state when to use this tool versus siblings or when not to use it. Implicitly, it is for finding slots before creating events, but lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v1.0.0- First observed
check_calendar_availability - First observed
create_calendar_event - First observed
find_meeting_times
TDQS
Each tool has a distinct purpose: checking raw availability, finding optimal meeting times, and creating events. There is no ambiguity between them.
All tools follow a consistent verb_noun pattern with underscores (check_calendar_availability, create_calendar_event, find_meeting_times).
3 tools is a well-scoped set for a meeting scheduling server, covering the essential steps without unnecessary bloat.
The set covers the core workflow of finding and creating events, but lacks update/delete capabilities for events, which could be a minor gap.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI-native scheduling and booking: check availability, book meetings, share links.
- AstrocalOAuthdev.astrocal
AI-native scheduling: check availability, book meetings, cancel and reschedule via MCP
Group meeting scheduler — rank times everyone's free across Google & Outlook, book Meet/Teams.
Scheduling infrastructure for AI agents across Google and Microsoft calendars.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to intelligently schedule meetings by checking Microsoft Outlook calendars, finding available time slots across multiple participants, and automatically booking meetings with Teams integration. Uses Microsoft Graph API with smart fallback logic for optimal scheduling.1-
- FlicenseCqualityDmaintenanceA meeting scheduling assistant that enables users to view schedules, manage incoming requests, and send meeting invitations via the Schedulia API. It facilitates seamless coordination of meeting times and participant management through natural language commands.41-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Google Calendar events, check availability, and handle scheduling tasks through natural language.10MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to book meetings, check availability, and manage Cal.com scheduling through natural conversation.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ShaunakInamdar/claude-meet-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server