Skip to content

Feature: Add calendar tools#349

Open
seanogdev wants to merge 2 commits into
mainfrom
calendar-tools
Open

Feature: Add calendar tools#349
seanogdev wants to merge 2 commits into
mainfrom
calendar-tools

Conversation

@seanogdev

@seanogdev seanogdev commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Description

The Go SDK gained calendar support in Teamwork/twapi-go-sdk#46 but it was never wired into the MCP. This PR adds three calendar tools to the twprojects-time toolset, covering the new v3 calendars feature including time blocking.

  • twprojects-list_calendars lists calendars, including the blocked_time calendar that holds the account's time-blocking events
  • twprojects-list_calendar_events lists events from a calendar with date range filters and cursor pagination. When verbose it sideloads users, projects, tasks and timelogs so timeblocks resolve to their linked entities without extra calls
  • twprojects-create_calendar creates event, blocked_time or holiday calendars. The google and outlook types are deliberately excluded since those only come into existence via the sync integrations

Calendar deletion is intentionally not exposed. Calendars are user-scoped in the product and deleting one (especially the account-wide blocked_time calendar) isn't an operation an AI agent should be making, so we only expose the read and create side.

Both list tools follow the list_* contract: verbose parameter, raw body streaming via ExecuteRaw, a sparse field set when verbose=false and WithOptionalFields on the output schema.

The SDK only supports reading events for now, so there's no create/update tool for events or timeblocks yet. Once that lands in the SDK we can add the write side here.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

Testing

  • Tests pass locally (go test -v ./...)
  • Added/updated tests for new functionality

Checklist

  • Code follows project style guidelines
  • Self-reviewed the code
  • Added necessary documentation
  • No new warnings or errors

@seanogdev seanogdev requested a review from a team as a code owner June 11, 2026 17:05
@seanogdev seanogdev requested a review from ready4god2513 June 11, 2026 17:09
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