MCP App Store
by KeenEthics

Overview

The only task manager, calendar, and daily planner for modern professionals. Eliminate distractions, find flow, and do more high-impact work without burning out. The digital daily planner that helps you feel calm and stay focused.

Tools

accept_meeting_invite

ChatGPT
Confirms attendance to a meeting that the user is invited to.

add_subtasks_to_task

ChatGPT
Adds multiple new subtasks to an existing task. Do not use for merging existing tasks in as subtasks — use merge_task_as_subtask for that.

add_task_comment

ChatGPT
Posts a new comment to a task's thread, authored by the user. Notifies the task's followers, the same as a comment the user typed themselves — so write it as something worth interrupting them for. Use append_task_notes instead for reference material that belongs in the body of the task.

add_task_to_channel

ChatGPT
Adds a task to a channel.

align_task_with_commitment

ChatGPT
Aligns a task with an commitment.

align_task_with_objective

ChatGPT
Aligns a task with an objective.

append_task_notes

ChatGPT
Appends Markdown content to the end of an existing task's notes. Existing notes are preserved; the new content is added below them with a horizontal rule separator. Use edit_task_notes to replace the notes body entirely.

change_backlog_folder

ChatGPT
Moves one or more tasks to a backlog folder. If folderId is null, removes tasks from their current folder.

convert_subtask_to_task

ChatGPT
Pulls one subtask out of its parent and turns it into a task of its own, standing where the parent stands. This is the only correct way to promote a subtask — never create a new task and then delete the subtask by hand, which loses the subtask's tracked time and leaves a duplicate behind if the second call fails.

create_calendar_event

ChatGPT
Creates a new calendar event.

create_channel

ChatGPT
Creates a new channel for the user.

create_task

ChatGPT
Creates a single task with a title, optional notes (markdown), and estimated time. Scheduled to a day by default; pass backlog instead to stage it in the backlog. This is also the tool for a task that links to an item in another tool — pass integrationUrl, which works for a backlog task too.

create_weekly_objective

ChatGPT
Creates a new weekly objective.

decline_meeting_invite

ChatGPT
Decline attendance to a meeting that the user is invited to.

delete_calendar_event

ChatGPT
Removes a calendar event and deletes all associated tasks. If the event is a meeting then any access role can remove the event. Otherwise only owners or writers can remove the event. Note: If the event is a meeting and the user is an owner or write this will remove the event for ALL attendees.

delete_channel

ChatGPT
Deletes one of the user's channels. Takes a channel ID, not a channel name — use the search_channels tool to resolve a name the user mentions into an ID first. Tasks, objectives, and calendar events in the channel are not deleted, but they lose their channel assignment and cannot be reassigned by undoing this. Deleting a category also uncategorizes the channels inside it. This cannot be undone, so confirm with the user before calling it.

delete_incomplete_recurring_tasks

ChatGPT
PERMANENTLY deletes incomplete instances of a recurring task and TERMINATES the series, preventing any future instances from ever being created. This is irreversible. When afterDate is provided, only instances after that date are deleted and the series is terminated at that date. When omitted, all incomplete instances are deleted. WARNING: If the user wants to temporarily skip a period (e.g. vacation) and resume the series afterwards, do NOT use this tool — use edit_task_recurrence_rule with deleteOldInstancesAfter and firstOccurrenceOnOrAfter instead.

delete_task

ChatGPT
Deletes an existing task.

edit_subtask_title

ChatGPT
Updates the title of an existing subtask.

edit_task_comment

ChatGPT
Rewrites a comment the user already posted, replacing its body entirely. Only comments the user wrote themselves can be edited — a teammate's comment cannot. Get the commentId from the comments on a task or from get_task_comments.

edit_task_due_date

ChatGPT
Sets or clears the due date of a task. This is the hard deadline, not the day the task is planned/scheduled for (use move_task_to_day for that).

edit_task_notes

