Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 20 additions & 1 deletion src/mcp_ical/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from loguru import logger
from mcp.server.fastmcp import FastMCP

from .ical import CalendarManager
from .ical import CalendarManager, NoSuchEventException
from .models import CreateEventRequest, UpdateEventRequest

mcp = FastMCP("Calendar")
Expand Down Expand Up @@ -197,6 +197,25 @@ async def update_event(event_id: str, update_event_request: UpdateEventRequest)
return f"Error updating event: {str(e)}"


@mcp.tool()
async def delete_event(event_id: str) -> str:
"""Delete a calendar event by its unique identifier.

Use the event ID returned from list_events or create_event.

Args:
event_id: Unique identifier of the event to delete (e.g. from list_events or create_event).
"""
try:
manager = get_calendar_manager()
manager.delete_event(event_id)
return "Successfully deleted event."
except NoSuchEventException:
return f"Event with ID {event_id} not found."
except Exception as e:
return f"Error deleting event: {str(e)}"


def main():
logger.info("Running mcp-ical server...")
mcp.run(transport="stdio")
Expand Down
Loading