返回市场
分而治之MCP服务器

分而治之MCP服务器

作者:landicefu7 星标更新:2025-06-26

项目介绍

MseeP.ai 安全评估徽章

分而治之 MCP 服务器

smithery 徽章

一个模型上下文协议(MCP)服务器,使AI代理能够使用结构化的JSON格式将复杂任务分解成可管理的部分。

目录

目的

分而治之 MCP 服务器是临时笔记 MCP 服务器的进化版本,专门设计用于需要被分解成可管理部分的复杂任务。与简单的文本文件不同,该服务器使用结构化的JSON格式来存储任务信息、检查列表和上下文,使得在多个对话中跟踪进度和维护上下文变得更加容易。

关键特性

  • 结构化JSON格式:使用JSON结构而不是纯文本来存储任务信息
  • 任务跟踪:包括带有完成状态跟踪的检查列表功能
  • 上下文保存:专用于任务上下文和详细描述的字段
  • 进度监控:轻松可视化已完成任务与剩余任务
  • 任务排序:维护任务顺序以实现顺序执行
  • 任务插入:能够在检查列表中的特定位置插入新任务
  • 元数据:追踪额外的信息如标签、优先级和预计完成时间
  • 备注和资源:存储与任务相关的额外备注和资源

快速开始

  1. 将服务器添加到您的MCP配置中:

    {
      "mcpServers": {
        "divide-and-conquer": {
          "command": "npx",
          "args": ["-y", "@landicefu/divide-and-conquer-mcp-server"],
          "disabled": false
        }
      }
    }
    
  2. 在您的对话中开始使用它:

    // 初始化一个新任务
    await use_mcp_tool({
      server_name: "divide-and-conquer",
      tool_name: "initialize_task",
      arguments: {
        task_description: "重构认证系统",
        context_for_all_tasks: "当前系统使用基于会话的认证。"
      }
    });
    
    // 添加检查列表项
    await use_mcp_tool({
      server_name: "divide-and-conquer",
      tool_name: "add_checklist_item",
      arguments: {
        task: "分析当前认证流程",
        detailed_description: "审查现有的认证代码。",
        context_and_plan: "查看src/auth/*文件。当前实现使用express-session与MongoDB存储。"
      }
    });
    

安装

通过Smithery安装

要通过Smithery自动安装Divide and Conquer Server for Claude Desktop:

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

方案1:使用npx(推荐)

将服务器添加到您的MCP配置中:

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

方案2:从源码安装

  1. 克隆仓库:

    git clone https://github.com/landicefu/divide-and-conquer-mcp-server.git
    cd divide-and-conquer-mcp-server
    
  2. 安装依赖:

    npm install
    
  3. 构建服务器:

    npm run build
    
  4. 将服务器添加到您的MCP配置中:

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

工具

分而治之 MCP 服务器提供以下工具:

initialize_task

创建一个具有指定描述的新任务,并可选地初始化检查列表项。

update_task_description

更新主要任务描述。

update_context

更新所有任务的上下文信息。

add_checklist_item

向检查列表添加一个新的项目。

update_checklist_item

更新现有的检查列表项。

mark_task_done

标记检查列表项为已完成。

mark_task_undone

标记检查列表项为未完成。

remove_checklist_item

移除检查列表项。

reorder_checklist_item

移动检查列表项到新的位置。

add_note

向任务添加备注。

add_resource

向任务添加资源。

update_metadata

更新任务元数据。

clear_task

清除当前任务数据。

get_checklist_summary

返回带有完成状态的检查列表摘要。上下文信息有意排除在摘要之外,以节省上下文窗口空间。

get_current_task_details

检索当前任务(第一个未完成的任务)的详细信息(包括全部上下文),以及所有其他任务的有限字段。对于当前任务,包含所有字段包括context_and_plan;对于其他任务,仅包含任务、详细描述和完成状态(不包括context_and_plan)。这是处理任务时推荐使用的工具。

使用示例

初始化一个复杂任务

