Motion MCP Server
Bridges Motion's AI-powered calendar and task management platform with LLMs using the Model Context Protocol. It enables users to manage tasks, projects, and schedules through natural language conversation on desktop, web, and mobile.
README
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
<a href="sample.png"><img src="sample.png" alt="Motion MCP Server Preview" width="400" /></a>
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 or get the current authenticated user.
motion_search
Operations: content, context, smart
Cross-search tasks and projects by query with intelligent scope and priority boosting. The context operation returns a lightweight summary of your workspace (tasks, projects, schedules) — useful for giving an LLM situational awareness. The smart operation combines search with prioritized scheduling to surface what's most relevant.
{"operation": "content", "query": "API integration", "workspaceName": "Development"}
motion_comments
Operations: list, create
Read and add comments on tasks and projects.
{"operation": "create", "taskId": "task_123", "content": "Updated the API endpoints as discussed"}
motion_schedules
Operations: list
Retrieve user schedules and time zones. Supports prioritized scheduling with conflict detection and workload breakdowns by status, priority, and project.
motion_custom_fields
Operations: list, create, delete, add_to_project, remove_from_project, add_to_task, remove_from_task
Define and manage custom fields across workspaces, projects, and tasks.
{
"operation": "create",
"name": "Sprint",
"type": "DROPDOWN",
"options": ["Sprint 1", "Sprint 2", "Sprint 3"],
"workspaceName": "Development"
}
motion_recurring_tasks
Operations: list, create, delete
Manage recurring task templates.
{
"operation": "create",
"name": "Weekly Team Standup",
"recurrence": "WEEKLY",
"projectName": "Team Meetings",
"daysOfWeek": ["MONDAY", "WEDNESDAY", "FRIDAY"],
"duration": 30
}
motion_statuses
Operations: list
List available statuses for a workspace.
Advanced Configuration
Minimal setup (3 tools only):
{
"mcpServers": {
"motion": {
"command": "npx",
"args": ["motionmcp"],
"env": {
"MOTION_API_KEY": "your_api_key",
"MOTION_MCP_TOOLS": "minimal"
}
}
}
}
Custom tools selection:
{
"mcpServers": {
"motion": {
"command": "npx",
"args": ["motionmcp"],
"env": {
"MOTION_API_KEY": "your_api_key",
"MOTION_MCP_TOOLS": "custom:motion_tasks,motion_projects,motion_search"
}
}
}
}
Using your local workspace (npm):
{
"mcpServers": {
"motion": {
"command": "npm",
"args": ["run", "mcp:dev"],
"cwd": "/absolute/path/to/your/MotionMCP",
"env": {
"MOTION_API_KEY": "your_api_key"
}
}
}
}
See the full developer setup in DEVELOPER.md.
Debugging
- Logs output to
stderrin JSON format - Check for missing keys, workspace/project names, and permissions
- Use
motion_workspaces(list) andmotion_projects(list) to validate IDs
{
"level": "info",
"msg": "Task created successfully",
"method": "createTask",
"taskId": "task_789",
"workspace": "Development"
}
License
Apache-2.0 License
For more information, see the full Motion API docs or Model Context Protocol docs.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。