A Model Context Protocol (MCP) server for Google Calendar integration in Cluade Desktop with auto authentication support. This server enables AI assistants to manage Google Calendar events through natural language interactions.
To install Calendar AutoAuth Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @gongrzhe/server-calendar-autoauth-mcp --client claude
Create a Google Cloud Project and obtain credentials:
a. Create a Google Cloud Project:
b. Create OAuth 2.0 Credentials:
http://localhost:3000/oauth2callback
to the authorized redirect URIsgcp-oauth.keys.json
Run Authentication:
You can authenticate in two ways:
a. Global Authentication (Recommended):
# First time: Place gcp-oauth.keys.json in your home directory's .calendar-mcp folder
mkdir -p ~/.calendar-mcp
mv gcp-oauth.keys.json ~/.calendar-mcp/
# Run authentication from anywhere
npx @gongrzhe/server-calendar-autoauth-mcp auth
b. Local Authentication:
# Place gcp-oauth.keys.json in your current directory
# The file will be automatically copied to global config
npx @gongrzhe/server-calendar-autoauth-mcp auth
The authentication process will:
gcp-oauth.keys.json
in the current directory or ~/.calendar-mcp/
~/.calendar-mcp/
~/.calendar-mcp/credentials.json
Note:
- After successful authentication, credentials are stored globally in
~/.calendar-mcp/
and can be used from any directory- Both Desktop app and Web application credentials are supported
- For Web application credentials, make sure to add
http://localhost:3000/oauth2callback
to your authorized redirect URIs
Configure in Claude Desktop:
{
"mcpServers": {
"calendar": {
"command": "npx",
"args": [
"@gongrzhe/server-calendar-autoauth-mcp"
]
}
}
}
If you prefer using Docker:
docker run -i --rm \
--mount type=bind,source=/path/to/gcp-oauth.keys.json,target=/gcp-oauth.keys.json \
-v mcp-calendar:/calendar-server \
-e CALENDAR_OAUTH_PATH=/gcp-oauth.keys.json \
-e "CALENDAR_CREDENTIALS_PATH=/calendar-server/credentials.json" \
-p 3000:3000 \
mcp/calendar auth
{
"mcpServers": {
"calendar": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"mcp-calendar:/calendar-server",
"-e",
"CALENDAR_CREDENTIALS_PATH=/calendar-server/credentials.json",
"mcp/calendar"
]
}
}
}
The server provides several tools that can be used through the Claude Desktop:
{
"summary": "Team Meeting",
"start": {
"dateTime": "2024-01-20T10:00:00Z"
},
"end": {
"dateTime": "2024-01-20T11:00:00Z"
},
"description": "Weekly team sync",
"location": "Conference Room A"
}
{
"timeMin": "2024-01-01T00:00:00Z",
"timeMax": "2024-12-31T23:59:59Z",
"maxResults": 10,
"orderBy": "startTime"
}
{
"eventId": "event123",
"summary": "Updated Meeting Title",
"start": {
"dateTime": "2024-01-20T11:00:00Z"
},
"end": {
"dateTime": "2024-01-20T12:00:00Z"
}
}
{
"eventId": "event123"
}
~/.calendar-mcp/
)OAuth Keys Not Found
gcp-oauth.keys.json
is in either your current directory or ~/.calendar-mcp/
Invalid Credentials Format
web
or installed
credentialsPort Already in Use
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the ISC License.
gongrzhe
If you encounter any issues or have questions, please file an issue on the GitHub repository.
{
"mcpServers": {
"calendar": {
"env": {},
"args": [
"@gongrzhe/server-calendar-autoauth-mcp"
],
"command": "npx"
}
}
}
Seamless access to top MCP servers powering the future of AI integration.