@dalmasonto/taskflow-mcp
MCP server for TaskFlow — manage projects, tasks, timers, analytics via AI agents
Versions
1.0.35latest1.0.331.0.321.0.291.0.28+ show 25 moreshow less
1.0.271.0.261.0.251.0.241.0.231.0.211.0.201.0.191.0.181.0.171.0.161.0.151.0.141.0.111.0.101.0.91.0.81.0.71.0.61.0.51.0.41.0.31.0.21.0.11.0.0Tools 63
whoami Confirm which TaskFlow agent identity and project this credential maps to, plus the connection and terminal-mirror state. Connection and heartbeat are automatic — this confirms them, it does not establish them. mirror.state
select_profile Choose which agent identity this terminal is, when the repo defines several. Call this ONLY after asking your human which one to use — never guess. The choice is remembered for this terminal, so you will not be asked again after a reconnect.
list_tasks List tasks in the agent
list_channels List the chat channels this agent can see in its project (shared rooms plus any DMs it is on the roster of).
list_agents List the other agents in this project so you know who to address.
create_task Create a task in the agent
update_task Edit a task
update_task_status Advance a task
claim_task Self-assign a task in this agent
report_review Record a review verdict on a task (decision: approved | changes_requested). Reports back to the assigned agent and transitions the task. Consider the
send_message Send a chat message as this agent into a channel. Use list_channels to find channel ids.
download_attachment Download a message attachment to disk and return its path. Get the `url` from an attachment on a message returned by check_messages. Returns a PATH, not the file
check_messages Check for messages addressed to you. Returns only what you have NOT yet marked read, across every channel you
mark_read Mark how far this agent has read in a channel (advance the read cursor forward).
register_session Register (or reconnect) a live session so humans see this agent online. Defaults the identifier to host:pid and cwd to the current directory.
heartbeat Send a liveness heartbeat for the current session (auto-registers one if needed). Optional status hint: idle | busy.
capture_terminal Stream a chunk of terminal output into the current session (auto-registers one if needed). Humans can watch it live.
log_activity Log a real activity event (e.g. an action you took). Optionally attach it to a task.
get_activity Read recent activity in the project (newest first). Optional task filter and limit.
get_analytics Get a high-level analytics summary: total focused time, task completion rates, status distribution, and time per project. Useful for standup reports or understanding workload.
get_timeline Get focused time grouped by day or week. Use for visualizing work patterns over time.
get_tool_stats Get tool execution statistics: call count, success rate, average duration per tool. Shows which tools are used most and which are slow or failing.
get_task_cost Get per-task cost metrics: tool calls made during active timer sessions, total execution time, and tool breakdown. Useful for understanding which tasks consume the most resources.
register_agent Register this agent with a custom name. Optional — agents auto-register on startup using the project folder name. Call this only if you want a specific name.
delete_agent Delete a stale or disconnected agent entry from the registry. Only disconnected agents can be deleted. Use this to clean up ghost entries left by crashed or renamed sessions.
ask_user Post a question to the TaskFlow Agent Inbox for the user to answer remotely. Returns immediately with the message ID. The question appears in the Agent Inbox UI with full context and optional quick-tap choices. After posting, use check_response to retrieve the user\
check_response Check if a previously posted question (via ask_user or ask_agent) has been answered. Returns the response if answered, or status
send_to_agent Send a message to another agent by name. Returns immediately. The recipient agent will receive the message in their terminal (if running in tmux).
ask_agent Ask another agent a question and wait for their response. Like ask_user but targets an agent. Returns the message ID — use check_response to poll for the answer. The recipient agent receives the question in their terminal (if in tmux) and can respond with respond_to_message.
respond_to_message Respond to a pending message addressed to this agent. Use check_messages to see incoming messages, then respond by message ID.
broadcast_agents Send a question to multiple agents simultaneously. Creates a group message — each agent gets their own copy linked by a shared broadcast ID. Use check_broadcast to see all responses. Optional: omit agents list to broadcast to ALL connected agents.
check_broadcast Check the status of a broadcast message — shows which agents have responded and their answers.
list_notifications List notifications. Check with unread_only=true at conversation start to surface important updates for the user.
mark_notification_read Mark a notification as read after surfacing it to the user.
mark_all_notifications_read Mark all unread notifications as read. Call after the user has been briefed on pending notifications.
clear_notifications Delete all notifications. Use with caution — this is irreversible.
start_timer Start a timer session for a task. Call this before beginning work on any task to track focused time. Automatically transitions the task to
pause_timer Pause the active timer session for a task. Call when switching context or waiting for user input. The task transitions to
stop_timer Stop the active timer and set a final status. Call when finishing work — use
list_sessions List timer sessions with optional filters. Use to review time spent on a task or across a date range.
send_keys Send raw keystrokes to an agent\
get_agent_instructions **Call this at the start of every conversation.** Returns onboarding instructions, behavioral rules, and live project context for AI agents working with TaskFlow. This tool tells you how to proactively manage tasks, track time, and stay in sync with the project.
bootstrap **CALL THIS FIRST.** One-shot startup: returns your agent instructions, active project (auto-detected from folder name), open/blocked tasks, unread notifications, and registered agents — all in one call. Replaces the need to call get_agent_instructions + search_projects + list_tasks + list_notifications + list_agents separately.
clear_data Delete ALL tasks, projects, sessions, notifications, and activity logs. Settings are preserved. Use with extreme caution — this is irreversible.
create_checkpoint Create a checkpoint snapshot of a task\
get_checkpoint Get the latest checkpoint for a task. Returns the full task snapshot — useful for resuming work after an interruption.
list_checkpoints List all available checkpoints for a task.
get_setting Get a setting value by key. Server settings (port, host, databasePath, logLevel, agentLivenessInterval, maxPortAttempts) come from ~/.taskflow_config.json. UI settings (timerBarDisplayMode, notificationInterval, statusColors, operatorName, systemName, etc.) come from SQLite.
update_setting Update a setting value. Server settings (port, host, databasePath, logLevel, agentLivenessInterval, maxPortAttempts) are written to ~/.taskflow_config.json and require a restart. UI settings are saved to the local SQLite database.
get_activity_log Retrieve recent activity log entries. Shows what has changed — task completions, timer events, status transitions. Filter by action or entity type.
clear_activity_log Delete all activity log entries. Use with caution — this is irreversible.
log_debug Log a debug entry to the activity log. Use this to record your work process — what you investigated, commands you ran, decisions you made, and findings. Entries appear in the Activity Pulse and on the project page. Link to a task (task_id) or project (project_id) for context.
compact_activity_log Compact old activity log entries into a summary. Keeps the most recent entries (default 50) and summarizes the rest. Use dry_run=true to preview what would be compacted. Runs automatically when log exceeds max_entries threshold.
create_project Create a new project. Projects group related tasks and track time across them.
list_projects List all projects with task count. Call this at conversation start to understand the workspace.
get_project Get a project by ID with all its tasks. Use this to understand the full scope of a project before starting work.
update_project Update project fields such as name, color, type, or description.
delete_project Delete a project by ID. Tasks under this project will be unlinked (project_id set to NULL), not deleted.
search_projects Search projects by name or description. Use this to find projects related to your current work.
get_task Get a task by ID with time tracking info. Read the description carefully — it often contains implementation details and acceptance criteria.
delete_task Delete a task by ID. Use sparingly — prefer updating status to
bulk_create_tasks Create multiple tasks in a single transaction. Useful when breaking down a feature into subtasks.
search_tasks Search tasks by title or description. Use this to find tasks related to your current work before creating duplicates.
Permissions 4
network medium filesystem low shell high env_vars low