tars-tasks Extension

The built-in MCP server for creating, managing, and scheduling autonomous tasks.

Overview

tars-tasks is Tars’ built-in MCP extension that provides task scheduling capabilities. It exposes 5 tools that the AI can call through natural language.

Tools

create_task

Creates a new scheduled task.

ParameterTypeRequiredDescription
titlestringHuman-readable task name
promptstringThe prompt to execute
schedulestringCron expression or ISO date
modestringsilent (default) or interactive
"Schedule a daily check of my GitHub notifications at 9 AM"
→ create_task("GitHub Notifications", "Check my GitHub...", "0 9 * * *")

list_tasks

Lists all tasks with optional filtering.

ParameterTypeRequiredDescription
enabledOnlybooleanOnly show enabled tasks

Returns: task ID, title, schedule, next run, enabled status, and failure count.

delete_task

Permanently removes a task.

ParameterTypeRequiredDescription
idstringTask UUID

toggle_task

Enables or disables a task without deleting it.

ParameterTypeRequiredDescription
idstringTask UUID
enabledbooleanNew enabled state

modify_task

Updates task properties.

ParameterTypeRequiredDescription
idstringTask UUID
titlestringNew title
promptstringNew prompt
schedulestringNew cron or ISO date

Storage

Tasks are stored in ~/.tars/data/tasks.json as a JSON array. The extension reads and writes this file directly using the TaskStore class.

Architecture

The extension runs as a standalone Node.js MCP server using @modelcontextprotocol/sdk:

StdioServerTransport → Server → Tool Handlers → TaskStore → tasks.json

The Gemini CLI spawns this server on-demand when the AI invokes any task-related tool.