Python client and agent for Google Calendar management via Model Context Protocol, with LLM integration for natural language calendar operations
This server has critical definition gaps. Tool names are inconsistent (get_calendar_events vs list_events; create_calendar_event vs create_event), making LLM selection ambiguous. Descriptions vary wildly in quality: some are in Korean with moderate detail, others are bare English stubs (e.g., 'List all available calendars'). Input schemas are present but many parameters lack descriptions (e.g., calendar_id in list_events has no description of what it controls). No output schemas documented. Error handling is minimal, tools return generic error strings without recovery guidance. The codebase shows 9 tools but only 4 are explicitly registered in ToolExecutor, suggesting incomplete implementation. No parameter validation rules, no enum constraints, no pagination support despite calendar APIs returning potentially large result sets.
Google Calendar에 새 이벤트를 생성합니다.
Create a new calendar event
Google Calendar의 이벤트를 삭제합니다.
Delete a calendar event
Google Calendar에서 지정된 기간의 이벤트를 조회합니다.
List all available calendars
List events from a calendar
Duplicate tools with inconsistent naming: get_calendar_events vs list_events, create_calendar_event vs create_event, update_calendar_event vs update_event, delete_calendar_event vs delete_event. LLMs cannot disambiguate which to call.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., event_id for update/delete). Responses appear to be unstructured strings.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2026-07-28+ | v2 |
Google Calendar의 기존 이벤트를 수정합니다.
Update an existing calendar event
Descriptions are inconsistent in language (Korean vs English) and quality. list_calendars, list_events, delete_event have descriptions under 40 chars with no context for when to use them. Descriptions must be 10-1024 chars and explain WHAT, WHEN, and WHAT IT RETURNS.
Parameters lack descriptions or constraints. calendar_id, time_min, time_max in list_events have no descriptions. No enums for status/type fields. No min/max for numeric params. No format specs for ISO datetime strings.
Error handling is minimal. Tools return generic error strings ('오류: 존재하지 않는 도구') without recovery guidance. No categorization of retryable vs fatal errors. No actionable error messages that tell LLMs what to do next.