Divide and Conquer (Task Management) MCP server

Enables breaking down complex tasks into manageable pieces with structured JSON storage for tracking progress, maintaining checklists, and preserving context across multiple conversations.
Back to servers
Setup instructions
Provider
Landice Fu
Release date
Mar 11, 2025
Language
TypeScript
Package
Stats
625 downloads
5 stars

The Divide and Conquer MCP Server provides a structured way for AI agents to break down complex tasks into manageable pieces using JSON format. It helps maintain context across multiple conversations while tracking progress on complex projects.

Installation Options

Using npx (Recommended)

Add the server to your MCP configuration:

{
  "mcpServers": {
    "divide-and-conquer": {
      "command": "npx",
      "args": ["-y", "@landicefu/divide-and-conquer-mcp-server"],
      "disabled": false
    }
  }
}

Installing via Smithery

To install automatically via Smithery for Claude Desktop:

npx -y @smithery/cli install @landicefu/divide-and-conquer-mcp-server --client claude

Manual Installation

  1. Clone the repository:

    git clone https://github.com/landicefu/divide-and-conquer-mcp-server.git
    cd divide-and-conquer-mcp-server
    
  2. Install dependencies and build:

    npm install
    npm run build
    
  3. Configure your MCP settings:

    {
      "mcpServers": {
        "divide-and-conquer": {
          "command": "node",
          "args": ["/path/to/divide-and-conquer-mcp-server/build/index.js"],
          "disabled": false
        }
      }
    }
    

Available Tools

Task Management

  • initialize_task: Creates a new task with description and optional checklist items
  • update_task_description: Updates the main task description
  • update_context: Updates the context information for all tasks
  • clear_task: Clears the current task data

Checklist Operations

  • add_checklist_item: Adds a new item to the checklist
  • update_checklist_item: Updates an existing checklist item
  • mark_task_done: Marks a checklist item as completed
  • mark_task_undone: Marks a checklist item as not done
  • remove_checklist_item: Removes a checklist item
  • reorder_checklist_item: Moves a checklist item to a new position

Additional Features

  • add_note: Adds a note to the task
  • add_resource: Adds a resource to the task
  • update_metadata: Updates the task metadata

Information Retrieval

  • get_checklist_summary: Returns a summary of the checklist with completion status
  • get_current_task_details: Retrieves details of the current (first uncompleted) task with full context

Usage Examples

Initialize a Complex Task

await use_mcp_tool({
  server_name: "divide-and-conquer",
  tool_name: "initialize_task",
  arguments: {
    task_description: "Refactor the authentication system to use JWT tokens",
    context_for_all_tasks: "The current system uses session-based authentication with cookies.",
    initial_checklist: [
      {
        task: "Analyze current authentication flow",
        detailed_description: "Review the existing authentication code.",
        context_and_plan: "Look at src/auth/* files. The current implementation uses express-session."
      },
      {
        task: "Design JWT implementation",
        detailed_description: "Create a design document for JWT implementation.",
        context_and_plan: "Consider token structure, storage, and refresh mechanisms."
      }
    ],
    metadata: {
      tags: ["security", "refactoring"],
      priority: "high",
      estimated_completion_time: "2 weeks"
    }
  }
});

Add a New Task to the Checklist

await use_mcp_tool({
  server_name: "divide-and-conquer",
  tool_name: "add_checklist_item",
  arguments: {
    task: "Implement JWT token generation",
    detailed_description: "Create functions to generate and sign JWT tokens",
    context_and_plan: "Use the jsonwebtoken library. Include user ID, roles, and expiration time in the payload."
  }
});

Get Current Task Details

const taskDetails = await use_mcp_tool({
  server_name: "divide-and-conquer",
  tool_name: "get_current_task_details",
  arguments: {}
});

// Returns the first uncompleted task with full context,
// and other tasks with limited information

Mark a Task as Completed

await use_mcp_tool({
  server_name: "divide-and-conquer",
  tool_name: "mark_task_done",
  arguments: {
    task_index: 0 // Mark the first task as done
  }
});

Storage Configuration

The server automatically stores task data in:

  • macOS/Linux: ~/.mcp_config/divide_and_conquer.json
  • Windows: C:\Users\username\.mcp_config\divide_and_conquer.json

The file is created automatically when you first initialize a task, and the directory structure is created as needed.

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "divide-and-conquer" '{"command":"npx","args":["-y","@landicefu/divide-and-conquer-mcp-server"],"disabled":false}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "divide-and-conquer": {
            "command": "npx",
            "args": [
                "-y",
                "@landicefu/divide-and-conquer-mcp-server"
            ],
            "disabled": false
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "divide-and-conquer": {
            "command": "npx",
            "args": [
                "-y",
                "@landicefu/divide-and-conquer-mcp-server"
            ],
            "disabled": false
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later