Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RECLAIM_API_KEY | Yes | Your Reclaim.ai API key from https://app.reclaim.ai/settings/developer | |
| RECLAIM_TOOL_PROFILE | No | Tool profile to limit exposed tools. Options: 'minimal' (20 tools for basic task/habit management), 'standard' (32 tools for daily productivity), 'full' (40 tools, all features) | full |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| health_check | Check if the server is running. |
| verify_connection | Verify API connection by fetching current user info. Returns: Connection status with user details (id, email, name). |
| list_tasks | List active tasks from Reclaim.ai (excludes completed by default). Args: status: Comma-separated task statuses (NEW, SCHEDULED, IN_PROGRESS, COMPLETE, ARCHIVED) limit: Maximum number of tasks to return (default 50) Returns: List of task objects with id, title, duration, due_date, status, etc. |
| list_completed_tasks | List completed and archived tasks from Reclaim.ai. Args: limit: Maximum number of tasks to return (default 50) Returns: List of completed/archived task objects. |
| get_task | Get a single task by ID. Args: task_id: The task ID to retrieve Returns: Task object with all details. |
| create_task | Create a new task in Reclaim.ai for auto-scheduling. Args: title: Task title/description duration_minutes: Total time needed for the task in minutes due_date: ISO date string (YYYY-MM-DD) or None for no deadline min_chunk_size_minutes: Minimum time block size (default 15) max_chunk_size_minutes: Maximum time block size (None = duration) snooze_until: Don't schedule before this datetime (ISO format) priority: P1 (Critical), P2 (High), P3 (Medium), P4 (Low) Returns: Created task object |
| update_task | Update an existing task in Reclaim.ai. Args: task_id: The task ID to update title: New title (optional) duration_minutes: New duration in minutes (optional) due_date: New due date in ISO format (optional) status: New status - NEW, SCHEDULED, IN_PROGRESS, COMPLETE (optional) Returns: Updated task object |
| mark_task_complete | Mark a task as complete. Args: task_id: The task ID to mark as complete Returns: Updated task object |
| delete_task | Delete a task from Reclaim.ai. Args: task_id: The task ID to delete Returns: True if deleted successfully |
| add_time_to_task | Log time spent on a task using Reclaim's planner API. Args: task_id: The task ID minutes: Minutes worked on the task notes: Optional notes about the work done Returns: Planner action result confirming time was logged |
| start_task | Start working on a task (marks as IN_PROGRESS and starts timer). Args: task_id: The task ID to start working on Returns: Planner action result with updated task state |
| stop_task | Stop working on a task (pauses timer, keeps task active). Args: task_id: The task ID to stop working on Returns: Planner action result with updated task state |
| prioritize_task | Prioritize a task (elevates to high priority, triggers rescheduling). Args: task_id: The task ID to prioritize Returns: Planner action result with updated task state |
| restart_task | Restart a completed/archived task (returns it to active scheduling). Args: task_id: The task ID to restart Returns: Planner action result with updated task state |
| list_events | List calendar events within a time range. Args: start: Start date (e.g., '2026-01-02' or '2026-01-02T00:00:00Z' - time is ignored) end: End date (e.g., '2026-01-02' or '2026-01-02T23:59:59Z' - time is ignored) calendar_ids: Optional list of calendar IDs to filter by event_type: Optional event type filter (EXTERNAL, RECLAIM_MANAGED, etc.) thin: If True, return minimal event data (default True) Returns: List of event objects with eventId, title, eventStart, eventEnd, etc. |
| list_personal_events | List Reclaim-managed personal events (tasks, habits, focus time). Args: start: Optional start datetime in ISO format end: Optional end datetime in ISO format limit: Maximum number of events to return (default 50) Returns: List of personal event objects. |
| get_event | Get a single event by calendar ID and event ID. Note: Works best with events from list_events (external calendar events). Reclaim-managed events from list_personal_events may return 404. Args: calendar_id: The calendar ID containing the event event_id: The event ID to retrieve thin: If True, return minimal event data (default False for full details) Returns: Event object with full details. |
| list_habits | List all smart habits from Reclaim.ai. Returns: List of habit objects with lineageId, title, enabled, recurrence, etc. |
| create_habit | Create a new smart habit for auto-scheduling. Args: title: Habit name/title ideal_time: Preferred time in "HH:MM" format (e.g., "09:00") duration_min_mins: Minimum duration in minutes frequency: Recurrence (DAILY, WEEKLY, MONTHLY, YEARLY) - default WEEKLY ideal_days: Days for WEEKLY frequency (MONDAY, TUESDAY, etc.) event_type: Type (FOCUS, SOLO_WORK, PERSONAL, etc.) - default SOLO_WORK defense_aggression: Protection level (DEFAULT, NONE, LOW, MEDIUM, HIGH, MAX) duration_max_mins: Maximum duration in minutes (defaults to min duration) description: Optional habit description enabled: Whether habit is active (default True) time_policy_type: Time policy (WORK, PERSONAL, MEETING). Auto-inferred if not provided. Returns: Created habit object. |
| update_habit | Update an existing smart habit. Args: lineage_id: The habit lineage ID to update title: New title (optional) ideal_time: New preferred time in "HH:MM" format (optional) duration_min_mins: New minimum duration in minutes (optional) duration_max_mins: New maximum duration in minutes (optional) enabled: Enable/disable the habit (optional) frequency: New frequency (DAILY, WEEKLY, MONTHLY, YEARLY) (optional) ideal_days: New ideal days list (optional) event_type: New event type (optional) defense_aggression: New defense aggression (optional) description: New description (optional) Returns: Updated habit object. |
| delete_habit | Delete a smart habit. Args: lineage_id: The habit lineage ID to delete Returns: True if deleted successfully. |
| mark_habit_done | Mark a habit instance as done. Use this to mark today's scheduled habit event as completed. Args: event_id: The event ID of the specific habit instance (from list_personal_events) Returns: Action result with updated events and series info. |
| skip_habit | Skip a habit instance. Use this to skip today's scheduled habit event without marking it done. Args: event_id: The event ID of the specific habit instance to skip Returns: Action result with updated events and series info. |
| enable_habit | Enable a disabled habit to resume scheduling. Args: lineage_id: The habit lineage ID to enable Returns: Empty dict on success. |
| disable_habit | Disable a habit to pause scheduling without deleting it. Args: lineage_id: The habit lineage ID to disable Returns: True if disabled successfully. |
| get_user_analytics | Get personal productivity analytics for the current user. Args: start: Start date in ISO format (e.g., '2026-01-01') end: End date in ISO format (e.g., '2026-01-31') metric_name: The metric to retrieve. One of: - DURATION_BY_CATEGORY - DURATION_BY_DATE_BY_CATEGORY Returns: Analytics data with time breakdowns by category. |
| get_focus_insights | Get focus time insights and recommendations. Args: start: Start date in ISO format (e.g., '2026-01-01') end: End date in ISO format (e.g., '2026-01-31') Returns: Focus time analytics including protected hours, interruptions, etc. |
| get_focus_settings | Get current focus time settings for the user. Returns: List of focus settings objects (one per focus type). |
| update_focus_settings | Update focus time settings. Args: settings_id: The focus settings ID to update min_duration_mins: Minimum focus block duration in minutes ideal_duration_mins: Ideal focus block duration in minutes max_duration_mins: Maximum focus block duration in minutes defense_aggression: Protection level (NONE, LOW, MEDIUM, HIGH, MAX) enabled: Whether focus time is enabled Returns: Updated focus settings. |
| lock_focus_block | Lock a focus time block to prevent it from being rescheduled. Args: calendar_id: The calendar ID containing the focus block event_id: The focus block event ID to lock Returns: Planner action result with updated event state. |
| unlock_focus_block | Unlock a focus time block to allow it to be rescheduled. Args: calendar_id: The calendar ID containing the focus block event_id: The focus block event ID to unlock Returns: Planner action result with updated event state. |
| reschedule_focus_block | Reschedule a focus time block to a different time. Args: calendar_id: The calendar ID containing the focus block event_id: The focus block event ID to reschedule start_time: New start time in ISO format (optional, triggers AI reschedule if not provided) end_time: New end time in ISO format (optional) Returns: Planner action result with updated event state. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |