Skip to main content
Glama

update_event

Modify existing calendar events by updating details like subject, date, time, location, or description directly in Microsoft Outlook, ensuring changes are managed locally for privacy.

Instructions

Update an existing calendar event

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyNoNew event description/body (optional)
calendarNoCalendar name (optional)
endDateNoNew end date in MM/DD/YYYY format (optional)
endTimeNoNew end time in HH:MM AM/PM format (optional)
eventIdYesEvent ID to update
locationNoNew event location (optional)
startDateNoNew start date in MM/DD/YYYY format (optional)
startTimeNoNew start time in HH:MM AM/PM format (optional)
subjectNoNew event subject/title (optional)

Implementation Reference

  • The specific handler function for the 'update_event' MCP tool. It extracts parameters, calls the updateEvent helper function from scriptRunner.js, and formats the response as MCP content with error handling.
    handler: async ({ eventId, subject, startDate, startTime, endDate, endTime, location, body, calendar }) => { try { const result = await updateEvent(eventId, subject, startDate, startTime, endDate, endTime, location, body, calendar); return { content: [ { type: 'text', text: result.success ? `Event updated successfully` : `Failed to update event` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error updating event: ${error.message}` } ], isError: true }; } }
  • Input schema for the 'update_event' tool, defining all parameters with types, descriptions, and required fields.
    inputSchema: { type: 'object', properties: { eventId: { type: 'string', description: 'Event ID to update' }, subject: { type: 'string', description: 'New event subject/title (optional)' }, startDate: { type: 'string', description: 'New start date in MM/DD/YYYY format (optional)' }, startTime: { type: 'string', description: 'New start time in HH:MM AM/PM format (optional)' }, endDate: { type: 'string', description: 'New end date in MM/DD/YYYY format (optional)' }, endTime: { type: 'string', description: 'New end time in HH:MM AM/PM format (optional)' }, location: { type: 'string', description: 'New event location (optional)' }, body: { type: 'string', description: 'New event description/body (optional)' }, calendar: { type: 'string', description: 'Calendar name (optional)' } }, required: ['eventId'] },
  • src/index.js:34-39 (registration)
    Registers all Outlook tools, including 'update_event', by calling defineOutlookTools() and loading them into the MCP server's tool registry.
    // Define the tools this.tools = defineOutlookTools(); // Set up request handlers this.setupToolHandlers();
  • Helper function that executes the VBScript 'updateEvent.vbs' with the provided event update parameters using the general executeScript utility.
    export async function updateEvent(eventId, subject, startDate, startTime, endDate, endTime, location, body, calendar) { return executeScript('updateEvent', { eventId, subject, startDate, startTime, endDate, endTime, location, body, calendar }); }
  • src/index.js:66-95 (registration)
    MCP server request handler for calling any tool (including 'update_event') by looking up in the tool registry and invoking its handler.
    this.server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: args } = request.params; // Find the requested tool const tool = this.tools[name]; if (!tool) { throw new McpError( ErrorCode.MethodNotFound, `Tool not found: ${name}` ); } try { // Call the tool handler return await tool.handler(args); } catch (error) { console.error(`Error executing tool ${name}:`, error); return { content: [ { type: 'text', text: `Error executing tool ${name}: ${error.message}`, }, ], isError: true, }; } });

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/merajmehrabi/Outlook_Calendar_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server