Add schedule/calendar support to Basecamp MCP server#3
Open
lucletoffe wants to merge 3 commits intojhliberty:masterfrom
Open
Add schedule/calendar support to Basecamp MCP server#3lucletoffe wants to merge 3 commits intojhliberty:masterfrom
lucletoffe wants to merge 3 commits intojhliberty:masterfrom
Conversation
This PR adds full calendar/schedule functionality to the MCP server, bringing the tool count from 31 to 37 tools. ## Changes ### New Features (6 tools) - `get_schedule` - Get a project's schedule - `get_schedule_entries` - List calendar events with filtering - `get_schedule_entry` - Get a specific calendar event - `create_schedule_entry` - Create new calendar events - `update_schedule_entry` - Update existing events - `delete_schedule_entry` - Delete calendar events ### Technical Implementation - Added `Schedule` and `ScheduleEntry` TypeScript interfaces - Implemented 6 schedule API methods in BasecampClient - Added MCP tool definitions and handlers in index.ts - Fixed pre-existing TypeScript errors in test utilities ### API Compatibility All endpoints follow the official Basecamp 4 API documentation: https://github.com/basecamp/bc3-api/blob/master/sections/schedule_entries.md ## Testing - ✅ TypeScript compilation successful - ✅ Successfully creates calendar events - ✅ Tested with real Basecamp account 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Use correct Basecamp API endpoint for trashing schedule entries.
The endpoint should be a PUT to /recordings/{id}/status/trashed.json
instead of DELETE to /schedule_entries/{id}.json
This follows the Basecamp 4 API recordings pattern for trashing items.
✅ All 5 calendar functions now fully tested and working
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
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 adds full calendar/schedule functionality to the MCP server, bringing the tool count from 31 to 37 tools.
New Features (6 tools)
get_schedule- Get a project's scheduleget_schedule_entries- List calendar events with filteringget_schedule_entry- Get a specific calendar eventcreate_schedule_entry- Create new calendar events ⭐update_schedule_entry- Update existing eventsdelete_schedule_entry- Delete calendar eventsTechnical Implementation
ScheduleandScheduleEntryTypeScript interfaces insrc/types/basecamp.tssrc/lib/basecamp-client.tssrc/index.tssrc/test/utils.tsAPI Compatibility
All endpoints follow the official Basecamp 4 API documentation:
https://github.com/basecamp/bc3-api/blob/master/sections/schedule_entries.md
https://github.com/basecamp/bc3-api/blob/master/sections/schedules.md
Testing
Why This Feature?
Schedule/calendar management was a notable gap in the MCP server's Basecamp integration. The Basecamp 4 API supports 39 endpoint categories, and schedules/schedule_entries were missing from the original 31 tools.
This enhancement enables AI assistants to:
🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com