ChatGPT
Replaces the notes body of an existing task with new Markdown content. The full notes field is overwritten — use append_task_notes to add to existing notes without replacing them.

edit_task_recurrence_rule

ChatGPT
Updates the recurrence rule of an existing task. This is the preferred tool for temporarily pausing or skipping a recurring task for a specific period (e.g. vacation, leave). By combining deleteOldInstancesAfter (to clear instances during the skip period) and firstOccurrenceOnOrAfter (to restart the series afterwards), you can maintain the recurrence while accommodating temporary breaks — unlike delete_incomplete_recurring_tasks which permanently terminates the series. When firstOccurrenceOnOrAfter is provided, this forks the recurring series: a new series begins from that date and the old series ends the day before.

edit_task_time_estimate

ChatGPT
Updates the time estimate of an existing task.

edit_task_title

ChatGPT
Updates the title of an existing task.

get_archived_tasks

ChatGPT
Fetches the users archived tasks

get_backlog_tasks

ChatGPT
Fetches the users backlog tasks

get_daily_highlights

ChatGPT
Gets a list of daily highlights (end of day journal entries of your work day) for the user. Returns published daily wraps in Markdown format. If startDate and endDate are omitted, returns only the most recent one.

get_help_article

ChatGPT
Fetches the full text of a single Sunsama help center article. First call "list_help_articles" to find the relevant article, then pass its id here. Returns the article title, url, and plain-text body so you can answer the user's question from the docs.

get_task_by_id

ChatGPT
Fetches a single task by its Sunsama task ID. Returns full task details including integration information.

get_task_comments

ChatGPT
Reads the comment thread on a task — the discussion the user and their teammates had about the work. Tasks returned by the other tools already carry their comments, so reach for this when you have a task ID and want the thread on its own.

get_task_time_estimate

ChatGPT
Gets the time estimate for a task in minutes.

import_task_from_calendar_event

ChatGPT
Imports a calendar event as a task.

list_help_articles

ChatGPT
Lists Sunsama's help center articles as a catalog: each entry has an id, title, description, category, and url. Use this whenever the user asks how a Sunsama feature works, what Sunsama can or cannot do, or whenever you are unsure about product behavior or a limitation. Pick the most relevant article from the list, then call "get_help_article" with its id to read it and answer from the docs instead of guessing. You can also share the article url with the user.

list_resources

ChatGPT
Lists all available resources and resource templates exposed by this MCP server. Use this tool to discover what data sources are available when the client doesn't support the MCP resources protocol natively. Returns an array of resources, where each resource has: - name: The resource identifier - uri: The static URI (for fixed resources) OR uri_template (for parameterized resources) - description: What the resource provides - mimeType: The content type returned

mark_subtask_as_completed

ChatGPT
Marks a subtask of an existing task as completed.

mark_subtask_as_incomplete

ChatGPT
Marks a subtask of an existing task as incomplete.

mark_task_as_completed

ChatGPT
Marks a task as completed. Can also be used to move a task to a previous day which auto-completes the task.

mark_task_as_incomplete

ChatGPT
Marks a task as incomplete.

merge_task_as_subtask

ChatGPT
Merges an existing task into another task as a subtask. The merged task is folded into the parent task and removed from the task list (it can be unmerged from the parent later). Use add_subtasks_to_task to create brand-new subtasks instead, and convert_subtask_to_task to go the other way and pull a subtask out into a task of its own.

move_calendar_event

ChatGPT
Updates a calendar event's date, time, and/or duration.

move_task_from_backlog

ChatGPT
Moves a task out of the backlog and onto a specific date.

move_task_to_backlog

ChatGPT
Moves a task to the backlog. IF THE USER ASKS YOU TO MOVE A TASK TO A SPECIFIC DAY THEN YOU SHOULD USE THE move_task_to_day TOOL NOT THIS ONE.

move_task_to_day

ChatGPT
Moves or defers a task to a specific date.

read_resource

