Skip to main content
Glama

NPM Version License

Motion MCP Server

Motion은 작업 일정을 자동으로 계획해 주는 AI 기반 캘린더 및 작업 관리 앱입니다. 이 MCP 서버는 Model Context Protocol을 통해 Claude, ChatGPT 같은 LLM과 Motion의 API를 연결하여, 자연스러운 대화만으로 작업 관리, 프로젝트 검색, 일정 확인 등을 할 수 있습니다. 데스크톱, 웹, 모바일에서 모두 작동합니다.

미리보기

위 이미지를 클릭하면 전체 크기로 볼 수 있습니다.

Related MCP server: Motion MCP Server

시작하기

필수 조건: Node.js 20+ 및 Motion API 키.

로컬 설정 (npx)

데스크톱 MCP 클라이언트용 — Claude Desktop, Claude Code, Cursor 등.

claude_desktop_config.json에 다음을 추가합니다.

{
  "mcpServers": {
    "motion": {
      "command": "npx",
      "args": ["motionmcp"],
      "env": {
        "MOTION_API_KEY": "your_api_key"
      }
    }
  }
}

명령줄에서 테스트합니다.

MOTION_API_KEY=your_api_key npx motionmcp

팁: npx는 항상 최신 버전을 실행하므로 설치가 필요 없습니다.

원격 설정 (Cloudflare Workers)

모바일 및 웹 클라이언트용 — Claude 모바일/웹, Claude Code, ChatGPT 모바일/웹, 또는 모든 HTTP MCP 클라이언트.

원클릭 배포

Deploy to Cloudflare Workers

그런 다음 Cloudflare 대시보드(Workers > your worker > Settings > Secrets)에서 시크릿을 설정하세요.

  • MOTION_API_KEY — 본인의 Motion API 키

  • MOTION_MCP_SECRET — 임의의 문자열(openssl rand -hex 16로 생성)

수동 배포

# 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

MCP URL은 다음과 같습니다.

https://motion-mcp-server.YOUR_SUBDOMAIN.workers.dev/mcp/YOUR_SECRET

정확히 그 주소를 사용하세요. 시크릿은 경로 끝에 위치하며 그 뒤에는 아무것도 오지 않습니다. 서버는 세션 중에 자신의 하위 경로(예: 메시지 엔드포인트)를 광고하므로 /sse 또는 다른 하위 경로를 시크릿 뒤에 추가하지 마세요.

Claude에서 연결

  1. claude.ai > Settings > Connectors로 이동합니다.

  2. MCP URL을 추가합니다.

  3. 서버가 Claude 모바일 앱에 자동으로 동기화됩니다.

ChatGPT에서 연결

  1. ChatGPT Settings > Connectors로 이동합니다.

  2. MCP URL을 추가합니다.

보안: URL에 있는 시크릿은 우연한 발견을 막아 줍니다. 전체 URL을 비밀번호처럼 취급하고 공개하지 마세요.

도구 구성은 로컬 서버와 동일하게 작동합니다. wrangler.toml의 [vars]에 MOTION_MCP_TOOLS를 설정하거나 wrangler secret put MOTION_MCP_TOOLS로 재정의할 수 있습니다.

로컬 Worker 개발은 DEVELOPER.md를 참조하세요.

API 키

서버는 MOTION_API_KEY 환경 변수에서 Motion API 키를 읽습니다.

인라인 (npx):

MOTION_API_KEY=your-key npx motionmcp

.env 파일 (npm으로 소스에서 실행할 때):

MOTION_API_KEY=your-key

npx를 사용할 때는 로컬 .env 파일을 읽지 않으므로 인라인 환경 변수를 권장합니다.

도구 모음

기본적으로 10개 도구가 모두 활성화됩니다. 여러 MCP 서버를 실행하여 도구 선택 노이즈를 줄이고 싶다면 MOTION_MCP_TOOLS 환경 변수로 노출할 도구를 제한할 수 있습니다.

도구

도구 수

설명

minimal

3

작업, 프로젝트, 워크스페이스만

essential

7

작업, 프로젝트, 댓글, 일정 추가

complete (기본값)

7

커스텀 필드, 반복 작업, 상태를 포함한 전체 API 액세스

all

가변

