-
Notifications
You must be signed in to change notification settings - Fork 107
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
nspady
wants to merge
17
commits into
main
Choose a base branch
from
streamable-http-support
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.