{"name":"io.github.deciduus/calendar-mcp","slug":"deciduus-calendar-mcp","title":null,"description":"Google Calendar for LLM agents: find, create, update, move, delete events; free/busy; scheduling.","url":"https://mcp.market/server/deciduus-calendar-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"productivity","tags":["productivity","ai"],"presence":{"score":29,"stars":26,"forks":19,"downloads_week":null,"last_push_at":"2026-09-06T00:05:33.000Z","license":"NOASSERTION"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/deciduus/calendar-mcp","website":null,"version":"1.0.1","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"calendar-mcp-server","version":"1.0.1","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"OAuth 2.0 client ID for a Google Cloud project with the Google Calendar API enabled.","isRequired":true,"name":"GOOGLE_CLIENT_ID"},{"description":"OAuth 2.0 client secret matching GOOGLE_CLIENT_ID.","isRequired":true,"isSecret":true,"name":"GOOGLE_CLIENT_SECRET"},{"description":"Path to the saved OAuth token file written by 'calendar-mcp auth'.","default":".gcp-saved-tokens.json","name":"TOKEN_FILE_PATH"}]}],"tools":[{"name":"add_attendee","description":"Invite one or more people to an existing event.","write_action":false,"price_micros":0,"input_schema":null},{"name":"analyze_busyness","description":"Summarise how loaded each day is: event count and total scheduled minutes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"check_attendee_status","description":"Report who has accepted, declined or not yet answered an event invitation.","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_calendar","description":"Create a new secondary calendar owned by the user.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_event","description":"Create an event with explicit start and end times, and optional attendees.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_event","description":"Permanently delete an event. This cannot be undone.","write_action":true,"price_micros":0,"input_schema":null},{"name":"find_events","description":"Search a calendar for events, expanding recurring series into instances.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_calendars","description":"List the calendars the signed-in user can see, with their IDs and timezones.","write_action":false,"price_micros":0,"input_schema":null},{"name":"move_event","description":"Reschedule an event, and/or move it to a different calendar.","write_action":false,"price_micros":0,"input_schema":null},{"name":"project_recurring_events","description":"Compute future occurrences of recurring events from their recurrence rules.","write_action":false,"price_micros":0,"input_schema":null},{"name":"query_free_busy","description":"Get busy intervals for one or more calendars, without revealing event details.","write_action":false,"price_micros":0,"input_schema":null},{"name":"quick_add_event","description":"Create an event from a plain-English phrase, parsed by Google.","write_action":true,"price_micros":0,"input_schema":null},{"name":"respond_to_event","description":"Set the user's own RSVP on an invitation they have received.","write_action":false,"price_micros":0,"input_schema":null},{"name":"schedule_mutual","description":"Find the first slot where everyone is free, then book the meeting there.","write_action":false,"price_micros":0,"input_schema":null},{"name":"update_event","description":"Change fields on an existing event. Omitted fields are left untouched.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-20T11:38:31.787Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T11:38:31.712Z","components":{"code":{"score":25,"max":25,"notes":["10 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 14 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"calendar-mcp-server","version":"1.0.1","found":true,"license":"AGPL-3.0","dependencyCount":13,"publishedAt":"2026-09-05T11:03:02.054692Z","repositoryUrl":"https://github.com/deciduus/calendar-mcp"}],"repo":{"found":true,"owner":"deciduus","repo":"calendar-mcp","archived":false,"pushedAt":"2026-09-06T00:05:33Z","stars":26,"forks":19,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/151121987?v=4","ownerCreatedAt":"2023-11-17T06:23:14Z","license":"NOASSERTION"},"icon":{"url":"https://avatars.githubusercontent.com/u/151121987?v=4&s=128","source":"github"},"presence":{"stars":26,"forks":19,"downloadsWeek":null,"license":"NOASSERTION","lastPushAt":"2026-09-06T00:05:33.000Z","score":29}}}},"grade_history":[],"reviews":[]}