Motion MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MOTION_API_KEY | Yes | Your Motion API key. | |
| MOTION_MCP_TOOLS | No | Limits which tools are exposed. Valid values are 'minimal', 'essential', 'complete' (default), or a custom list such as 'custom:motion_tasks,motion_projects,motion_search'. | complete |
| MOTION_MCP_SECRET | No | A random secret used for the remote Cloudflare Workers deployment, either in the MCP URL path or as an Authorization Bearer token. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| motion_tasksC | Manage Motion tasks - supports create, list, get, update, delete, move, unassign, and list_all_uncompleted operations |
| motion_projectsC | Manage Motion projects - supports create, list, and get operations |
| motion_workspacesA | Manage Motion workspaces - supports list and get operations |
| motion_usersC | Manage users and get current user information |
| motion_searchB | Search Motion tasks and projects by query |
| motion_commentsC | Manage comments on tasks |
| motion_custom_fieldsB | Manage custom fields for tasks and projects. Required params per operation: list: workspaceId or workspaceName. create: workspaceId/workspaceName + name + field (type); options[] also required for select/multiSelect. delete: workspaceId/workspaceName + fieldId. add_to_project: projectId + fieldId. remove_from_project: projectId + valueId. add_to_task: taskId + fieldId. remove_from_task: taskId + valueId. |
| motion_recurring_tasksA | Manage recurring tasks. Required params per operation: list: workspaceId or workspaceName. create: workspaceId/workspaceName + name + assigneeId + frequency (with frequency.type). delete: recurringTaskId. |
| motion_schedulesA | Get all schedules showing each day's working hours (start-end per day) and time zones. The Motion API returns all schedules with no filtering options. These are recurring working-hour templates only — they do NOT expose actual calendar events or meetings, so they cannot by themselves show a true free/busy picture; combine with tasks' scheduledStart/scheduledEnd to see what Motion has auto-booked. |
| motion_statusesA | Get available task/project statuses for a workspace |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool targets a distinct resource (tasks, projects, workspaces, users, comments, custom fields, recurring tasks, schedules, statuses, search), so misselection is unlikely. The main risk is within the multi-operation tools (motion_tasks bundles 8 operations, motion_custom_fields bundles 7), and motion_search partially overlaps with motion_tasks/motion_projects list operations, but the boundaries remain clear.
Every tool follows the exact same motion_<resource> naming pattern with no style deviations. Although the convention is noun-based rather than verb_noun, it is applied uniformly and is fully predictable.
Ten tools is well-scoped for a project/task management server. Each tool maps to a coherent domain entity and none feels redundant or filler.
Tasks and custom fields have rich lifecycle coverage, and comments/recurring tasks cover their core operations. However, motion_projects only supports create/list/get with no update or delete, and motion_statuses/schedules are read-only, leaving notable gaps in the project lifecycle.