Motion MCP by usefulapi
Read tasks, projects, workspaces and schedules; create tasks in Motion.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (2)
- HIGH
- LOWin motion_get_schedules
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"motion": {
"url": "https://motion.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://motion.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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}.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis