Motion MCP by usefulapi
Read tasks, projects, workspaces and schedules; create tasks in Motion.
使うべきか
品質と安全性
検出事項(2)
- HIGH
- LOWmotion_get_schedules 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"motion": {
"url": "https://motion.usefulapi.io/mcp"
}
}
}リモートエンドポイント
https://motion.usefulapi.io/mcpstreamable-httpできること
ツール一覧
ツール(7)
🟢motion_get_my_user
Get the owner of the API key: id, name and email. Good first call to confirm which Motion account is connected. Motion API: GET /v1/users/me.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢motion_list_workspaces(cursor)
List the workspaces this user belongs to, with their statuses and labels. Use the workspace ids in the other tools. Motion API: GET /v1/workspaces.
入力スキーマ
{
"type": "object",
"properties": {
"cursor": {
"description": "Cursor from meta.nextCursor of the previous call, to get the next page.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢motion_list_projects(workspaceId, cursor)
List the projects in a workspace, with status and custom field values. Motion API: GET /v1/projects.
入力スキーマ
{
"type": "object",
"properties": {
"workspaceId": {
"description": "Limit results to one workspace id (from motion_list_workspaces).",
"type": "string"
},
"cursor": {
"description": "Cursor from meta.nextCursor of the previous call, to get the next page.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢motion_list_tasks(workspaceId, projectId, assigneeId, label, name, ...)
List tasks, filtered by workspace, project, assignee, label or name. Completed tasks are left out unless includeAllStatuses is true. Motion API: GET /v1/tasks.
入力スキーマ
{
"type": "object",
"properties": {
"workspaceId": {
"description": "Limit results to one workspace id (from motion_list_workspaces).",
"type": "string"
},
"projectId": {
"description": "Limit results to one project id.",
"type": "string"
},
"assigneeId": {
"description": "Limit results to one assignee user id.",
"type": "string"
},
"label": {
"description": "Limit results to tasks with this label name.",
"type": "string"
},
"name": {
"description": "Limit results to tasks whose name contains this text (not case-sensitive).",
"type": "string"
},
"includeAllStatuses": {
"description": "Include tasks in every status, not only the open ones.",
"type": "boolean"
},
"cursor": {
"description": "Cursor from meta.nextCursor of the previous call, to get the next page.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢motion_get_task(task_id)
Get one task by id: name, description, due date, duration, status, project, assignee and completion time. Motion API: GET /v1/tasks/{id}.
入力スキーマ
{
"type": "object",
"properties": {
"task_id": {
"type": "string",
"description": "The task id (from motion_list_tasks)."
}
},
"required": [
"task_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴motion_create_task(name, workspaceId, description, dueDate, duration, ...)
Create a task in a workspace. Writes to the Motion account: it adds a new task each time it runs, so call it once per task. Motion API: POST /v1/tasks.
入力スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Title of the task."
},
"workspaceId": {
"type": "string",
"minLength": 1,
"description": "The workspace id the task belongs to (from motion_list_workspaces)."
},
"description": {
"description": "Description in GitHub Flavored Markdown.",
"type": "string"
},
"dueDate": {
"description": "Due date and time in ISO 8601, for example 2026-11-30T17:00:00Z.",
"type": "string"
},
"duration": {
"description": "Minutes as a whole number above 0, or NONE, or REMINDER.",
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"enum": [
"NONE",
"REMINDER"
]
}
]
},
"status": {
"description": "Status name. Defaults to the workspace default status.",
"type": "string"
},
"priority": {
"description": "Task priority.",
"type": "string",
"enum": [
"ASAP",
"HIGH",
"MEDIUM",
"LOW"
]
},
"deadlineType": {
"description": "Deadline type. Motion defaults to SOFT.",
"type": "string",
"enum": [
"HARD",
"SOFT",
"NONE"
]
},
"projectId": {
"description": "The project id the task belongs to.",
"type": "string"
},
"assigneeId": {
"description": "The user id the task is assigned to.",
"type": "string"
},
"labels": {
"description": "Label names to add to the task.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"workspaceId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢motion_get_schedules
Get the working schedules of this user: the weekly hours and timezone for each schedule. Motion API: GET /v1/schedules.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}コミュニティ
エビデンス