Skip to main content
Glama
0Thomas1

Kanban MCP Server

by 0Thomas1

move-task

Change task status in Kanban boards by moving tasks between todo, in progress, and done columns to track workflow progress.

Instructions

move a task to a different status

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
task_idYes
new_statusYes

Implementation Reference

  • Core handler logic for moving a task: finds the task by ID, updates its status, and saves to database.
    export async function moveTask(
      taskId: string,
      newStatus: "todo" | "inProgress" | "done"
    ) {
      try {
        const task = await Task.findById(taskId);
        if (!task) {
          throw new Error("Task not found");
        }
    
        task.taskStatus = newStatus;
        await task.save();
      } catch {
        throw new Error("Failed to move task");
      }
    }
  • Zod input schema for the move-task tool parameters.
    {
      task_id: z.string(),
      new_status: z.enum(["todo", "inProgress", "done"]),
    },
  • src/index.ts:76-111 (registration)
    Registration of the 'move-task' tool with MCP server, including description, schema, hints, and wrapper handler.
    server.tool(
      "move-task",
      "move a task to a different status",
      {
        task_id: z.string(),
        new_status: z.enum(["todo", "inProgress", "done"]),
      },
      {
        title: "move a task to a different status",
        readonlyHint: false,
        destructiveHint: false,
        idempotentHint: false,
        openWorldHint: true,
      },
      async (params) => {
        try {
          await mongooseUtils.moveTask(params.task_id, params.new_status);
          return {
            content: [
              {
                type: "text",
                text: `Task "${params.task_id}" moved to "${params.new_status}" successfully!`,
              },
            ],
          };
        } catch {
          return {
            content: [
              {
                type: "text",
                text: `Failed to move task "${params.task_id}" to "${params.new_status}".`,
              },
            ],
          };
        }
      }
  • Mongoose model schema defining the taskStatus field with matching enum values used by the tool.
    taskStatus: {
      type: String,
      enum: ["todo", "inProgress", "done"],
      default: "todo",
    },
Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/0Thomas1/Kanban-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server