Summary
The Reminders MCP server enables AI assistants to create and manage reminders within conversations. Supports both one-time reminders (scheduled_at) and recurring reminders (cron expressions) with timezone awareness. Requires conversation API key for authentication.Authentication
This server requires a conversation API key. The key is automatically provided when tools are called within an Agentic Loop.Automatic in Agentic Loops: When using this server within an Agentic Loop, the conversation API key is provided automatically - no manual setup required.
Use Cases
One-Time Meeting Reminder
User: “Remind me about the team meeting tomorrow at 2pm” Tool Calls:create-reminderwith message “Team meeting”, scheduled_at “2026-02-05T14:00:00”, timezone “America/New_York”
Daily Standup Reminder
User: “Remind me every weekday at 9am about standup” Tool Calls:create-reminderwith message “Daily standup”, cron_expression “0 9 * * 1-5”, timezone “America/Los_Angeles”
Managing Reminders
User: “What reminders do I have coming up?” Tool Calls:list-reminderswith status “active” → Shows all active reminders- User: “Cancel the one about standup”
delete-reminderwith reminder_id from the standup reminder
Available Tools
create-reminder
Create a new reminder for the conversation.
Returns: Confirmation with reminder details including ID, message, schedule, and next run time.
Either/Or Requirement: You must provide either
scheduled_at (one-time) or cron_expression (recurring), but not both.0 9 * * *- Every day at 9:00 AM0 9 * * 1-5- Every weekday at 9:00 AM0 */2 * * *- Every 2 hours30 8 * * 1- Every Monday at 8:30 AM0 0 1 * *- First day of every month at midnight
list-reminders
List all reminders for the conversation.
Returns: Table of reminders ordered by next run time (upcoming first) with ID, message, type, next run time, and status.
Example:
Status Filters:
active- Currently enabled reminderspaused- Temporarily disabled reminderscompleted- One-time reminders that have triggeredfailed- Reminders that encountered errors
get-reminder
Get full details of a specific reminder by its ID.
Returns: Complete reminder information including schedule, timezone, and run history.
Example:
Reminder Not Found: If the reminder_id doesn’t exist for this conversation, an error is returned.
update-reminder
Update an existing reminder’s message, schedule, timezone, or status.
Returns: Confirmation with updated reminder details.
Partial Updates: You only need to provide the fields you want to change. Other fields remain unchanged.
active→paused(temporarily disable)paused→active(re-enable)
Cannot Update Completed or Failed: Only
active and paused reminders can be updated. Completed or failed reminders must be deleted and recreated.delete-reminder
Permanently delete a reminder by its ID.
Returns: Confirmation with deleted reminder’s ID and message.
Example:
Permanent Action: Deletion cannot be undone. The reminder is permanently removed from the database.
Common Workflows
Creating a Quick Reminder
1
Parse User Request
Extract message, time, and timezone from user’s natural language request
2
Create One-Time Reminder
Use
create-reminder with scheduled_at in ISO 8601 format3
Confirm
Show confirmation with formatted reminder details
Setting Up Recurring Reminders
1
Determine Pattern
Convert user’s request to cron expression (e.g., “every weekday” → “0 9 * * 1-5”)
2
Create Recurring Reminder
Use
create-reminder with cron_expression3
Verify Next Run
Confirm the next run time matches user’s expectation
Managing Reminders
1
List Reminders
Use
list-reminders to show all active reminders2
User Selects Action
User identifies which reminder to modify or delete
3
Update or Delete
Use
update-reminder to modify or delete-reminder to removeTimezone Best Practices
Validating Timezones
Before creating reminders, validate the user’s timezone:1
Ask for Timezone
“What timezone are you in?”
2
Search Timezones
Use Time Utilities
timezones tool to find valid identifiers3
Confirm
Show the user their timezone with current time using
now tool4
Create Reminder
Use validated timezone identifier with
create-reminderCommon Timezone Identifiers
Daylight Saving Time: IANA timezone identifiers automatically handle DST transitions. Times remain consistent from the user’s perspective.
Tips & Best Practices
- Always specify timezone when creating reminders to avoid confusion (defaults to UTC if not specified)
- Use ISO 8601 format for
scheduled_at(e.g., “2026-02-05T14:00:00”) - Test cron expressions before creating - incorrect patterns may not trigger as expected
- Pause instead of delete if the user might want to re-enable the reminder later
- List reminders before updating or deleting to confirm you’re acting on the right one
- Consider user’s intent - “tomorrow at 2pm” should use their local timezone, not UTC
Cron Expression Tips
- Use online tools to validate cron expressions before creating reminders
- Common mistake:
0 9 1-5 * *(days 1-5 of month) vs0 9 * * 1-5(Mon-Fri) - Be explicit:
0 9 * * 1,2,3,4,5is clearer than0 9 * * 1-5for some users - Test thoroughly: Create a test reminder with short intervals to verify the pattern works
Reminder Lifecycle
1
Created
Reminder is created with
create-reminder and status is active2
Pending
Reminder awaits its
next_run_at timestamp3
Triggered
At the scheduled time, a synthetic message is sent to the conversation
4
One-Time: Completed
One-time reminders move to
completed status after triggering5
Recurring: Next Run Calculated
Recurring reminders calculate the next
next_run_at based on cron expression6
Failed (if error)
If the reminder cannot be delivered, status changes to
failedAPI Reference
View the complete API specification for Reminders MCP server endpoints