Skip to main content
Glama
ehs208

TimeTree MCP Server

by ehs208

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TIMETREE_EMAILYesYour TimeTree account email
TIMETREE_PASSWORDYesYour TimeTree account password

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_calendarsA

List your active TimeTree calendars with their IDs, names, and members. Call this first: every other tool needs a calendar_id from here. Use the member names to pick a calendar when the user mentions a person (e.g., "events with [name]").

create_calendarA

Create a new, empty calendar owned by you and return its ID. Does not invite anyone or change existing calendars. Name is 1-20 characters and purpose is required. After a timeout or server error, check list_calendars before retrying, since the calendar may already exist.

get_current_userA

Return the signed-in TimeTree user's user ID and name. Use it to find "me" among calendar members (get_calendar_members), event attendees, comment authors, and activity.

get_eventsA

Find events in a calendar by start time range, keyword, or label, sorted by start time. Use this to answer "what is on my schedule"; use get_updated_events or get_recent_activity for "what changed". Reads every page of the calendar, then filters; limit applies after sorting. Memos are included unless include_memos is false (list_memos returns only memos). When start_before is set, recurring events are expanded into each occurrence in the range. Occurrences share the series uuid, so update_event changes the whole series; use update_event_occurrence or delete_event_occurrence with the occurrence start_at to change one.

get_updated_eventsA

List events and memos changed after a point in time, with their current content. Deleted ones are included with deleted: true. Use this to sync or review changes since a time; use get_recent_activity to see who changed what, and get_events to look up a schedule. Recurring events are returned once, not expanded.

create_eventA

Create an event in a TimeTree calendar and return it with its uuid. Other calendar members see it, and attendees may be notified. Supports all-day events, reminders, RRULE recurrence, attendees (user IDs from get_calendar_members), virtual member attendees, and a checklist. For a memo without a date use create_memo; to duplicate an existing event use copy_event.

update_eventA

Change an event and return the updated event. Only provide the fields to change; array fields (attendees, alerts, recurrences, checklist, virtual attendees) replace the current values. For a recurring event this changes every occurrence; to change one occurrence or the ones after it, use update_event_occurrence. For memos use update_memo.

delete_eventA

Delete an event, including every occurrence of a recurring event. Cannot be undone. To delete one occurrence or the ones after it, use delete_event_occurrence. For memos use delete_memo.

update_event_occurrenceA

Change one occurrence of a recurring event ("only this week"), or that occurrence and all later ones (scope "this_and_following", e.g. "from next month on"), keeping earlier occurrences as they are. Use update_event to change the whole series. Get the series uuid and occurrence_start_at from get_events with start_before set. Only provide the fields to change; start_at moves the occurrence and keeps its length unless end_at is given. scope "this" creates a separate event linked to the series (parent_id); "this_and_following" ends the series before the occurrence and starts a new series with a new uuid, or changes the whole series when it is the first occurrence.

delete_event_occurrenceA

Delete one occurrence of a recurring event, or that occurrence and all later ones (scope "this_and_following"), keeping the rest of the series. Use delete_event to delete the whole series. Get the series uuid and occurrence_start_at from get_events with start_before set. Deleting from the first occurrence onward deletes the whole series. Cannot be undone.

copy_eventA

Copy an existing event to a new date and time, optionally into another calendar, and return the new event. Keeps the title, note, location, URL, label, reminders, and checklist; recurrence is not copied, so the copy is a single event. Attendees and virtual attendees are kept only within the same calendar. The original is unchanged.

list_memosA

List the memos in a calendar: notes, lists, and checklists that are not scheduled events. Use get_events for events (it also includes memos unless include_memos is false). Optionally only memos updated after a time.

create_memoA

Create a memo in a calendar and return it with its uuid: a note, list, or checklist that is not a scheduled event, such as a shopping list. Other calendar members can see it. Use create_event for something that happens at a time. Change it later with update_memo.

update_memoA

Change a memo and return it. Only provide the fields to change; checklist and virtual attendees replace the current lists. Get memo_uuid from list_memos. Fails for regular events (use update_event).

delete_memoA

Delete a memo. Cannot be undone. Get memo_uuid from list_memos. Fails for regular events (use delete_event).

