Skip to main content
Glama

MCP Task Manager Server

by bsmi021
updateTaskParams.ts2.77 kB
import { z } from 'zod'; import { TaskPriority, TaskStatus } from '../types/taskTypes.js'; // Import shared types export const TOOL_NAME = "updateTask"; export const TOOL_DESCRIPTION = ` Updates specific details of an existing task within a project. Requires the project ID and task ID. Allows updating description, priority, and/or dependencies. At least one optional field (description, priority, dependencies) must be provided. Returns the full details of the updated task upon success. `; // Define the possible priority values based on the shared type const priorities: [TaskPriority, ...TaskPriority[]] = ['high', 'medium', 'low']; // Base Zod schema without refinement - needed for server.tool registration export const UPDATE_TASK_BASE_SCHEMA = z.object({ project_id: z.string() .uuid("The project_id must be a valid UUID.") .describe("The unique identifier (UUID) of the project containing the task to update. This project must exist."), // Required, UUID format task_id: z.string() .uuid("The task_id must be a valid UUID.") // Assuming task IDs are UUIDs for consistency .describe("The unique identifier (UUID) of the task to update. This task must exist within the specified project."), // Required, UUID format description: z.string() .min(1, "Description cannot be empty if provided.") .max(1024, "Description cannot exceed 1024 characters.") .optional() .describe("Optional. The new textual description for the task (1-1024 characters)."), // Optional, string, limits priority: z.enum(priorities) .optional() .describe("Optional. The new priority level for the task ('high', 'medium', or 'low')."), // Optional, enum dependencies: z.array( z.string() .uuid("Each dependency task ID must be a valid UUID.") .describe("A task ID (UUID) that this task should depend on.") ) .max(50, "A task cannot have more than 50 dependencies.") .optional() .describe("Optional. The complete list of task IDs (UUIDs) that this task depends on. Replaces the existing list entirely. Max 50 dependencies."), // Optional, array of UUID strings, limit }); // Refined schema for validation and type inference export const TOOL_PARAMS = UPDATE_TASK_BASE_SCHEMA.refine( data => data.description !== undefined || data.priority !== undefined || data.dependencies !== undefined, { message: "At least one field to update (description, priority, or dependencies) must be provided.", // path: [], // No specific path, applies to the object } ); // Define the expected type for arguments based on the *refined* Zod schema export type UpdateTaskArgs = z.infer<typeof TOOL_PARAMS>;

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/bsmi021/mcp-task-manager-server'

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