Skip to content

fix(create_event): use flat parameters for MCP client compatibility#26

Open
madbonez wants to merge 1 commit intoOmar-V2:mainfrom
madbonez:fix/create-event-flat-params-mcp-compat
Open

fix(create_event): use flat parameters for MCP client compatibility#26
madbonez wants to merge 1 commit intoOmar-V2:mainfrom
madbonez:fix/create-event-flat-params-mcp-compat

Conversation

@madbonez
Copy link
Copy Markdown

@madbonez madbonez commented Feb 14, 2026

MCP Client Compatibility
create_event tool (2026-02)
Some MCP clients (e.g. Cursor IDE) pass tool parameters differently: nested objects may arrive as JSON strings instead of proper structures, which caused Pydantic validation errors such as: Input should be a valid dictionary or instance of CreateEventRequest.

Change: The create_event tool now accepts flat parameters instead of a single CreateEventRequest object. This is a more universal API: clients can send simple key–value arguments without building nested structures, which works across different MCP implementations and serialization behaviours.

Required: title, start_time, end_time
Optional: calendar_name, location, notes, alarms_minutes_offsets, url, all_day
Inside the server these are still assembled into CreateEventRequest and passed to CalendarManager. Calendar behaviour is unchanged; compatibility with various MCP clients is improved.

Some MCP clients (e.g. Cursor IDE) pass tool parameters as flat args
or serialize nested objects as JSON strings, causing Pydantic
validation errors. Switch create_event from single CreateEventRequest
to flat params (title, start_time, end_time + optional fields).
Server still builds CreateEventRequest internally; CalendarManager
unchanged.

Co-authored-by: Cursor <cursoragent@cursor.com>
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