NeuroDock Task Fractionator について
NeuroDock Task Fractionatorは、目標を細分化したタスクに分け、次の行動を1つ選ぶローカル優先のMCPサーバーです。プロジェクトを整理する人を対象とし、分解にはローカルのヒューリスティックを使います。タスクの永続化は呼び出し側が担います。
主な機能
- 01目標を5~90分のタスクに分割
- 02受け入れ条件の付与と依存順の設定
- 03次のタスクを1つだけ選択
- 04理由と確信度の返却
- 05分解したタスクを永続化しない
活用シーン
- 01曖昧な計画を実行可能なタスクに変換
- 02プロジェクトで次に着手できるタスクの選択
MCP 対応
`decompose`と`next_one`のMCPツールを公開します。`next_one`は設定可能なソースから未完了タスクを読み込み、同梱のグラフ連携ソースはスタブです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| goal | string | はい | |
| time_budget | any | いいえ | 任意の合計時間予算。ISO-8601 duration 形式で指定します。例:'PT2H'(2 時間)または 'PT90M'(90 分)。'a couple of hours' のような文章での指定は不可です。 |
| max_chunk_size | any | いいえ | 任意の神経タイプ調整パラメーター(ADR 0011)。返されるタスク数を、通常の目標値 3~12 件/上限 20 件より少なく制限します。目標に自然により多くの手順が必要な場合、サーバーはシーケンス番号の小さい先頭部分(依存関係が宙に浮かない有効な部分 DAG)を保持し、手順を黙って破棄するのではなく、理由に切り詰めたことを記載します。省略時はデフォルトの動作になります。 |
| motor_fatigue_aware | any | いいえ | 任意の神経タイプ調整パラメーター(ADR 0011)。true の場合、サーバーはこの設定をそのまま返し、理由にも記載するため、クライアントはそれに応じて対応できます。サーバーは実際の運動活動を把握できず、疲労を推測することもありません。 |
| time_buffer_multiplier | any | いいえ | 任意の神経タイプ調整パラメーター(ADR 0011)。1.0 より大きい場合、サーバーは各タスクに 'padded_minutes' を追加します。値は round(estimated_minutes * multiplier) です。'estimated_minutes' は RAW のままなので、二重に上乗せされることはありません。値が 1.0 の場合(または省略時)は上乗せされません。 |
詳細
neurodock-mcp-task-fractionator
ローカルファーストの目標分解と、次に取るべきアクションを1つ選択する機能を MCP サーバーとして提供します。
- バージョン: v0.0.3(開発者向けプレビュー)
- ステータス: フェーズ1の基盤サーバー。
- ライセンス: AGPL-3.0-or-later。
- 設計: ADR 0003 — タスク分割ツールの設計を参照してください。
- スキーマ(契約):
schemas/decompose.schema.jsonとschemas/next_one.schema.json。 - このサーバーの基盤となるユーザーストーリー:(「ADHDのあるディレクター」— あいまいな取り組みを音声で書き出し、5〜12個のアトミックなタスクと次に取り組むべき1つのタスクを得る)。
ツール
decompose(goal, time_budget?)
ローカルのヒューリスティックにより、目標を所要時間5〜90分のアトミックなタスクに分解します。各タスクには、少なくとも1つの受け入れ基準、依存関係でソートされた連番、小規模なタグセットが含まれます。ステートレスで、サーバーはリストを返すだけで、永続化はしません。永続化は、呼び出し元が
mcp-cognitive-graph を使って行います。
goal— 5〜500文字の平易な言葉で記述した目標。ログには記録されません。time_budget— 任意の ISO 8601 期間(PT4H、P3D、PT2H30M)。 解析できない入力の場合はTIME_BUDGET_UNPARSEABLEを返します。ADR 0003 §3に従い、P3Dは72時間ではなく、4時間の作業ブロック3回として扱われます。
エラー:GOAL_REQUIRED、GOAL_TOO_LONG、TIME_BUDGET_UNPARSEABLE、
BUDGET_INFEASIBLE、DEPENDENCY_CYCLE、ACCEPTANCE_CRITERIA_REQUIRED、
DECOMPOSITION_UNAVAILABLE
next_one(project)
タスクをちょうど1つ返します。つまり、ユーザーが次に行うべき唯一の作業に、
簡潔な理由の段落と [0, 1] の信頼度スコアを添えて返します。
project— 1〜120文字のプロジェクト名(大文字と小文字を区別し、あいまい一致はしません)。- 未完了のタスクは、プラグイン可能な
PendingTaskSourceから読み取ります。 - 選択方法:
dependenciesがすべて未完了タスクの集合内ですでに完了しているもののうち、sequenceが最も小さいタスクを選びます。
エラー:PROJECT_REQUIRED、NO_TASKS_AVAILABLE、ALL_TASKS_BLOCKED、
COGNITIVE_GRAPH_UNAVAILABLE
クイックスタート
# From the repo root
uv sync
uv run pytest packages/mcp-task-fractionator/tests/ -v
# Run the server over stdio (the MCP transport):
uv run neurodock-mcp-task-fractionator
メモリー内のみの next_one(v0.0.3の注意点)
next_one は PendingTaskSource から未完了タスクを読み取ります。v0.0.3には2つの実装が含まれています。
-
InMemoryPendingTaskSource— デフォルトで、テストに使用されます。タスクをプロセスのメモリー内に保持します。このソースを明示的に指定してサーバーをビルドし、next_oneを呼び出す前にタスクを登録してください。from neurodock_mcp_task_fractionator import ( InMemoryPendingTaskSource, build_server, ) source = InMemoryPendingTaskSource() source.add("founding-scope-rfc", [task_1, task_2, task_3]) server = build_server(source=source) -
CognitiveGraphPendingTaskSource— フェーズ2のスタブです。常にCOGNITIVE_GRAPH_UNAVAILABLEを発生させます。mcp-cognitive-graphの Python クライアントが公開された時点で、実際の接続が実装されます。
環境変数による選択:NEURODOCK_TASK_SOURCE=memory|graph(デフォルトは
memory)。不明な値の場合はクラッシュせず、memory にフォールバックします。
プライバシー
ADR 0003 §7に従い、目標のテキストとプロジェクト名は機密性の高い ユーザーデータとして扱われます。
- リモート呼び出しはありません。サーバー内での LLM 呼び出しもありません。
- 目標のテキストは、どのログレベルでも決して記録されません。
- 検証エラーではユーザーの入力内容ではなく、フィールド名を参照します。
- 理由の段落は、認識された語彙トークンのみを使って構成されます。ユーザーが入力した元の目標テキストをそのまま含めることはありません。
テスト(test_decompose.py::test_rationale_does_not_contain_goal_text)で
プライバシーの不変条件を確認しています。
開発ゲート
# Lint + format check
uv run ruff check packages/mcp-task-fractionator/
uv run ruff format --check packages/mcp-task-fractionator/
# Strict type check
uv run mypy --strict packages/mcp-task-fractionator/src/
# Tests
uv run pytest packages/mcp-task-fractionator/tests/ -v
PRをマージ可能にするには、4項目すべてに合格する必要があります。
関連情報
- アーキテクチャの設計根拠:ADR 0003 — タスク分割ツールの設計。
- このサーバーが遵守する必要のある5原則のマニフェスト:
MANIFESTO.md。 - 関連サーバー:
mcp-chronometric(時間、アイドル、休憩)とmcp-cognitive-graph(永続状態 — 未完了タスクの保存先)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。