Skip to main content
Glama
PhilippMT

Software Planning Tool

by PhilippMT

remove_todo

Delete a specific task from your software development plan by providing its unique ID to maintain an organized project workflow.

Instructions

Remove a todo item from the current plan

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
todoIdYesID of the todo item to remove

Implementation Reference

  • MCP tool handler for 'remove_todo': validates current goal, extracts todoId from arguments, delegates to storage.removeTodo, and returns success response.
    case 'remove_todo': {
      if (!this.currentGoal) {
        throw new McpError(
          ErrorCode.InvalidRequest,
          'No active goal. Start a new planning session first.'
        );
      }
    
      const { todoId } = request.params.arguments as { todoId: string };
      await storage.removeTodo(this.currentGoal.id, todoId);
    
      return {
        content: [
          {
            type: 'text',
            text: `Successfully removed todo ${todoId}`,
          },
        ],
      };
    }
  • Input schema for the 'remove_todo' tool defining the required 'todoId' string parameter.
    inputSchema: {
      type: 'object',
      properties: {
        todoId: {
          type: 'string',
          description: 'ID of the todo item to remove',
        },
      },
      required: ['todoId'],
    },
  • src/index.ts:169-182 (registration)
    Registration of the 'remove_todo' tool in the tools list for ListToolsRequestSchema, including name, description, and input schema.
    {
      name: 'remove_todo',
      description: 'Remove a todo item from the current plan',
      inputSchema: {
        type: 'object',
        properties: {
          todoId: {
            type: 'string',
            description: 'ID of the todo item to remove',
          },
        },
        required: ['todoId'],
      },
    },
  • Helper method in storage class that removes a todo item by ID from the plan's todos array, updates the plan timestamp, and persists the change.
    async removeTodo(goalId: string, todoId: string): Promise<void> {
      const plan = await this.getPlan(goalId);
      if (!plan) {
        throw new Error(`No plan found for goal ${goalId}`);
      }
    
      plan.todos = plan.todos.filter((todo: Todo) => todo.id !== todoId);
      plan.updatedAt = new Date().toISOString();
      await this.save();
    }

Tool Definition Quality

Score is being calculated. Check back soon.

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/PhilippMT/Software-planning-mcp'

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