分割統治 MCP サーバー
AI エージェントが構造化された JSON 形式を使用して複雑なタスクを管理しやすい部分に分割できるようにするモデル コンテキスト プロトコル (MCP) サーバー。
目次
Related MCP server: ClickUp MCP Server
目的
Divide and Conquer MCPサーバーは、Temp Notes MCPサーバーの進化版であり、管理しやすい単位に分割する必要がある複雑なタスク向けに特別に設計されています。このサーバーは、単純なテキストファイルではなく、構造化されたJSON形式を使用してタスク情報、チェックリスト、コンテキストを保存することで、複数の会話にまたがる進捗状況の追跡とコンテキストの維持を容易にします。
主な特徴
構造化JSON形式:プレーンテキストの代わりにJSON構造を使用してタスク情報を保存します
タスク追跡: 完了ステータスの追跡機能を備えたチェックリスト機能が含まれています
コンテキストの保存: タスクのコンテキストと詳細な説明のための専用フィールド
進捗状況の監視: 完了したタスクと残りのタスクを簡単に視覚化
タスク順序付け: タスクの順序を維持して順次実行します
タスクの挿入: チェックリストの特定の位置に新しいタスクを挿入する機能
メタデータ: タグ、優先度、推定完了時間などの追加情報を追跡します
メモとリソース: タスクに関連する追加のメモとリソースを保存します
クイックスタート
サーバーを MCP 構成に追加します。
{ "mcpServers": { "divide-and-conquer": { "command": "npx", "args": ["-y", "@landicefu/divide-and-conquer-mcp-server"], "disabled": false } } }会話の中で使い始めましょう:
// Initialize a new task await use_mcp_tool({ server_name: "divide-and-conquer", tool_name: "initialize_task", arguments: { task_description: "Refactor the authentication system", context_for_all_tasks: "The current system uses session-based authentication." } }); // Add checklist items await use_mcp_tool({ server_name: "divide-and-conquer", tool_name: "add_checklist_item", arguments: { 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 with MongoDB store." } });
インストール
オプション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 } } }
ツール
Divide and Conquer 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 statusのみが含まれ、context_and_planは除外されます。タスクを操作する際には、このツールの使用をお勧めします。
使用例
複雑なタスクの初期化
await use_mcp_tool({
server_name: "divide-and-conquer",
tool_name: "initialize_task",
arguments: {
task_description: "Refactor the authentication system to use JWT tokens and improve security",
context_for_all_tasks: "The current system uses session-based authentication with cookies. We need to migrate to JWT for better scalability and security.",
initial_checklist: [
{
task: "Analyze current authentication flow",
detailed_description: "Review the existing authentication code to understand the current flow.",
context_and_plan: "Look at src/auth/* files. The current implementation uses express-session with MongoDB store. Pay special attention to session expiration handling."
},
{
task: "Design JWT implementation",
detailed_description: "Create a design document outlining how JWT will be implemented.",
context_and_plan: "Consider token structure, storage, and refresh mechanisms. Research best practices for JWT implementation in Node.js applications. Reference the security requirements document in 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
}
});
// Result contains a formatted summary of the checklist with completion status (context is excluded to save space)現在のタスクの詳細を取得する
const taskDetails = await use_mcp_tool({
server_name: "divide-and-conquer",
tool_name: "get_current_task_details",
arguments: {}
});
// Result contains:
// - ultimate_goal: The final goal of the entire task (task_description)
// - tasks: Array of all tasks, where the current task (first uncompleted) has all fields including context_and_plan,
// while other tasks have limited fields (task, detailed_description, done) without context_and_plan
// - current_task_index: Index of the current task (first uncompleted)
// - Additional task metadata, notes, resources, etc.ユースケース
1. 複雑なソフトウェア開発タスク
複雑なソフトウェア開発タスクに取り組む際、AIエージェントはコンテキストウィンドウの制限に直面することが多く、1回の会話ですべてのステップを完了することが困難になります。Divide and Conquer MCPサーバーにより、エージェントは以下のことが可能になります。
大きなタスクを小さく管理しやすい部分に分割する
複数の会話の進捗状況を追跡する
失われてしまう重要なコンテキストを維持する
タスクを論理的な順序で整理する
決定事項とリソースを文書化する
2. プロジェクト計画と管理
プロジェクトの計画および管理タスクでは、サーバーによって次のことが可能になります。
タスクとサブタスクを含む構造化されたプロジェクト計画の作成
進捗状況と完了状況の追跡
コンテキストと要件の維持
決定とリソースの文書化
複数の会話にわたるコラボレーション
3. 調査と分析
調査と分析を行う際に、エージェントは次のことができます。
研究の質問を調査する特定の領域に細分化する
進捗状況と調査結果を追跡する
文脈と背景情報を維持する
文書のソースとリソース
調査結果を構造的に整理する
JSON構造
サーバーは、タスク情報を保存するために次の JSON 構造を使用します。
{
"task_description": "A medium-level detailed description about the whole task. The final goal we want to achieve.",
"checklist": [
{
"done": false,
"task": "A short yet comprehensive name for the task",
"detailed_description": "A longer description about what we want to achieve with this task",
"context_and_plan": "Related information, files the agent should read, and more details from other tasks, as well as a detailed plan for this task. This is typically the longest string."
}
],
"context_for_all_tasks": "Information that all tasks in the checklist should include.",
"metadata": {
"created_at": "ISO timestamp",
"updated_at": "ISO timestamp",
"progress": {
"completed": 0,
"total": 1,
"percentage": 0
},
"tags": ["tag1", "tag2"],
"priority": "high|medium|low",
"estimated_completion_time": "ISO timestamp or duration"
},
"notes": [
{
"timestamp": "ISO timestamp",
"content": "Additional notes or observations about the overall task"
}
],
"resources": [
{
"name": "Resource name",
"url": "URL or file path",
"description": "Description of the resource"
}
]
}構成の保存
デフォルトでは、Divide and Conquer 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 ファイルを参照してください。