diff --git a/mcp-registry/servers/calendar.json b/mcp-registry/servers/calendar.json new file mode 100644 index 00000000..9ff94107 --- /dev/null +++ b/mcp-registry/servers/calendar.json @@ -0,0 +1,283 @@ +{ + "display_name": "Calendar AutoAuth MCP Server", + "license": "MIT", + "tags": [ + "calendar", + "google calendar", + "mcp", + "oauth", + "authentication", + "claude desktop", + "events" + ], + "installations": { + "npm": { + "type": "npm", + "command": "npx", + "args": [ + "@gongrzhe/server-calendar-autoauth-mcp" + ], + "description": "Installation via Smithery for Claude Desktop" + }, + "docker": { + "type": "docker", + "command": "docker", + "args": [ + "run", + "-i", + "--rm", + "-v", + "mcp-calendar:/calendar-server", + "-e", + "CALENDAR_CREDENTIALS_PATH=/calendar-server/credentials.json", + "mcp/calendar" + ], + "description": "Docker installation for Claude Desktop" + } + }, + "tools": [ + { + "name": "create_event", + "description": "Creates a new event in Google Calendar", + "inputSchema": { + "type": "object", + "properties": { + "summary": { + "type": "string", + "description": "Event title" + }, + "start": { + "type": "object", + "properties": { + "dateTime": { + "type": "string", + "description": "Start time (ISO format)" + }, + "timeZone": { + "type": "string", + "description": "Time zone" + } + }, + "required": [ + "dateTime" + ], + "additionalProperties": false + }, + "end": { + "type": "object", + "properties": { + "dateTime": { + "type": "string", + "description": "End time (ISO format)" + }, + "timeZone": { + "type": "string", + "description": "Time zone" + } + }, + "required": [ + "dateTime" + ], + "additionalProperties": false + }, + "description": { + "type": "string", + "description": "Event description" + }, + "location": { + "type": "string", + "description": "Event location" + } + }, + "required": [ + "summary", + "start", + "end" + ], + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + } + }, + { + "name": "get_event", + "description": "Retrieves details of a specific event", + "inputSchema": { + "type": "object", + "properties": { + "eventId": { + "type": "string", + "description": "ID of the event to retrieve" + } + }, + "required": [ + "eventId" + ], + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + } + }, + { + "name": "update_event", + "description": "Updates an existing event", + "inputSchema": { + "type": "object", + "properties": { + "eventId": { + "type": "string", + "description": "ID of the event to update" + }, + "summary": { + "type": "string", + "description": "New event title" + }, + "start": { + "type": "object", + "properties": { + "dateTime": { + "type": "string", + "description": "New start time (ISO format)" + }, + "timeZone": { + "type": "string", + "description": "Time zone" + } + }, + "required": [ + "dateTime" + ], + "additionalProperties": false + }, + "end": { + "type": "object", + "properties": { + "dateTime": { + "type": "string", + "description": "New end time (ISO format)" + }, + "timeZone": { + "type": "string", + "description": "Time zone" + } + }, + "required": [ + "dateTime" + ], + "additionalProperties": false + }, + "description": { + "type": "string", + "description": "New event description" + }, + "location": { + "type": "string", + "description": "New event location" + } + }, + "required": [ + "eventId" + ], + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + } + }, + { + "name": "delete_event", + "description": "Deletes an event from the calendar", + "inputSchema": { + "type": "object", + "properties": { + "eventId": { + "type": "string", + "description": "ID of the event to delete" + } + }, + "required": [ + "eventId" + ], + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + } + }, + { + "name": "list_events", + "description": "Lists events within a specified time range", + "inputSchema": { + "type": "object", + "properties": { + "timeMin": { + "type": "string", + "description": "Start of time range (ISO format)" + }, + "timeMax": { + "type": "string", + "description": "End of time range (ISO format)" + }, + "maxResults": { + "type": "number", + "description": "Maximum number of events to return" + }, + "orderBy": { + "type": "string", + "enum": [ + "startTime", + "updated" + ], + "description": "Sort order" + } + }, + "required": [ + "timeMin", + "timeMax" + ], + "additionalProperties": false, + "$schema": "http://json-schema.org/draft-07/schema#" + } + } + ], + "examples": [ + { + "title": "", + "description": "", + "prompt": "Create a calendar event for a team meeting tomorrow at 10 AM for 1 hour in Conference Room A" + }, + { + "title": "", + "description": "", + "prompt": "Show me my calendar events for next week" + }, + { + "title": "", + "description": "", + "prompt": "Update my meeting with John on Friday to start at 2 PM instead" + }, + { + "title": "", + "description": "", + "prompt": "Delete the dentist appointment from my calendar" + }, + { + "title": "", + "description": "", + "prompt": "List all my meetings scheduled for January 2024" + }, + { + "title": "", + "description": "", + "prompt": "Create a new event titled 'Project Review' on Monday from 3-4 PM with a description 'Quarterly project status review'" + } + ], + "name": "calendar", + "repository": { + "type": "git", + "url": "https://github.com/GongRzhe/Calendar-Autoauth-MCP-Server" + }, + "homepage": "https://github.com/GongRzhe/Calendar-Autoauth-MCP-Server", + "author": { + "name": "GongRzhe" + }, + "description": "A Model Context Protocol (MCP) server for Google Calendar integration in Claude Desktop with auto authentication support. This server enables AI assistants to manage Google Calendar events through natural language interactions.", + "categories": [ + "Productivity" + ], + "is_official": false +}