Bridges Motion's AI-powered calendar and task management with LLMs.
Motion MCP Server
Motion is an AI-powered calendar and task management app that auto-schedules your work. This MCP server bridges Motion's API with LLMs like Claude and ChatGPT via the Model Context Protocol, so you can manage tasks, search projects, check your schedule, and more — all through natural conversation. It works on desktop, web, and mobile.
Preview
Click the image above to view full size
Getting Started
Prerequisites: Node.js 18+ and a Motion API key.
Local Setup (npx)
For desktop MCP clients — Claude Desktop, Claude Code, Cursor, and similar.
Add to your claude_desktop_config.json:
{
"mcpServers": {
"motion": {
"command": "npx",
"args": ["motionmcp"],
"env": {
"MOTION_API_KEY": "your_api_key"
}
}
}
}
Test from the command line:
MOTION_API_KEY=your_api_key npx motionmcp
Tip:
npxalways runs the latest published version — no install needed.
Remote Setup (Cloudflare Workers)
For mobile and web clients — Claude mobile/web, ChatGPT mobile/web, or any HTTP MCP client.
One-click deploy
After deploy, set your secrets in the Cloudflare dashboard (Workers > your worker > Settings > Variables):
MOTION_API_KEY— your Motion API keyMOTION_MCP_SECRET— a random string (generate withopenssl rand -hex 16)
Manual deploy
# Set secrets
npx wrangler secret put MOTION_API_KEY
npx wrangler secret put MOTION_MCP_SECRET # use: openssl rand -hex 16
# Deploy
npm run worker:deploy
Your MCP URL will be:
https://motion-mcp-server.YOUR_SUBDOMAIN.workers.dev/mcp/YOUR_SECRET
Connecting from Claude
- Go to claude.ai > Settings > Connectors
- Add your MCP URL
- The server syncs automatically to the Claude mobile app
Connecting from ChatGPT
- Go to ChatGPT Settings > Connectors
- Add your MCP URL
Security: The secret in the URL prevents casual discovery. Treat the full URL like a password — don't share it publicly.
Tool configuration works the same as the local server. Set MOTION_MCP_TOOLS in wrangler.toml under [vars], or override via wrangler secret put MOTION_MCP_TOOLS.
For local Worker development, see DEVELOPER.md.
API Key
The server reads your Motion API key from the MOTION_API_KEY environment variable.
Inline (npx):
MOTION_API_KEY=your-key npx motionmcp
.env file (when running from source via npm):
MOTION_API_KEY=your-key
When using
npx, prefer the inline environment variable sincenpxwon't read a local.envfile.
Tool Configuration
All 10 tools are enabled by default. If you run multiple MCP servers and want to reduce tool selection noise, you can limit which tools are exposed via the MOTION_MCP_TOOLS environment variable:
| Level | Tools | Description |
|---|---|---|
| minimal | 3 | Tasks, projects, workspaces only |
| essential | 7 | Adds users, search, comments, schedules |
| complete (default) | 10 | Full API access including custom fields, recurring tasks, statuses |
| custom | varies | Pick exactly the tools you need |
Custom example:
MOTION_MCP_TOOLS=custom:motion_tasks,motion_projects,motion_search npx motionmcp
Tools Reference
motion_tasks
Operations: create, list, get, update, delete, move, unassign
The primary tool for task management. Supports all Motion API parameters including name, description, priority, dueDate, duration, labels, assigneeId, and autoScheduled. You can reference workspaces and projects by name — the server resolves them automatically.
{
"operation": "create",
"name": "Complete API integration",
"workspaceName": "Development",
"projectName": "Release Cycle Q2",
"dueDate": "2025-06-15T09:00:00Z",
"priority": "HIGH",
"labels": ["api", "release"]
}
motion_projects
Operations: create, list, get
Manage Motion projects. Workspace and project names are fuzzy-matched, and the server auto-selects your "Personal" workspace if none is specified.
{"operation": "create", "name": "New Project", "workspaceName": "Personal"}
motion_workspaces
Operations: list, get, set_default
List and inspect workspaces, or set a default workspace for subsequent calls.
motion_users
Operations: list, current
List users in a workspace o
Tools (4)
motion_tasksManage tasks including creation, listing, updating, and deletion.motion_projectsManage Motion projects with fuzzy-matching for workspace and project names.motion_workspacesList and inspect workspaces or set a default workspace.motion_usersList users in a workspace or get current user information.Environment Variables
MOTION_API_KEYrequiredYour Motion API key from Motion settings.MOTION_MCP_SECRETA random string used for securing remote deployments.MOTION_MCP_TOOLSOptional variable to limit exposed tools (minimal, essential, complete, or custom).Configuration
{"mcpServers": {"motion": {"command": "npx", "args": ["motionmcp"], "env": {"MOTION_API_KEY": "your_api_key"}}}}