home / mcp / google calendar mcp server

Google Calendar MCP Server

Provides access to Google Calendar from Claude, enabling viewing calendars, checking schedules, creating Google Meet events, canceling events, and searching events.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "ampcome-mcps-google-calendar-mcp": {
      "command": "uvx",
      "args": [
        "git+https://github.com/ampcome-mcps/google-calendar-mcp.git"
      ],
      "env": {
        "NANGO_CONNECTION_ID": "your_connection_id_here",
        "NANGO_INTEGRATION_ID": "your_integration_id_here",
        "NANGO_NANGO_BASE_URL": "https://api.nango.dev",
        "NANGO_NANGO_SECRET_KEY": "your_nango_secret_key_here"
      }
    }
  }
}

Transform Claude into a dedicated Google Calendar assistant with this MCP server. You can view calendars, check schedules, create Meet events, cancel meetings, and search events through natural conversations with Claude, all backed by Google Calendar and secured via Nango OAuth.

How to use

You will interact with Claude to manage your Google Calendar. Start by connecting your Google account through the MCP server, then ask Claude to view calendars, see today’s events, schedule new meetings with Google Meet, or cancel existing events. Typical workflows include asking for your day’s plan, scheduling team meetings, or locating events within a date range.

How to install

Prerequisites: you need Python 3.8 or higher, a Google account with Calendar access, and a Nango account for authentication.

Step 1. Install the MCP server code by cloning the project and entering the folder.

git clone <your-repo-url>
cd google-calendar-mcp

Step 2. Install required packages.

uv sync

Step 3. Create and configure environment variables. Start by copying the example environment file and then fill in your Nango credentials.

# Copy the example file
cp .env.example .env

Edit the environment file to provide your Nango details.

# Required Nango Configuration
NANGO_NANGO_BASE_URL=https://api.nango.dev
NANGO_NANGO_SECRET_KEY=your_nango_secret_key_here 
NANGO_CONNECTION_ID=your_connection_id_here
NANGO_INTEGRATION_ID=your_integration_id_here

Step 4. Configure Claude Desktop to load the MCP server.

{
  "mcpServers": {
    "google-calendar": {
      "command": "uvx",
      "args": ["git+https://github.com/ampcome-mcps/google-calendar-mcp.git"],
      "env": {
        "NANGO_NANGO_BASE_URL": "https://api.nango.dev",
        "NANGO_NANGO_SECRET_KEY": "your_nango_secret_key_here",
        "NANGO_CONNECTION_ID": "your_connection_id_here", 
        "NANGO_INTEGRATION_ID": "your_integration_id_here"
      }
    }
  }
}

Step 5. Test your setup. Restart Claude Desktop, start a new conversation, and ask for today’s meetings.

Additional setup notes

Nango handles Google OAuth for you. Ensure your Google Calendar integration is configured in your Nango dashboard and that your environment variables are correctly set in the .env file.

To verify your environment variables are loaded correctly, you can run a quick check.

python -c "import os; print('✅ All env vars set!' if os.getenv('NANGO_CONNECTION_ID') and os.getenv('NANGO_INTEGRATION_ID') and os.getenv('NANGO_NANGO_SECRET_KEY') else '❌ Missing env vars')"

If you need to test the MCP server directly, you can start the server process and verify it initializes without errors.

python main.py

Security, privacy, and notes

Your credentials are stored locally in the .env file and are never shared. Google access uses a secure OAuth flow via Nango, and calendar data stays within your Google account, Nango, and Claude. This MCP server does not store calendar data.

If you encounter issues, check the Claude Desktop developer console for MCP server logs, verify the paths in your Claude config are correct, and ensure you restarted Claude Desktop after changes.

Troubleshooting

Common issues include failing to retrieve calendars, missing environment variables, or Claude not locating the calendar tools. Recheck your .env file, confirm Google Calendar connection in Nango, and restart Claude Desktop to apply changes.

Helpful checks include inspecting logs, testing environment variables directly, and validating file paths in the configuration.

Example usage with Claude

You can naturally ask Claude for your schedule or to create events. For example, you might say: What meetings do I have today? or Schedule a client meeting for next Friday at 2 PM with [email protected]. Claude will respond with the appropriate calendar actions and, if applicable, include a Google Meet link.

Available tools

get_all_calendars

List all Google Calendars you have access to

get_calendar_events

Retrieve events from a specific calendar for a given period

create_meet_event

Create a new event and generate a Google Meet link for attendees

cancel_calendar_event

Cancel or delete a specific calendar event

get_today_events

Fetch events for the current day

get_upcoming_events

Fetch upcoming events for a defined range