Skip to main content
Glama
PranayChowdhury00

MCP Google Calendar Integration

README.md
# šŸ“… MCP Google Calendar Integration

This project is a **Model Context Protocol (MCP)** tool that connects with the **Google Calendar API** to fetch calendar events for a given date. It integrates seamlessly with AI-driven editors like **[Cursor](https://www.cursor.so/)** to enhance your productivity by bringing live calendar data right into your coding environment.

---

## šŸ”§ Features

- šŸ“† Get calendar events for a specific date
- ⚔ Real-time integration using MCP
- 🧠 Natural language tool commands from inside your editor
- āœ… Simple schema validation using `zod`
- šŸ”’ Uses environment variables to keep sensitive info secure

---

## šŸ“ Project Structure

/MCP_SERVER
│
ā”œā”€ā”€ server.js # MCP server setup and calendar tool
ā”œā”€ā”€ .env # Environment variables (not committed)
ā”œā”€ā”€ package.json # Dependencies and scripts
└── .mcp # MCP configuration file

---

## šŸ“¦ Technologies Used

- [`@modelcontextprotocol/sdk`](https://www.npmjs.com/package/@modelcontextprotocol/sdk) – MCP server and transport
- [`googleapis`](https://www.npmjs.com/package/googleapis) – Google Calendar API client
- [`zod`](https://www.npmjs.com/package/zod) – Input validation
- [`dotenv`](https://www.npmjs.com/package/dotenv) – Load `.env` files

---

## šŸš€ Getting Started

### 1. Clone the repository

```bash
git clone https://github.com/your-username/mcp-calendar-tool.git
cd mcp-calendar-tool

```
2. Install dependencies
npm install
3. Create a .env file
GOOGLE_API_KEY=your_google_calendar_api_key
CALENDAR_ID=your_calendar_id_or_email
4. Run the server
npm start
------------
## Usage Example (in Cursor)

šŸ›  MCP Configuration (.mcp)

{
  "mcpServers": {
    "myCalenderData": {
      "command": "node",
      "args": ["server.js"],
      "env": {
        "GOOGLE_API_KEY": "your_api_key_here",
        "CALENDAR_ID": "your_calendar_id_here"
      }
    }
  }
}
## šŸ” Notes on API Access
Make sure the Google Calendar API is enabled in your Google Cloud Console.

The calendar should be public or shared properly if using an API key.

## 🧭 Future Improvements
Add OAuth2 authentication for multiple users

Support recurring events and event descriptions

Integrate Google Tasks and reminders

## šŸ“„ License
This project is open-source and available under the MIT License.

## šŸ™‹ā€ā™‚ļø Author
Pranay Chowdhury
Frontend Developer | MERN Stack Enthusiast
LinkedIn • GitHub

TDQS

D1.7/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool stands alone without any competing or confusing alternatives.

Naming Consistency5/5

A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The naming pattern cannot be inconsistent when only one exists.

Tool Count2/5

A single tool for a Google Calendar integration is too few for the apparent scope. Calendar integrations typically require multiple operations like creating, updating, deleting events, and listing calendars, making this server severely under-equipped.

Completeness1/5

The tool surface is severely incomplete for a Google Calendar domain. With only a date-based data retrieval tool, there are obvious gaps in CRUD operations, event management, and other essential calendar functionalities, which will cause agent failures.

Maintenance

ActivityInactive
ResponsivenessNo issues