필요한 도구만 정확히 선택

MOTION_MCP_TOOLS=custom:motion_tasks,motion_projects,motion_search npx motionmcp

도구 참조

motion_tasks

작업: create, list, get, update, delete, move, unassign

작업 관리를 위한 기본 도구입니다. name, description, priority, dueDate, duration, labels, assigneeId, autoScheduled를 포함한 모든 Motion API 매개변수를 지원합니다. 워크스페이스와 프로젝트는 이름으로 참조되고 서버가 자동으로 해석합니다.

{
  "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

작업: create, list, get

Motion 프로젝트를 관리합니다. 워크스페이스와 프로젝트 이름을 유사 일치하고, 지정이 없으면 "Personal" 워크스페이스를 자동 선택합니다.

{"operation": "create", "name": "New Project", "workspaceName": "Personal"}

motion_workspaces

작업: list, get

워크스페이스를 나열하고 확인합니다.

motion_users

작업: list, current

워크스페이스의 워크스페이스의 사용자를 나열하거나 현재 인증된 사용자를 가져옵니다.

motion_search

작업: content

워크스페이스에서 쿼리로 tasks와 projects를 검색합니다.

{"operation": "content", "query": "API integration", "workspaceName": "Development"}

motion_comments

작업: list, create

작업과 프로젝트에서 댓글을 나열하고 추가합니다.

{"operation": "create", "taskId": "task_123", "content": "Updated the API endpoints as discussed"}

motion_schedules

작업: list

사용자 일정과 시간대를 조회합니다. 충돌 감지, 상태·우선순위·프로젝트별 워크로드 분류를 지원하는 우선순위 스케줄링을 지원합니다.

motion_custom_fields

작업: list, create, delete, add_to_project, remove_from_project, add_to_task, remove_from_task

워크스페이스, 프로젝트, 작업 전반에 걸쳐 커스텀 필드를 정의하고 관리합니다.

{
  "operation": "create",
  "name": "Sprint",
  "type": "DROPDOWN",
  "options": ["Sprint 1", "Sprint 2", "Sprint 3"],
  "workspaceName": "Development"
}

motion_recurring_tasks

작업: list, create, delete

반복 작업 템플릿을 관리합니다.

{
  "operation": "create",
  "name": "Weekly Team Standup",
  "recurrence": "WEEKLY",
  "projectName": "Team Meetings",
  "daysOfWeek": ["MONDAY", "WEDNESDAY", "FRIDAY"],
  "duration": 30
}

motion_statuses

작업: list

워크스페이스에서 사용할 수 있는 상태를 나열합니다.

고급 구성

최소 구성 (도구 3개만):

{
  "mcpServers": {
    "motion": {
      "command": "npx",
      "args": ["motionmcp"],
      "env": {
        "MOTION_API_KEY": "your_api_key",
        "MOTION_MCP_TOOLS": "minimal"
      }
    }
  }
}

커스텀 도구 선택:

{
  "mcpServers": {
    "motion": {
      "command": "npx",
      "args": ["motionmcp"],
      "env": {
        "MOTION_API_KEY": "your_api_key",
        "MOTION_MCP_TOOLS": "custom:motion_tasks,motion_projects,motion_search"
      }
    }
  }
}

로컬 워크스페이스 사용 (npm):

{
  "mcpServers": {
    "motion": {
      "command": "npm",
      "args": ["run", "mcp:dev"],
      "cwd": "/absolute/path/to/your/MotionMCP",
      "env": {
        "MOTION_API_KEY": "your_api_key"
      }
    }
  }
}

전체 개발자 설정은 DEVELOPER.md를 참조하세요.

문제 해결

  • 로그는 JSONL 형식으로 stderr에 출력됩니다.

  • 누락된 API 키, 워크스페이스/프로젝트 참조, 권한을 확인하세요.

  • motion_workspaces (list)와 motion_projects (list)를 사용하여 ID를 확인하세요.

{
  "level": "info",
  "msg": "Task created successfully",
  "method": "createTask",
  "taskId": "task_789",
  "workspace": "Development"
}

라이선스

Apache-2.0 License


자세한 내용은 Motion API docs 또는 Model Context Protocol docs를 참조하세요.

Related MCP Connectors

Related MCP Servers