Motion MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Motion MCPcapture next action to prep slides for Monday's meeting"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Motion MCP: shared Claude and ChatGPT core
An MCP server for Motion that serves Claude over local stdio and ChatGPT (or any MCP client) over OAuth-protected Streamable HTTP, from one shared Motion API core. It extends RF-D/motion-mcp by Raul Diaz; the original MIT license and attribution remain in LICENSE.
This build captures finite next actions, preserves resume context, checks duplicates, and reports task creation separately from scheduling health. It retains Claude stdio and adds an OAuth-protected Streamable HTTP resource server for hosted ChatGPT.
Status: the stdio server is in daily use with Claude Desktop. The remote HTTP server is tested locally against signed fixture tokens and a real MCP SDK client; a hosted deployment is described in the deployment guide. Every endpoint in Motion's public API catalog has a tool; see the capability matrix.
Capability matrix: every tool mapped to Motion's public API, plus the operations deliberately disabled.
Deployment guide: persistent service, OAuth setup, ChatGPT connection, and migration.
Supabase sign-in: private consent page, restricted token hook, and setup checks.
Capture/preparation skill: portable instructions for assistants using this server.
Local development
Requires Node.js 24 or newer (uses built-in SQLite):
npm ci
npm run build
npm testConfigure environment variables from .env.example using private local or hosting secret storage. Do not paste the Motion key into ChatGPT, tool arguments, an OAuth access token, or a tracked file.
npm start runs Claude-compatible stdio. npm run start:http runs the authenticated HTTP resource server. Remote startup requires a persistent state path, stable Motion account ID, verified Motion user, allowed workspaces/assignees, and OAuth issuer/JWKS/audience/subject. The HTTP listener defaults to loopback; a production TLS proxy may bind it using HOST=0.0.0.0.
The companion skill in skills/ is optional; install it in your assistant if you want its capture and preparation guidance.
Related MCP server: Motion MCP Server
Reliability contract
Creates carry a durable operation key and a visible marker for reconciliation. Reuse the same key after uncertainty. An uncertain operation stays fenced until its outcome is known; no automatic write retry occurs.
Active exact-title/project matches are duplicate candidates. Meeting identity also prevents duplicate preparation with a changed title. Semantic similarity is an assistant review task, not an asserted exact match.
One SQLite store coordinates a rolling per-account quota, shared 429 cooldown, and operation claims across processes on one host. Production uses one instance and persistent volume. All clients must use that service for a shared quota; a separately running stdio process keeps its own limiter unless it shares the same state path.
Reads use bounded request timeouts and retries. Paginated traversal fails explicitly if incomplete, rather than treating a partial search as proof of no duplicate.
Task PATCH hydrates required name/workspace fields, preserves omission versus scheduling
null, resolves actual status names, and reads back. Completion is verified independently of the resolved flag.motion_move_taskretains legacy project-assignment semantics via task PATCH.motion_move_task_workspaceperforms the documented workspace move.Tool names backed by undocumented mutations are not advertised and fail explicitly. They are not counted as useful parity.
Calendar boundary
Named working hours, bookable slots, busy intervals, and meeting titles remain separate. This server has no verified calendar event or booking adapter. It accepts explicitly supplied meeting context, and can review a moved/canceled meeting’s prep without changing the task. It does not inherit Motion's Office 365 permissions, use private session tokens, send invitations, or run a watcher.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted Airtable MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Hosted Notion MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
ADHD-friendly tasks, notes & projects for LucidNest - 18 tools, scoped tokens, Streamable HTTP.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Related MCP Servers
- AlicenseBqualityAmaintenanceThis 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.10201 npm30Apache 2.0
- AlicenseBqualityDmaintenanceThis 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.10Apache 2.0
- AlicenseBqualityCmaintenanceEnables natural-language management of Motion tasks, projects, schedules, comments, custom fields, and more, bridging Motion's API to LLM clients via MCP.10Apache 2.0
- AlicenseNot gradedqualityBmaintenanceConnects AI assistants such as Claude, ChatGPT, Gemini, and Cursor to a unified personal operating system, enabling them to track habits and streaks, manage task lifecycles and deadlines, and build syllabi and flashcard decks with FSRS-5 spaced-repetition scheduling through 102 typed tools. All reads and writes run against a single append-only event ledger over an OAuth 2.1-secured Streamable HTTP endpoint.MIT