
Divide and Conquer MCP Server
使 AI 代理能够使用结构化的 JSON 格式将复杂任务分解为可管理的部分,并具有任务跟踪、上下文保持和进度监控功能。
README
分而治之 MCP 服务器
一个模型上下文协议 (MCP) 服务器,使 AI 代理能够使用结构化的 JSON 格式将复杂任务分解为可管理的部分。
目录
目的
分而治之 MCP 服务器是 Temp Notes MCP 服务器的演进,专为需要分解为可管理部分的复杂任务而设计。该服务器不使用简单的文本文件,而是使用结构化的 JSON 格式来存储任务信息、检查清单和上下文,从而更容易跟踪进度并在多次对话中保持上下文。
主要特性
- 结构化的 JSON 格式: 使用 JSON 结构来存储任务信息,而不是纯文本
- 任务跟踪: 包括具有完成状态跟踪的检查清单功能
- 上下文保留: 用于任务上下文和详细描述的专用字段
- 进度监控: 轻松可视化已完成与剩余任务
- 任务排序: 维护任务的顺序以进行顺序执行
- 任务插入: 能够在检查清单中的特定位置插入新任务
- 元数据: 跟踪其他信息,如标签、优先级和预计完成时间
- 笔记和资源: 存储与任务相关的其他笔记和资源
快速开始
-
将服务器添加到您的 MCP 配置:
{ "mcpServers": { "divide-and-conquer": { "command": "npx", "args": ["-y", "@landicefu/divide-and-conquer-mcp-server"], "disabled": false } } }
-
开始在您的对话中使用它:
// 初始化一个新任务 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:从源代码安装
-
克隆存储库:
git clone https://github.com/landicefu/divide-and-conquer-mcp-server.git cd divide-and-conquer-mcp-server
-
安装依赖项:
npm install
-
构建服务器:
npm run build
-
将服务器添加到您的 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 文件。
推荐服务器

Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。