Metadata-Version: 2.4
Name: barie-google-calendar-mcp
Version: 0.1.0
Summary: Google Calendar MCP Server for managing Google Calendar via the Model Context Protocol
Author-email: Barie <support@barie.ai>
License: MIT
Keywords: google-api,google-calendar,mcp,model-context-protocol
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.9
Requires-Dist: google-api-python-client>=2.130.0
Requires-Dist: google-auth-oauthlib>=1.2.0
Requires-Dist: google-auth>=2.29.0
Requires-Dist: mcp>=0.9.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pytz>=2024.1
Description-Content-Type: text/markdown

# Barie Google Calendar MCP Server

A Model Context Protocol (MCP) server for managing Google Calendar — create, update, delete, search events, check availability, and more.

## Installation

```bash
# Using uvx (recommended)
uvx --from . barie-google-calendar-mcp

# Or install locally
pip install -e .
```

## Usage

```bash
barie-google-calendar-mcp \
  --access-token "YOUR_ACCESS_TOKEN" \
  --refresh-token "YOUR_REFRESH_TOKEN" \
  --client-id "YOUR_CLIENT_ID" \
  --client-secret "YOUR_CLIENT_SECRET" \
  --expiry "2024-12-31T23:59:59Z" \
  --scopes '["https://www.googleapis.com/auth/calendar.events"]'
```

### Required Arguments

- `--access-token` — Google OAuth2 access token
- `--refresh-token` — Google OAuth2 refresh token
- `--client-id` — Google OAuth2 client ID
- `--client-secret` — Google OAuth2 client secret

### Optional Arguments

- `--expiry` — Token expiry timestamp (ISO format)
- `--scopes` — OAuth2 scopes as JSON array string (default: `calendar.events`)

## Features

- **Create Events** — Create calendar events with attendees, reminders, recurrence, Google Meet links, and attachments
- **Update Events** — Modify any event field (title, time, attendees, location, etc.)
- **Delete Events** — Remove events with attendee notification options
- **List Events** — Retrieve events with time range filtering
- **Search Events** — Full-text search across event titles, descriptions, and locations
- **Check Availability** — Query free/busy status for one or more calendars
- **List Calendars** — View all calendars the user has access to
- **Timezone Info** — Auto-detect user timezone from Google Calendar settings
- **Current Date** — Get current date/time in the user's timezone

## Tools

| Tool | Description |
|------|-------------|
| `get-events` | Get events from a calendar with time range filtering |
| `search-events` | Search events by text query |
| `list-calendars` | List all available calendars |
| `get-timezone-info` | Get timezone information from Google Calendar |
| `get-current-date` | Get current date and time in user's timezone |
| `check-availability` | Check free/busy status for calendars |
| `create-event` | Create a new calendar event |
| `update-event` | Update an existing calendar event |
| `delete-event` | Delete a calendar event |

## Development

```bash
python server.py --help
```
