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 | Controls which tools are exposed: 'minimal', 'essential', 'complete', or 'custom:tool1,tool2,...'. Defaults to 'complete'. | |
| MOTION_MCP_SECRET | No | A random string used as the secret in the URL path or Authorization header for the remote Cloudflare Workers deployment. |
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 Motion resource (tasks, projects, recurring tasks, schedules, statuses, workspaces, users, comments, custom fields), so boundaries are generally clear. The main potential overlap is between motion_search and the list operations of motion_tasks/motion_projects, but the search description clarifies its query-based purpose.
Every tool follows the identical motion_<resource> pattern with a consistent prefix and snake_case resource nouns. The convention is resource-oriented rather than verb_noun, but it is applied uniformly across all ten tools.
Ten tools is well-scoped for a project/task management server, with each tool mapping to a coherent domain resource. No tool feels redundant or artificially split.
Tasks have full lifecycle coverage (create/list/get/update/delete/move/unassign), and custom fields, comments, statuses, and search round out the surface well. However, projects lack update/delete, recurring tasks lack update/get, and there is no subtask support, leaving minor gaps agents must work around.