APIリファレンス
Todoriはタスク管理のためのMCPツールを公開しています。MCPサーバーが実行されている場合、これらのツールはClaude Codeで自動的に利用可能になります。
タスク管理ツール
create_task
現在のプロジェクトに新しいタスクを作成します。
パラメータ:
title(string, 必須): タスクタイトルdescription(string, オプション): 詳細なタスク説明priority(number, オプション): 優先度レベル(0-100)、デフォルト: 50dependencies(string[], オプション): このタスクが依存するタスクIDの配列status(string, オプション): 初期ステータス、デフォルト: "pending"
戻り値:
{
id: string;
title: string;
status: TaskStatus;
created: ISO8601;
}例:
{
"title": "ユーザー認証を実装",
"description": "JWTベースの認証システムを追加",
"priority": 80,
"status": "pending"
}list_tasks
現在のプロジェクトのすべてのタスクを一覧表示します。
パラメータ:
status(string, オプション): ステータスでフィルタminPriority(number, オプション): 最小優先度閾値maxPriority(number, オプション): 最大優先度閾値
戻り値:
{
tasks: Task[];
count: number;
}例:
{
"status": "pending",
"minPriority": 70
}get_task
IDで特定のタスクを取得します。
パラメータ:
id(string, 必須): タスクID
戻り値:
{
id: string;
title: string;
description?: string;
status: TaskStatus;
priority: number;
dependencies: string[];
subtasks: Subtask[];
metadata: {
created: ISO8601;
updated: ISO8601;
completedAt?: ISO8601;
};
}update_task
既存のタスクを更新します。
パラメータ:
id(string, 必須): タスクIDtitle(string, オプション): 新しいタイトルdescription(string, オプション): 新しい説明status(TaskStatus, オプション): 新しいステータスpriority(string, オプション): 新しい優先度("high"、"medium"、"low")dependencies(string[], オプション): 依存関係リストを置換assignee(object | null, オプション): マルチエージェント連携用にタスクをセッションに割り当てsessionId(string, 必須): セッション識別子(例:ブランチ名)assignedAt(string, オプション): ISO8601タイムスタンプ(未指定時は自動設定)nullに設定すると担当者をクリア
戻り値:
{
id: string;
title: string;
status: TaskStatus;
// ... その他のタスクフィールド
}例 - 基本的な更新:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "in-progress",
"priority": "high"
}例 - セッションへの割り当て(ccmanager):
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "in-progress",
"assignee": {
"sessionId": "feature-auth"
}
}例 - 担当者のクリア:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"assignee": null
}delete_task
タスクを完全に削除します。
パラメータ:
id(string, 必須): タスクID
戻り値:
{
success: boolean;
deletedId: string;
}add_dependency
タスク間に依存関係を追加します。
パラメータ:
taskId(string, 必須): 他のタスクに依存するタスクdependsOn(string, 必須): 先に完了する必要があるタスクID
戻り値:
{
success: boolean;
taskId: string;
dependencies: string[];
}注意: 循環依存を自動的に検証します。
remove_dependency
依存関係を削除します。
パラメータ:
taskId(string, 必須): タスクIDdependencyId(string, 必須): 削除する依存関係
戻り値:
{
success: boolean;
taskId: string;
dependencies: string[];
}サブタスク管理
add_subtask
既存のタスクにサブタスクを追加します。
パラメータ:
taskId(string, 必須): 親タスクIDtitle(string, 必須): サブタスクタイトルdescription(string, オプション): サブタスク説明
戻り値:
{
taskId: string;
subtaskId: string;
title: string;
}complete_subtask
サブタスクを完了としてマークします。
パラメータ:
taskId(string, 必須): 親タスクIDsubtaskId(string, 必須): サブタスクID
戻り値:
{
success: boolean;
taskId: string;
subtaskId: string;
}タスク展開
expand_task
Claude Codeのコンテキスト理解を使用してタスクをサブタスクに展開します。
パラメータ:
taskId(string, 必須): 展開するタスクcontext(string, オプション): 展開のための追加コンテキスト
戻り値:
{
taskId: string;
subtasks: Subtask[];
expandedAt: ISO8601;
}注意: このツールはClaude Codeがプロジェクトを分析してサブタスクを提案するためのプロンプトを生成します。提案は解析されてサブタスクとして追加されます。
クエリツール
get_next_task
依存関係と優先度に基づいて次に作業すべきタスクを推奨します。
パラメータ:
status(string | string[], オプション): ステータスで候補をフィルタ(デフォルト: pending、in-progress)priority(string | string[], オプション): 優先度で候補をフィルタcurrentSessionId(string, オプション): 現在のセッション識別子。指定すると他のセッションに割り当てられたタスクを除外(ccmanagerマルチエージェント連携用)includeMetadata(boolean, オプション): レスポンスにタイムスタンプを含める(デフォルト: false)
戻り値:
{
task: Task | null;
rationale: string; // このタスクが推奨された理由の説明
}例 - 基本的な使用:
get_next_task({})
// 最も優先度が高いブロックされていないタスクを返す例 - マルチエージェント(ccmanager):
get_next_task({
currentSessionId: "feature-auth"
})
// 他のセッションに割り当てられていない次のタスクを返す推奨ロジック:
- pending/in-progressタスクにフィルタ
- 他のセッションに割り当てられたタスクを除外(
currentSessionId指定時) - 未完了の依存関係でブロックされているタスクを除外
- 優先度でソート(high → medium → low)
- 利用可能な最初のタスクを理由とともに返す
query_tasks
フィルタとソートを使用した高度なタスククエリ。
パラメータ:
filter(object, オプション): フィルタ条件status(string | string[]): ステータスフィルタpriority(object): 優先度範囲min(number): 最小優先度max(number): 最大優先度
search(string): タイトルと説明で検索
sort(object, オプション): ソート設定field(string): ソートするフィールド(priority、created、updated)order("asc" | "desc"): ソート順
戻り値:
{
tasks: Task[];
count: number;
filters: object;
}例:
{
"filter": {
"status": ["pending", "in-progress"],
"priority": { "min": 70 },
"search": "認証"
},
"sort": {
"field": "priority",
"order": "desc"
}
}データ型
TaskStatus
type TaskStatus =
| "pending"
| "in-progress"
| "blocked"
| "done"
| "deferred"
| "cancelled";Task
interface Task {
id: string; // UUID
title: string;
description?: string;
status: TaskStatus;
priority: Priority; // "high" | "medium" | "low"
dependencies: string[]; // タスクID
subtasks: Subtask[];
assignee?: TaskAssignee; // マルチエージェント連携用
metadata: {
created: ISO8601;
updated: ISO8601;
completedAt?: ISO8601;
};
}TaskAssignee
interface TaskAssignee {
sessionId: string; // セッション識別子(例:ブランチ名、worktree名)
assignedAt: string; // ISO8601タイムスタンプ
}ccmanagerとのマルチエージェント連携に使用。タスクにassigneeがある場合、他のセッションはcurrentSessionIdを指定することでget_next_taskの結果からそのタスクを除外できます。
Priority
type Priority = "high" | "medium" | "low";Subtask
interface Subtask {
id: string; // UUID
title: string;
description?: string;
completed: boolean;
completedAt?: ISO8601;
}ストレージ形式
タスクは人間が読みやすいYAML形式で.todori/tasks.yamlに保存されます:
tasks:
- id: 550e8400-e29b-41d4-a716-446655440000
title: ユーザー認証を実装
description: JWTベースの認証システムを追加
status: in-progress
priority: 80
dependencies: []
subtasks:
- id: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
title: ユーザーモデルを作成
completed: true
completedAt: 2025-12-14T10:30:00Z
- id: 6ba7b811-9dad-11d1-80b4-00c04fd430c8
title: JWTミドルウェアをセットアップ
completed: false
metadata:
created: 2025-12-14T09:00:00Z
updated: 2025-12-14T10:30:00Zエラーハンドリング
すべてのツールは一貫した形式でエラーを返します:
{
error: string;
code: string;
details?: object;
}一般的なエラーコード
TASK_NOT_FOUND: タスクIDが存在しないCIRCULAR_DEPENDENCY: 依存関係の追加により循環が発生するINVALID_STATUS: 無効なステータス値INVALID_PRIORITY: 優先度が範囲外(0-100)STORAGE_ERROR: ファイルシステムエラーVALIDATION_ERROR: 入力検証失敗
コンテキストウィンドウ最適化
Todoriはコンテキストウィンドウ使用量を最小限にするように設計されています:
- 平均レスポンスサイズ: ツール呼び出しあたり2KB未満
- 一覧操作: デフォルトで最小限のタスク要約を返す
- 展開プロンプト: Claude Codeを効率的にガイドするよう構造化
- ストレージ形式: 一貫性のためのアトミック書き込みを伴うYAML
パフォーマンス特性
- タスク作成: O(1)
- タスク検索: IDでO(1)
- タスク一覧: O(n)、nはタスク数
- 依存関係検証: 循環検出でO(n)
- ファイルI/O: 一貫性のためproper-lockfileを使用したアトミック書き込み
統合例
以下の例についてはexamplesディレクトリを参照:
- CI/CDパイプラインとの統合
- カスタムワークフロー自動化
- プロジェクトテンプレート
- 高度なクエリパターン