Skip to content

Add schedule/calendar support to Basecamp MCP server#3

Open
lucletoffe wants to merge 3 commits intojhliberty:masterfrom
lucletoffe:feature/calendar-schedule-support
Open

Add schedule/calendar support to Basecamp MCP server#3
lucletoffe wants to merge 3 commits intojhliberty:masterfrom
lucletoffe:feature/calendar-schedule-support

Conversation

@lucletoffe
Copy link
Copy Markdown

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 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 in src/types/basecamp.ts
  • Implemented 6 schedule API methods in src/lib/basecamp-client.ts
  • Added MCP tool definitions and handlers in src/index.ts
  • Fixed pre-existing TypeScript errors in src/test/utils.ts

API 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:

  • Create meetings and events directly in Basecamp calendars
  • View upcoming schedule entries
  • Manage event participants and notifications
  • Update or delete scheduled items

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com

Luc LETOFFE and others added 3 commits January 9, 2026 15:16
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
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