Google Calendar MCP Server

Google Calendar MCP Server

Enables AI assistants to interact with Google Calendar through a simplified OAuth setup. Supports creating, editing, deleting, and searching calendar events without the complexity of Google Cloud Console configuration.

Category
访问服务器

README

🗓️ Google Calendar MCP Server

I got tired of the Google Cloud setup BS, so I built this.

Connect your calendar in 30 seconds, not 3 hours.

Skip the OAuth nightmare. No Google Cloud Console. No service accounts. No headaches. Just works with Claude Desktop, Cursor, Zed, or whatever MCP client you're using.

✨ Why This Rocks

  • 🚀 Actually Easy Setup - 30 seconds vs 3 hours of Google Cloud hell
  • 🔒 OAuth That Works - No token management headaches
  • 🔧 Works Everywhere - Claude, Cursor, Zed... if it does MCP, we got you
  • ⚡ Deploy & Forget - One-click Vercel deployment
  • 🗓️ Full Calendar Power - Create, edit, delete events like a boss
  • 🌐 Your Server - Host it yourself, own your data
  • 📱 Test Drive - Web UI to make sure everything works before going live

Just Want to Use It?

  1. Connect your calendar:

    • Go to https://cal-mcp.com
    • Hit "Connect Google Calendar"
    • Do the OAuth dance
    • Copy your config
  2. Add to your MCP client:

    Option A: Streamable HTTP (Recommended)

    {
      "mcpServers": {
        "google-calendar": {
          "url": "https://cal-mcp.com/api/mcp"
        }
      }
    }
    

    Option B: STDIO (Local Server)

    {
      "mcpServers": {
        "google-calendar": {
          "command": "npx",
          "args": ["-y", "mcp-remote", "https://cal-mcp.com/api/mcp"]
        }
      }
    }
    

Want to Run Your Own?

  1. Grab the code:

    git clone https://github.com/progrmoiz/cal-mcp
    cd cal-mcp
    npm install
    
  2. Google OAuth setup (yeah, still need this part):

    • Hit up Google Cloud Console
    • Make a project (or use an existing one)
    • Enable Google Calendar API
    • Create OAuth 2.0 credentials
    • Add this redirect URI: http://localhost:3000/api/auth/callback/google
  3. Environment variables:

    cp .env.example .env.local
    

    Drop in your Google stuff:

    GOOGLE_CLIENT_ID=your_client_id
    GOOGLE_CLIENT_SECRET=your_client_secret
    BETTER_AUTH_SECRET=any_random_string
    BETTER_AUTH_URL=http://localhost:3000
    
  4. Fire it up:

    npm run dev
    
  5. Connect your calendar:

    • Go to http://localhost:3000
    • Hit "Connect Google Calendar"
    • Do the OAuth dance
    • Copy your config

🧪 Test Drive

Built-in web interface because who wants to debug blind?

  • Play with Events - Create, edit, delete events right in the browser
  • OAuth Testing - Make sure the auth flow actually works
  • Debug Mode - See raw API responses when things go sideways
  • Sanity Check - Verify everything works before plugging into your AI

Hit http://localhost:3000 once you're running and give it a spin.

What You Can Do

All the calendar stuff you'd expect:

  • list-calendars - See all your calendars
  • list-events - Get events for a date range
  • create-event - Make new events
  • update-event - Change existing events
  • delete-event - Remove events
  • search-events - Find events by text
  • get-event - Get event details
  • move-event - Move events between calendars
  • list-colors - Get color options for calendars/events
  • get-freebusy - Check when you're available
  • get-current-time - Current time and timezone info

For Builders

What's under the hood:

  • Better Auth handling the OAuth mess
  • MCP server that actually works
  • Next.js for the web stuff
  • TypeScript because we're not animals

Going Live

Ready to deploy? Here's what you need:

  1. Environment Variables - Set them on your hosting platform
  2. Database - Point to your Neon PostgreSQL URL
  3. Google OAuth - Update redirect URIs for your domain
  4. HTTPS - Because OAuth demands it

Security Stuff

  • Better Auth handles tokens so you don't have to
  • Secrets stay in environment variables where they belong
  • Everything needs auth (obviously)
  • Token refresh happens automatically

🛠️ When Things Break

Stuff not working? Try these:

Your AI Tool Doesn't Do MCP

Not all AI tools support MCP yet. Check if yours does before pulling your hair out.

Remote Connections Failing

Some tools do MCP but hate remote servers. Use the STDIO config instead.

OAuth Acting Up

Did you actually complete the Google login? Try connecting again from the homepage.

No MCP Support At All

Bug your AI tool's developers to add MCP support. The more people ask, the faster it happens.

🛠️ Architecture

Built with modern technologies for reliability and ease of use:

  • Next.js 15 - Full-stack framework with API routes
  • Better Auth - Secure OAuth 2.0 authentication
  • MCP Handler - Model Context Protocol server implementation
  • Google Calendar API - Direct integration with Google's calendar services
  • Vercel - Serverless deployment platform
  • TypeScript - Type-safe development

🤝 Want to Help?

Contributions welcome! Here's how:

  1. 🐛 Found a Bug? - Open an issue, tell us what broke
  2. 💡 Got Ideas? - Issues are perfect for brainstorming
  3. 🔧 Can Code? - PRs for fixes and features always welcome
  4. 📖 Hate Bad Docs? - Make them better!
  5. 🧪 Just Testing? - Feedback is gold

How to Contribute:

  1. Fork it
  2. Branch it: git checkout -b feature/cool-thing
  3. Code it (and test it!)
  4. PR it with a good description

If you want to contribute, here are some ideas worth tackling:

  • 📊 Google Sheets MCP - Spreadsheets meet AI (imagine the possibilities!)
  • 📧 Gmail MCP - Email automation that doesn't suck
  • ☁️ Google Drive MCP - File management for the AI era
  • 📝 Google Docs MCP - Collaborative writing with AI superpowers

Other Calendar Providers:

  • 📅 Outlook/Microsoft 365 - Because not everyone lives in Google land
  • 🍎 Apple Calendar (CalDAV) - For the Mac enthusiasts

Got another idea? Just build it!

The beauty of this setup is that it's dead simple to extend. Copy the auth flow, swap the API endpoints, and boom - you've got yourself a new MCP server.

Feel free to fork this repo and create a pull request. Let's build the future of productivity tools together, one API at a time. 🛠️

📄 License

MIT License - do whatever you want with it.

💬 Need Help?

  • 📖 Docs: This README + code comments
  • 🐛 Bugs: GitHub Issues
  • 💬 Questions: GitHub Discussions
  • 📧 Collaboration: Hit me up

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选