await use_mcp_tool({
  server_name: "divide-and-conquer",
  tool_name: "initialize_task",
  arguments: {
    task_description: "重构认证系统以使用JWT令牌并提高安全性",
    context_for_all_tasks: "当前系统使用基于会话的认证和cookie。我们需要迁移到JWT以获得更好的可扩展性和安全性。",
    initial_checklist: [
      {
        task: "分析当前认证流程",
        detailed_description: "审查现有认证代码以了解当前流程。",
        context_and_plan: "查看src/auth/*文件。当前实现使用express-session与MongoDB存储。特别注意会话过期处理。"
      },
      {
        task: "设计JWT实现",
        detailed_description: "创建一份设计文档,概述如何实现JWT。",
        context_and_plan: "考虑令牌结构、存储和刷新机制。研究Node.js应用程序中JWT实现的最佳实践。参考安全要求文档在docs/security.md。"
      }
    ],
    metadata: {
      tags: ["安全", "重构", "认证"],
      priority: "高",
      estimated_completion_time: "两周"
    }
  }
});

获取检查列表摘要

const summary = await use_mcp_tool({
  server_name: "divide-and-conquer",
  tool_name: "get_checklist_summary",
  arguments: {
    include_descriptions: true
  }
});

// 结果包含带有完成状态的检查列表的格式化摘要(上下文被排除以节省空间)

获取当前任务详情

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

// 结果包含:
// - ultimate_goal: 整个任务的最终目标(任务描述)
// - tasks: 所有任务的数组,其中当前任务(第一个未完成)包含所有字段包括context_and_plan,
//   而其他任务只有有限字段(任务、详细描述、完成状态)没有context_and_plan
// - current_task_index: 当前任务(第一个未完成)的索引
// - 其他任务元数据、备注、资源等

应用场景

1. 复杂的软件开发任务

在处理复杂的软件开发任务时,AI代理经常面临上下文窗口限制,这使得在一个对话中完成所有步骤变得困难。分而治之 MCP 服务器允许代理:

  • 将大任务分解成更小、可管理的部分
  • 跨多个对话跟踪进度
  • 维护否则会被丢失的重要上下文
  • 按逻辑顺序组织任务
  • 记录决策和资源

2. 项目规划和管理

对于项目规划和管理任务,服务器可以:

  • 创建包含任务和子任务的结构化项目计划
  • 跟踪进度和完成状态
  • 维护上下文和需求
  • 记录决策和资源
  • 跨多个对话协作

3. 研究和分析

在进行研究和分析时,代理可以:

  • 将研究问题分解成具体的研究领域
  • 跟踪进度和发现
  • 维护上下文和背景信息
  • 记录来源和资源
  • 以结构化的方式组织发现

JSON 结构

服务器使用以下JSON结构来存储任务信息:

{
  "task_description": "关于整个任务的中等详细描述。我们希望实现的最终目标。",
  
  "checklist": [
    {
      "done": false,
      "task": "任务的短而全面的名字",
      "detailed_description": "关于我们要通过此任务实现的目标的较长描述",
      "context_and_plan": "相关的信息、代理应阅读的文件以及其他任务的更多细节,以及此任务的详细计划。这通常是最长的字符串。"
    }
  ],
  
  "context_for_all_tasks": "检查列表中所有任务都应包含的信息。",
  
  "metadata": {
    "created_at": "ISO时间戳",
    "updated_at": "ISO时间戳",
    "progress": {
      "completed": 0,
      "total": 1,
      "percentage": 0
    },
    "tags": ["标签1", "标签2"],
    "priority": "高|中|低",
    "estimated_completion_time": "ISO时间戳或持续时间"
  },
  
  "notes": [
    {
      "timestamp": "ISO时间戳",
      "content": "关于整体任务的附加备注或观察"
    }
  ],
  
  "resources": [
    {
      "name": "资源名称",
      "url": "URL或文件路径",
      "description": "资源描述"
    }
  ]
}

配置存储

默认情况下,分而治之 MCP 服务器将任务数据存储在以下位置:

  • 在macOS/Linux上:~/.mcp_config/divide_and_conquer.json(展开为/Users/用户名/.mcp_config/divide_and_conquer.json
  • 在Windows上:C:\Users\用户名\.mcp_config\divide_and_conquer.json

当您首次初始化任务时,此文件会自动创建。如果您尝试读取任务数据时文件不存在,服务器将返回空的任务结构并在下次写入时创建文件。

服务器处理以下情况:

  • 如果读取时文件不存在:返回空的任务结构
  • 如果目录不存在:在写入时自动创建目录结构
  • 如果文件损坏或无法访问:返回适当的错误消息

贡献

欢迎贡献!请随时提交Pull Request。

许可

本项目根据MIT许可证发布 - 查看LICENSE文件获取详细信息。