- Home
- MCP servers
- MCP Calendar Assistant
MCP Calendar Assistant
- typescript
0
GitHub Stars
typescript
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"momer17-mailmcp": {
"command": "node",
"args": [
"/path/to/mcp-calendar-server/dist/index.js"
],
"env": {
"REDIS_URL": "redis://localhost:6379",
"JWT_SECRET": "YOUR_JWT_SECRET",
"DATABASE_URL": "postgresql://localhost:5432/calendar_assistant",
"GOOGLE_CLIENT_ID": "your-client-id",
"GOOGLE_CLIENT_SECRET": "your-client-secret"
}
}
}
}You can manage your calendar and reminders through a dedicated MCP server that understands natural language queries and multi-calendar data. This server lets you create, read, update, and delete events, find free time, check availability, and organize tasks with priorities and due dates, all while optimizing scheduling and providing actionable insights.
How to use
Interact with the MCP Calendar Assistant using your preferred MCP client. You can ask it to schedule events, find available time slots across multiple calendars, set reminders, and analyze your scheduling habits. For best results, provide clear dates, times, durations, and attendee names. The assistant can propose meeting times, respect working hours, and auto-suggest frequent collaborators to streamline planning.
How to install
Prerequisites you need on your machine are Node.js 18 or newer, PostgreSQL 12 or newer, Redis 6 or newer (recommended but optional), and a Google Cloud Project with the Calendar API enabled.
git clone <repository-url>
cd mcp-calendar-server
npm install
2. Environment Setup
cp .env.example .env
# Edit .env with your configuration
3. Google Calendar Setup
- Create a Google Cloud project or select an existing one
- Enable the Google Calendar API
- Create OAuth 2.0 credentials
- Add your credentials to `.env
## Configuration and security
Configure environment variables to connect to your database and Google Calendar integration. The setup guides you to enable caching, batching, and analytics features via feature flags. Secure your deployment with JWT-based authentication, OAuth 2.0 for Google Calendar, and proper token refresh handling. Use rate limiting and input validation to protect the service.
Example configuration snippets
DATABASE_URL=postgresql://localhost:5432/calendar_assistant REDIS_URL=redis://localhost:6379 GOOGLE_CLIENT_ID=your-client-id GOOGLE_CLIENT_SECRET=your-client-secret JWT_SECRET=your-jwt-secret
```bash
# Feature flags (example)
env FACET_CACHING=true
MCP integration and running the server
You can run the MCP server locally using the standard runtime command shown for local development. When integrating with an MCP client like Claude Desktop, you provide a command that starts the server from its built distribution.
{
"mcpServers": {
"calendar_assistant": {
"command": "node",
"args": ["/path/to/mcp-calendar-server/dist/index.js"],
"env": {
"DATABASE_URL": "postgresql://localhost:5432/calendar_assistant",
"GOOGLE_CLIENT_ID": "your-client-id",
"GOOGLE_CLIENT_SECRET": "your-client-secret"
}
}
}
}
Troubleshooting and notes
If you encounter connectivity issues, check that PostgreSQL and Redis services are running and reachable at the configured URLs. Ensure the Google Calendar API credentials are valid and that the OAuth 2.0 flow completes successfully. For production, consider enabling caching, rate limiting, and robust logging to monitor performance and security events.
Examples and usage patterns
Examples of typical user requests include scheduling a meeting, finding free time for a workshop, adding reminders, and analyzing your schedule for patterns. You can ask the system to suggest optimal meeting times based on availability and past events.
Tools and capabilities overview
The MCP server exposes a range of calendar operations, task management, analytics, and intelligent insights to help you stay organized. It supports multi-calendar views, smart scheduling suggestions, and working hours preferences while maintaining reliable performance through caching and batch processing.
Security and monitoring
Security features include JWT-based sessions, OAuth 2.0 with Google Calendar, secure token handling, and input validation. Monitoring is provided through health checks, structured logging, and the ability to verify database and cache connectivity.
Available tools
get_calendars
List available calendars accessible to the account.
get_calendar_events
Retrieve events from a specified calendar.
create_calendar_event
Create a new calendar event with given parameters.
update_calendar_event
Modify an existing calendar event.
delete_calendar_event
Remove an event from a calendar.
find_free_time
Find available time slots across calendars.
check_availability
Check attendee availability for proposed times.
suggest_meeting_times
AI-powered recommendations for optimal meeting times.
create_reminder
Create tasks and reminders with priorities and due dates.
get_reminders
Retrieve tasks with optional filtering.
update_reminder
Modify existing reminders.
complete_reminder
Mark tasks as completed.
analyze_schedule_patterns
Analyze scheduling habits and patterns.
get_working_hours
Retrieve preferred working hours and constraints.
get_recent_similar_events
Find events related to context for better planning.
get_contact_suggestions
Auto-suggest frequent collaborators.