Skip to main content
Glama
jsardinia

Motion MCP Server

by jsardinia

motion_tasks

Create, get, list, update, delete, move, and unassign tasks in Motion. Filter by workspace, project, status, assignee, and more.

Instructions

Manage Motion tasks - supports create, list, get, update, delete, move, unassign, and list_all_uncompleted operations

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
operationYesOperation to perform
taskIdNoTask ID (required for get/update/delete/move/unassign)
workspaceIdNoFilter by workspace (for list)
workspaceNameNoFilter by workspace name (for list)
projectIdNoFilter by project (for list)
projectNameNoProject name (alternative to projectId)
statusNoFilter by status (for list). Single string or array of strings (e.g., ["Todo", "Completed"]). Without status or includeAllStatuses, only active (non-resolved) tasks are returned. Use motion_statuses to list valid values per workspace.
includeAllStatusesNoWhen true, returns tasks across all statuses including completed/resolved (for list). Cannot be combined with status filter.
assigneeIdNoFilter by assignee (for list/list_all_uncompleted), set assignee (for create/update), or reassign (for move)
assigneeNoFilter by assignee name, email, or 'me' shortcut (for list and list_all_uncompleted). Resolved to an ID automatically
priorityNoFilter by priority level (for list, filtered client-side): ASAP, HIGH, MEDIUM, LOW
dueDateNoDue date (for create/update) or filter (for list, filtered client-side — returns tasks due on or before this date). Date-only values are stored as end-of-day UTC. Format: YYYY-MM-DD or relative like 'today', 'tomorrow'
labelsNoFilter by labels (for list). Array of label names
nameNoTask name (required for create, optional for list as case-insensitive substring search)
descriptionNoTask description
durationNoMinutes (as number) or 'NONE'/'REMINDER' (as string)
autoScheduledNoAuto-scheduling configuration. Can be either: - A schedule name string: "Work Hours" (simple, no start date) - An object for full control: {"schedule": "Work Hours", "startDate": "2025-03-05", "deadlineType": "SOFT"} When the user specifies a start date, you MUST use the object form. Use motion_schedules to see available schedule names.
targetWorkspaceIdNoTarget workspace ID (required for move operation). Move transfers a task between workspaces — project-level targeting is not supported by the Motion API.
limitNoMaximum number of tasks to return (for list and list_all_uncompleted)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.8.0

TDQS

C2.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. However, it only lists operations and does not mention side effects (e.g., deletion is permanent), required permissions, rate limits, or return behavior. For a tool that includes destructive operations like delete, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with front-loaded resource name and a compact list of operations. It is concise with no filler, but given the tool's complexity (19 params, 8 operations), the extreme brevity might be considered under-specification rather than effective conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, and the description does not describe return values, error handling, or operation-specific behavior. While the schema details parameters, the overall description is too sparse to fully orient an agent on a complex task management tool with multiple operations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% coverage with detailed descriptions for all 19 parameters, including operation-specific constraints and examples. Since schema coverage is high, the baseline is 3; the description adds no parameter-level meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly names the resource ('Motion tasks') and enumerates eight specific operations, clearly distinguishing it from sibling tools like motion_projects or motion_schedules. The verb 'Manage' is generic but the operation list provides specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives such as motion_search or motion_comments. It merely lists operations without indicating typical use cases, prerequisites, or exclusions. The schema hints at per-operation parameter requirements, but the description itself is silent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.