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 (from https://app.usemotion.com/settings/api). The server reads it from the MOTION_API_KEY environment variable; when using npx, prefer the inline environment variable since npx won't read a local .env file. | |
| MOTION_MCP_TOOLS | No | Limits which tools are exposed. Values: 'minimal' (3 tools: tasks, projects, workspaces), 'essential' (8 tools: adds users, search, comments, schedules, statuses), 'complete' (10 tools, default: full API access including custom fields and recurring tasks), or 'custom:<tool1>,<tool2>,...' e.g. 'custom:motion_tasks,motion_projects,motion_search'. For the remote Cloudflare Workers deployment, set this in wrangler.toml under [vars] or via `wrangler secret put MOTION_MCP_TOOLS`. | complete |
| MOTION_MCP_SECRET | No | A random string (generate with `openssl rand -hex 16`) used for the remote Cloudflare Workers deployment. It is appended to the MCP URL path (https://motion-mcp-server.YOUR_SUBDOMAIN.workers.dev/mcp/YOUR_SECRET) or sent as `Authorization: Bearer YOUR_SECRET`. Set via `npx wrangler secret put MOTION_MCP_SECRET`. |
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 maps to a distinct resource (tasks, projects, workspaces, users, comments, schedules, custom fields, recurring tasks, statuses), so boundaries are largely clear. The only mild overlap is motion_search vs the list operations in motion_tasks/motion_projects, but the query-based description distinguishes them.
All ten tools follow the exact same motion_<resource> pattern with plural nouns, giving a highly predictable, uniform naming scheme. No mixing of conventions or verb styles.
Ten tools is well-scoped for a project/task management API, with each resource getting its own tool and no redundant entries. Nothing feels padded or missing at the count level.
Tasks and custom fields have full lifecycle coverage (create/list/get/update/delete and more), and supporting resources are present. However, motion_projects only supports create/list/get, missing update and delete, which is a notable gap in project lifecycle management.