add_event_commentA

Post a comment on an event and return it with its id. Comments are visible to everyone in the calendar; by default no push notification is sent (silent). Get event_uuid from get_events. To change the event's own note use update_event; to edit or remove a comment later use update_event_comment or delete_event_comment.

list_event_commentsA

List comments with their ids, author user IDs, and attached image metadata. Use get_event_comment_image to view an image. Only comments are returned, not change history; use get_recent_activity for who changed what.

get_event_comment_imageA

View one image attached to an event comment, including images posted by free accounts. Get comment_id and image_index from list_event_comments. Returns image content directly, without saving a file. Supports JPEG, PNG, GIF, and WebP up to 5 MiB. Premium event file attachments are not supported.

update_event_commentA

Replace the text of an existing comment and return it. TimeTree lets only the comment's author edit it. Get comment_id from list_event_comments; use add_event_comment to post a new comment instead.

delete_event_commentA

Delete a comment from an event. Cannot be undone, and TimeTree lets only the comment's author delete it. Get comment_id from list_event_comments.

get_calendar_labelsA

List the 10 color labels of a calendar with their IDs, names, colors, and order. Use the IDs as label_id when creating or filtering events; rename or recolor them with update_calendar_labels.

update_calendar_labelsA

Rename or recolor calendar labels for everyone in the calendar, and return all labels. Only the labels you pass change; the others are read first and kept. Label IDs come from get_calendar_labels.

get_calendar_membersA

List the people who share a calendar (members with TimeTree accounts) with their user IDs, names, and roles. Use user_id for event attendees. For members without an account, such as children or pets, use get_calendar_virtual_members.

get_calendar_virtual_membersA

List the virtual members of a calendar: people or things without a TimeTree account, such as a child, pet, or car, that events can be assigned to. Returns id (for virtual_user_attendees on events) and uuid (to update or delete the member). For members with accounts use get_calendar_members.

create_virtual_memberA

Add a virtual member to a calendar: someone or something without a TimeTree account, such as a child, pet, or car, so events can be assigned to it with virtual_user_attendees. Everyone in the calendar sees it. A calendar can have at most 10. Returns the new member with its id and uuid.

update_virtual_memberA

Change a virtual member's name, type, short description, or birthday, and return it. Only provide the fields to change. Get virtual_member_uuid from get_calendar_virtual_members (the uuid, not the id).

delete_virtual_memberA

Remove a virtual member from a calendar. Cannot be undone. Get virtual_member_uuid from get_calendar_virtual_members (the uuid, not the id).

get_holidaysA

Look up public holidays and observances for up to 5 countries in a date range of up to 2 years, sorted by date. day_off tells whether it is a day off. These are national holidays, not events in your calendars (use get_events for those).

get_recent_activityA

See who recently created, changed, or deleted events and memos in a calendar, newest first (created, title/date/label/note/location/reminder/URL/checklist updated, deleted), with member names. TimeTree keeps only the last few activities per event, so this is a recent feed, not full history. Use get_updated_events for the current content of changed events.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 29 tools

Disambiguation4/5

Descriptions are unusually explicit about boundaries, repeatedly steering the agent between get_events, get_updated_events, get_recent_activity, and list_memos, and between update_event/update_event_occurrence/delete_event_occurrence. The remaining ambiguity is mostly the density of event-listing tools, but cross-references resolve it in practice.

Naming Consistency4/5

Almost all tools follow a clean snake_case verb_noun pattern (list_calendars, create_event, get_calendar_members, delete_virtual_member). Minor deviations: add_event_comment rather than create_, and get_event_comment_image mixed with list_event_comments, but the convention is still predictable.

Tool Count3/5

29 tools is heavy and above the comfortable range, though the domain genuinely spans events, memos, occurrences, comments, labels, members, virtual members, and holidays. Nearly every tool earns its place, but the surface is large enough to burden selection and could likely be consolidated.

Completeness3/5

Events, memos, comments, and virtual members have solid CRUD coverage, but there are notable gaps: only list/create for calendars (no update or delete calendar), no way to add/remove real members, and labels can be renamed/recolored but not created or deleted. Agents will hit dead ends on membership and calendar lifecycle operations.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive