Divide and Conquer MCP Server

Divide and Conquer MCP Server

镜子 (jìng zi)

MCP-Mirror

研究与数据
访问服务器

README

分而治之 MCP 服务器

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

目录

目的

分而治之 MCP 服务器是 Temp Notes 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/* 文件。当前的实现使用带有 MongoDB 存储的 express-session。"
      }
    });
    

安装

选项 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 在内的所有字段都包括在内。 对于其他任务,仅包括 task、detailed_description 和 done 状态(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/* 文件。当前的实现使用带有 MongoDB 存储的 express-session。特别注意会话过期处理。"
      },
      {
        task: "设计 JWT 实现",
        detailed_description: "创建一个设计文档,概述如何实现 JWT。",
        context_and_plan: "考虑令牌结构、存储和刷新机制。研究 Node.js 应用程序中 JWT 实现的最佳实践。参考 docs/security.md 中的安全要求文档。"
      }
    ],
    metadata: {
      tags: ["security", "refactoring", "authentication"],
      priority: "high",
      estimated_completion_time: "2 weeks"
    }
  }
});

获取检查清单摘要

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:整个任务的最终目标 (task_description)
// - tasks:所有任务的数组,其中当前任务(第一个未完成的任务)具有包括 context_and_plan 在内的所有字段,
//   而其他任务具有有限的字段(task、detailed_description、done),没有 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": ["tag1", "tag2"],
    "priority": "high|medium|low",
    "estimated_completion_time": "ISO 时间戳或持续时间"
  },
  
  "notes": [
    {
      "timestamp": "ISO 时间戳",
      "content": "关于总体任务的其他笔记或观察"
    }
  ],
  
  "resources": [
    {
      "name": "资源名称",
      "url": "URL 或文件路径",
      "description": "资源描述"
    }
  ]
}

配置存储

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

  • 在 macOS/Linux 上:~/.mcp_config/divide_and_conquer.json(扩展为 /Users/username/.mcp_config/divide_and_conquer.json
  • 在 Windows 上:C:\Users\username\.mcp_config\divide_and_conquer.json

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

服务器处理以下情况:

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

贡献

欢迎贡献! 请随时提交拉取请求。

许可证

此项目已获得 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python