ChatGPT
Reads a specific resource by URI. Use this tool to fetch data from resources when the client doesn't support the MCP resources protocol natively. For static resources, pass the exact URI from list_resources. For templated resources, fill in the placeholders with actual values. Example: If list_resources shows uri_template "sunsama://tasks/{calendarDay}", you would call this with uri "sunsama://tasks/2025-01-15" to get tasks for that day.

rename_channel

ChatGPT
Renames one of the user's channels. Takes a channel ID, not a channel name — use the search_channels tool to resolve a name the user mentions into an ID first. Renaming only changes the channel's label; the tasks, objectives, and calendar events assigned to it stay assigned.

reorder_tasks

ChatGPT
Reorders tasks for the calendar day according to the provided order of taskIds.

reposition_task_in_backlog

ChatGPT
Repositions a task within the backlog by moving it to a specific time bucket (horizon) and position (append/prepend).

restore_task

ChatGPT
Changes a task from deleted to not deleted.

search_channels

ChatGPT
Searches the user's channels by meaning, not just by exact name. Returns the closest matching channels ordered by relevance, so "client work" can match a channel named "Acme Corp". Use this to resolve a channel a user mentions into a channel ID before assigning tasks to it.

search_tasks

ChatGPT
Searches for tasks. Returns tasks that match the search term or are similar to the search term. Omit searchTerm and pass completedOnOrAfter/completedOnOrBefore to list everything the user finished in a date range — this is how you summarize their completed work over a period, and it answers the whole range in one call. Narrow to a channel with channelId.

set_backlog_priority

ChatGPT
Sets the backlog priority of a task. Backlog priority persists and is used for tasks in the backlog. Valid values: "urgent", "high", "medium", "low", "none". Set to null to clear.

set_calendar_event_task_projections

ChatGPT
Sets whether tasks are allowed to be automatically projected (scheduled) at the same time as a calendar event — in other words, whether the event blocks that time for task work. When set to true, the event stops consuming the day's capacity and tasks fill its slot; when set to false, the event blocks the slot. Use this when the user says a blocking event is actually available for work ("my Deep Work Hold can be used for tasks", "ignore my focus blocks today", "that placeholder isn't real") or, in reverse, that a slot must stay protected. This is a Sunsama-only, per-user setting: it does NOT change the event's busy/free status on the external calendar, so nobody else sees a difference. It also only affects automatic projections — the user can still manually timebox tasks during a blocking event.

set_daily_priority

ChatGPT
Sets the daily priority of a task. Daily priority is tied to a specific day and decays after that day. Valid values: "urgent", "important", "normal", "low". Set to null to clear. The date is automatically determined from the task.

set_shutdown_time

ChatGPT
Sets the shutdown time for a specific day.

start_task_timer

ChatGPT
Starts the timer for a task or subtask. If a subtaskId is provided, starts the timer for that specific subtask.

stop_task_timer

ChatGPT
Stops the timer for a task or subtask. If a subtaskId is provided, stops the timer for that specific subtask.

timebox_a_task_to_calendar

ChatGPT
Timeboxes a task to the calendar. This will create a timebox event for the task. This may also be referred to as "scheduling" a task or "adding a task to the calendar".

toggle_auto_import_events

ChatGPT
Enables or disables automatic importing of calendar events to the daily task list.

unarchive_task

ChatGPT
Unarchives a task and moves it to a specific date or the backlog if no date is provided.

update_calendar_preferences

ChatGPT
Updates preferences for a specific calendar including whether it is the default for tasks, default for events, and whether it is included in auto-importing of events.

update_import_event_filters

ChatGPT
Updates the exclusion filters that determine which calendar events are excluded from automatic import. Events matching any of these filters will NOT be automatically imported.

update_incomplete_recurring_tasks

ChatGPT
Updates all incomplete instances of a recurring task to match the current task. This is useful when you want to apply changes made to one instance of a recurring task to all future incomplete instances.

Capabilities

Writes

App Stats

63

Tools

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily