Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_projectsA

Retrieve projects with optional filtering.

Parameters:

  • project_id: str -- filter to specific project

  • query: str -- search name/note/folder (case-insensitive)

  • flagged_only, on_hold_only, completed_only: bool

  • stalled_only: bool -- active projects with no available next actions

  • include_dropped, include_completed: bool -- include hidden states

  • include_full_notes: bool

  • include_task_health: bool -- adds remainingCount, availableCount, overdueCount, deferredCount, stalled, health

  • include_last_activity: bool -- adds lastActivityDate

  • has_overdue_tasks: bool -- implies include_task_health

  • tag_filter: list[str] -- projects with ALL specified tags

  • due_after, due_before, due_on: str -- ISO date filters for due date

  • defer_after, defer_before, defer_on: str -- ISO date filters for defer date

  • planned_after, planned_before, planned_on: str

  • completion_after, completion_before, completion_on: str

  • dropped_after, dropped_before, dropped_on: str

  • created_after, created_before, created_on: str

  • modified_after, modified_before, modified_on: str

  • min_task_count: int

  • has_no_due_dates: bool

  • sort_by: str -- "name", "due_date", "defer_date", "planned_date", "creation_date", "modification_date", "completion_date", "dropped_date"; sort_order: str -- "asc"/"desc"

Returns: id, name, folderPath, status, projectType, sequential (deprecated), completedByChildren, flagged, creationDate, modificationDate, completionDate, droppedDate, dueDate, deferDate, plannedDate, tags, note, lastReviewDate, nextReviewDate, reviewIntervalValue, reviewIntervalUnit. Optional health/activity fields when requested.

update_projectsA

Update one or more projects. Each item has id (required) plus fields to change.

Parameters (per item):

  • id: str (required)

  • project_name, note, folder_path: str -- note: replaces rich text

  • project_type: str; sequential: bool (deprecated)

  • status: str -- "active", "on_hold", "done", "dropped"

  • review_interval_value: int + review_interval_unit: str ("day"/"week"/"month"/"year"); review_interval_weeks: int (deprecated)

  • last_reviewed: str -- ISO or "now" (recalculates next_review_date from review interval)

  • next_review_date: str -- set AFTER last_reviewed to override the calculated date

  • completed_by_children: bool

  • due_date, defer_date, planned_date: str -- ISO or "" to clear

  • flagged: bool

  • estimated_minutes: int

  • tags: list[str] -- full replacement (conflicts with add_tags/remove_tags)

  • add_tags, remove_tags: list[str]

  • recurrence: str -- RRULE or "" to clear; repetition_method: str -- "fixed", "start_after_completion", "due_after_completion"

get_tasksA

Get tasks with optional filtering.

Parameters:

  • task_id, parent_task_id, project_id: str

  • query: str -- search name/note

  • flagged_only, available_only, overdue, dropped_only, blocked_only, next_only, inbox_only: bool

  • include_completed: bool

  • include_full_notes: bool

  • tag_filter: list[str]; tag_filter_mode: str -- "and" (default), "or", "not"

  • due_after, due_before, due_on: str -- ISO date filters for due date

  • defer_after, defer_before, defer_on: str -- ISO date filters for defer date

  • planned_after, planned_before, planned_on: str

  • completion_after, completion_before, completion_on: str -- requires include_completed

  • dropped_after, dropped_before, dropped_on: str -- requires dropped_only or include_completed

  • modified_after, modified_before, modified_on, created_after, created_before, created_on: str

  • max_estimated_minutes: int -- quick wins filter

  • has_estimate: bool

  • recurring_only: bool

  • sort_by: str -- "name", "due_date", "defer_date", "planned_date", "creation_date", "modification_date", "completion_date", "dropped_date"; sort_order: str

Returns: id, name, projectName, completed, dropped, blocked, available, next, flagged, dueDate, deferDate, plannedDate, estimatedMinutes, tags, note, parentTaskId, subtaskCount, sequential, isRecurring, recurrence, repetitionMethod, repeatSummary, nextDueDate, nextDeferDate, nextPlannedDate, catchUpAutomatically, creationDate, modificationDate, completionDate, droppedDate.

