Skip to content

Add Streamable HTTP Support & Enhanced Calendar Features #40

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 17 commits into
base: main
Choose a base branch
from

Conversation

nspady
Copy link
Owner

@nspady nspady commented Jun 3, 2025

This PR modernizes the Google Calendar MCP Server to v1.3.0 with streamable HTTP transport support and enhanced calendar management capabilities.

Key Benefits:
Modern HTTP Transport: Add support for streamable HTTP transport, enabling remote deployment and better session management
Improved Developer Experience: Centralized RFC3339 datetime validation, better error handling, and comprehensive test coverage
Production Ready: CORS support, rate limiting, and origin validation for secure remote access

Breaking Changes:
Requires MCP SDK v1.12.1+
Standardizes all datetime inputs to RFC3339 format with mandatory timezone
Updates recurring event modification scope values for clarity

This enables the server to be deployed as a web service while maintaining full backward compatibility for local stdio usage.
This description focuses on the expected benefits while keeping it concise and highlighting the most important changes that would matter to users and maintainers.

nspady added 17 commits May 31, 2025 17:27
…lient example and curl testing script for improved usability.
…ckage.json to rename HTTP start script and adjust dependencies. Improve error handling and logging in auth flow, and streamline command-line argument parsing by removing unused options.
…g. Introduce centralized validation schemas for date-time formats and enhance event update functionality with new modification scopes. Remove deprecated tool handlers and improve authentication server timeout handling.
…event double-initialization errors. Add health check endpoint to server response and update validation schemas for time boundaries. Modify FreeBusyEventHandler and ListEventsHandler to use updated argument structures for improved consistency.
…nality. Introduce JSON string parsing for calendarId in ListEventsArgumentsSchema and related handlers, ensuring consistent processing across tools. Update README and architecture documentation to reflect new time validation requirements and transport security measures, including origin and request size validation.
…arameter in DeleteEventArgumentsSchema and updating the DeleteEventHandler to utilize this parameter.
- Added support for managing multiple Google accounts in the new `account-manager.js` script, allowing users to authenticate and manage tokens for both normal and test accounts.
- Updated `.gitignore` to include `.env` file for environment variable management.
- Introduced new npm scripts for account management and testing, including commands for checking account status and clearing tokens.
- Enhanced README documentation to reflect new features and usage instructions for multi-account OAuth management.
- Updated `package.json` and `package-lock.json` to include the `@anthropic-ai/sdk` dependency.
- Refactored authentication server to display the current account mode during the authentication process.
- Improved token management to support multi-account storage and retrieval, ensuring tokens are saved and loaded based on the active account mode.
- Introduced `GoogleCalendarMcpServer` class to encapsulate server logic, including authentication and transport handling.
- Reorganized main application logic to streamline server initialization and startup processes.
- Added support for both stdio and HTTP transport modes with dedicated handlers for each.
- Enhanced token management to support account modes, allowing for better handling of authentication tokens.
- Implemented health check endpoint and improved error handling in transport requests.
- Updated version to 1.3.0 to reflect significant architectural changes and enhancements.
- Added new integration tests for OpenAI MCP, covering end-to-end workflows and error handling scenarios.
- Updated `package.json` and `package-lock.json` to include the `openai` dependency and ensure compatibility with the latest versions.
- Refactored existing integration tests to standardize environment variable usage for Google account mode.
…on logic

- Deleted the deployment guide for the Google Calendar MCP server, consolidating deployment instructions into the main README.
- Updated server authentication logic to support dynamic account modes, improving error messages and token validation for both normal and test accounts.
- Refactored integration tests to utilize a cleaner environment setup, ensuring consistent testing across different account modes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant