Skip to main content
Glama

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.

Local development

Requires Node.js 24 or newer (uses built-in SQLite):

npm ci
npm run build
npm test

Configure 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_task retains legacy project-assignment semantics via task PATCH. motion_move_task_workspace performs 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.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    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.
    10
    201 npm
    30
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Connects 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