Key fields:

  • available -- true when actionable (accounts for inherited status from containers)

  • repeatSummary -- human-readable recurrence; always use this for display, don't parse RRULE

  • repetitionMethod -- "fixed" (original schedule), "start_after_completion" (defer shifts), "due_after_completion" (due shifts)

  • catchUpAutomatically -- recurring only; true = one catch-up occurrence, false = each missed interval spawns its own

  • Date fields are effective (include inherited from project). Next-occurrence fields populated only for recurring tasks.

  • Tasks inherit tags from their parent project. A task showing a tag it wasn't explicitly assigned has inherited it -- this is expected, not a bug.

create_tasksA

Create one or more tasks.

Parameters (per item):

  • task_name: str (required)

  • project_id: str -- mutually exclusive with parent_task_id

  • parent_task_id: str -- creates subtask

  • note: str (plain text only)

  • due_date, defer_date, planned_date: str -- ISO 8601

  • flagged: bool

  • tags: list[str] -- must already exist

  • estimated_minutes: int

  • sequential: bool -- subtasks completed in order

  • completed_by_children: bool

create_projectsA

Create one or more projects.

Parameters (per item):

  • name: str (required)

  • note, folder_path: str

  • project_type: str -- "parallel" (default), "sequential", "single_actions"

  • sequential: bool (deprecated, use project_type)

  • review_interval_value: int + review_interval_unit: str ("day"/"week"/"month"/"year"); review_interval_weeks: int (deprecated)

  • completed_by_children: bool

  • due_date, defer_date, planned_date: str -- ISO 8601

update_tasksA

Update one or more tasks. Each item has id (required) plus fields to change.

Parameters (per item):

  • id: str (required)

  • task_name, project_id, parent_task_id, note: str

  • due_date, defer_date, planned_date: str -- ISO or "" to clear

  • flagged, completed: bool -- completed=True on recurring task creates next occurrence

  • status: str -- "dropped" (prefer completed: bool for completion)

  • tags: list[str] -- full replacement (conflicts with add_tags/remove_tags)

  • add_tags, remove_tags: list[str]

  • estimated_minutes: int

  • recurrence: str -- RRULE or "" to clear; repetition_method: str

  • sequential: bool; completed_by_children: bool

get_tagsA

Retrieve all tags.

Returns: id, name, status ("active"/"on hold"/"dropped"), parentTagId (empty if top-level; create/update accept parent by NAME not ID), childrenAreMutuallyExclusive (assigning one child silently removes siblings).

create_tagsB

Create one or more tags.

Parameters (per item):

  • name: str (required)

  • parent_tag: str -- parent by name

  • children_are_mutually_exclusive: bool

update_tagsB

Update one or more tags. Each item has id (required) plus fields to change.

Parameters (per item):

  • id: str (required)

  • name, status: str -- status: "active", "on_hold", "dropped"

  • children_are_mutually_exclusive: bool

  • parent_tag: str -- move to parent by name, "" for top level

delete_tagsB

Delete tags. Tasks lose tag association but are not deleted.

  • tag_ids: str | list[str] (required)

delete_tasksC

Permanently delete tasks. Cannot be undone.

  • task_ids: str | list[str] (required)

delete_projectsA

Permanently delete projects and all their tasks. Cannot be undone.

  • project_ids: str | list[str] (required)

get_foldersB

Get all folders with hierarchy.

Returns: id, name, path (e.g. "Work > Clients"), status ("active"/"dropped").

create_foldersB

Create one or more folders.

Parameters (per item):

  • name: str (required)

  • parent_path: str -- e.g. "Work > Clients"

update_foldersA

Update one or more folders. Each item has id (required) plus fields to change.

Parameters (per item):

  • id: str (required)

  • name: str

  • status: str -- "active" or "dropped"

reorder_taskA

Move a task before or after another task within the same project/level.

  • task_id: str (required)

  • before_task_id: str -- place before this task

  • after_task_id: str -- place after this task

Exactly one of before/after required. In sequential projects, order = dependencies.

reorder_projectA

Move a project before or after another project within the same folder.

  • project_id: str (required)

  • before_project_id: str

  • after_project_id: str

Exactly one of before/after required.

get_perspectivesA

Get all perspectives.

Returns: name, type (built-in/custom), id

switch_perspectiveC

Switch front window to a perspective.

  • perspective_name: str (required)

set_focusA

Focus on projects/folders, or clear focus. Does not support tasks or tags.

  • item_ids: str | list[str] -- omit or empty to clear

  • item_types: str | list[str] -- "project" or "folder"

get_focusB

Get currently focused items.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/s-morgan-jeffries/omnifocus-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server