mcpField
C
claudia

claudia

ローカル
github.com/yuvalsuede生産性1535 週間前に更新

claudia について

claudiaは、AIエージェント向けのタスク管理システムで、コマンドラインとMCPサーバーを備えています。タスク階層、依存関係、スプリント、受け入れ条件の確認、エージェント間の連携を通じてプロジェクト作業を整理します。

主な機能

  1. 01階層タスクと依存関係
  2. 02スプリントとプロジェクトの整理
  3. 03タスクごとのJSONコンテキスト保存
  4. 04受け入れ条件の検証
  5. 05タスクの原子的な確保とエージェント連携
  6. 06コマンドラインとWebカンバンボード

活用シーン

  1. 01プロジェクト作業を依存するサブタスクに分割
  2. 02同じプロジェクトで作業する複数エージェントの連携
  3. 03セッションをまたいだタスクコンテキストの保持
  4. 04完了前に受け入れ条件を検証

MCP 対応

MCPサーバーは、タスクの作成・更新・状態遷移、依存関係、連携、コンテキスト、検証、スプリント、プロジェクト用のツールを提供します。エージェントはツールを使ってタスクの確保、引き継ぎ、解放を行えます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"yuvalsuede-claudia": {
"command": "npx",
"args": [
"-y",
"claudia-cli"
]
}
}
}
起動コマンドnpx -y claudia-cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmclaudia-cli0.1.3

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Claudia

License: GPLv3 Bun MCP

AI エージェント向けに構築されたタスク管理システムです。

公式ウェブサイト:https://claudiacli.com/

Claudia は Model Context Protocol(MCP)サーバーを備えた構造化タスクトラッキングを提供し、Claude のような AI アシスタントが階層化されたタスク、依存関係、スプリント、受け入れ基準の検証を通じて、自らの作業を管理できるようにします。

Claudia ダッシュボードのデモ

Claudia を選ぶ理由

AI エージェントには、次のことを行う手段が必要です。

  • 複雑で複数のステップからなるタスクの進捗を追跡する
  • 複数のエージェントが同じプロジェクトで作業する際に連携する
  • セッション間でコンテキストを保持する(タスクごとに 64 KB の JSON ストレージ)
  • 完了前に受け入れ基準に照らして作業を検証する
  • スプリントやプロジェクト階層に作業を整理する

Claudia は、CLI と MCP サーバーインターフェースの両方を通じて、これらすべてを提供します。

クイックスタート

# Install Bun if you haven't already
curl -fsSL https://bun.sh/install | bash

# Clone and build
git clone https://github.com/yuvalsuede/claudia.git
cd claudia
bun install
bun run build

# Initialize and start using
./claudia db init
./claudia task create --title "My first task"
./claudia task list
デモを試す

サンプルデータで Claudia の動作を確認できます。

# Seed demo project with sample tasks and sprints
bun run seed:demo

# Open the web dashboard
./claudia @@ --port 3333

その後、ブラウザーで http://localhost:3333 を開き、カンバンボードとスプリントビューを確認してください。

スクリーンショット

タスクボード

Claudia のタスクビュー

スプリント管理

Claudia のスプリントビュー

機能

機能説明
階層型タスクツリー表示に対応した親子関係
ステートマシン検証済みの状態遷移:pending → in_progress → verification → completed
依存関係前提タスクが完了するまでタスクをブロックし、循環依存を検出
スプリントタスクを期間限定の作業期間にまとめる
複数プロジェクト作業ディレクトリからの自動検出に対応した、分離されたタスク名前空間
エージェントメモリタスクごとに 64 KB の JSON コンテキストストレージ
受け入れ基準タスク完了前に要件を定義して検証
マルチエージェント連携アトミックなタスク取得、楽観的ロック、競合検出
ウェブダッシュボードプロジェクトやスプリントで絞り込めるビジュアルカンバンボード
MCP サーバーClaude Code やその他の MCP クライアントとの即時統合

インストール

前提条件
  • Bun ランタイム(v1.0 以降)
ソースからインストール
git clone https://github.com/yuvalsuede/claudia.git
cd claudia
bun install
スタンドアロンバイナリをビルド
bun run build
# Creates ./claudia binary

# Optional: install globally
cp claudia ~/.bun/bin/

使用方法

CLI コマンド
タスク管理
# Create a task
claudia task create --title "Implement feature X" --priority p1

# Create with acceptance criteria
claudia task create --title "Add login" --acceptance-criteria "Has email field" --acceptance-criteria "Has password field"

# List tasks
claudia task list
claudia task list --status in_progress --priority p0,p1

# Show task details
claudia task show <task-id>

# Update a task
claudia task update <task-id> --title "New title" --priority p0

# Transition status
claudia task transition <task-id> --to in_progress

# Delete a task
claudia task delete <task-id> --force
タスク階層
# Create a subtask
claudia task create --title "Subtask" --parent <parent-id>

# View task tree
claudia task tree              # Full tree
claudia task tree <task-id>    # Subtree from task
タスクコンテキスト(エージェントメモリ)
# Set context (overwrites)
claudia task context-set <task-id> '{"key": "value"}'

# Merge context (deep merge)
claudia task context-merge <task-id> '{"additional": "data"}'

# Get context
claudia task context-get <task-id>
依存関係
# Add dependency (task depends on blocker)
claudia task depends <task-id> --on <blocker-id>

# Remove dependency
claudia task undepends <task-id> --on <blocker-id>

# Show dependencies
claudia task deps <task-id>

# List blocked tasks
claudia task blocked

# List ready tasks (all deps satisfied)
claudia task ready
スプリント
# Create a sprint
claudia sprint create --name "Sprint 1" --start 2024-01-15 --end 2024-01-29

# List sprints
claudia sprint list

# Show sprint with tasks
claudia sprint show <sprint-id>

# Activate a sprint
claudia sprint activate <sprint-id>
プロジェクト
# Create a project
claudia project create --name "My Project" --path /path/to/project

# List projects
claudia project list

# Select active project
claudia project select <project-id>

# Show current project
claudia project current
ウェブダッシュボード
# Open dashboard in browser
claudia @@

# Custom port
claudia @@ --port 8080

ダッシュボードでは、次の操作ができます。

  • タスクビュー:ドラッグ&ドロップで列を移動できるカンバンボード
  • スプリントビュー:進捗インジケーター付きのスプリントカード
  • プロジェクトフィルター:特定のプロジェクトに表示範囲を限定
  • 完了済みをクリア:完了したタスクをアーカイブ
MCP サーバーの統合

Claude Code で使用するために MCP サーバーを起動します。

claudia mcp
Claude Code の設定

プロジェクトのルートにある .mcp.json に追加します。

{
  "mcpServers": {
    "claudia": {
      "command": "/path/to/claudia",
      "args": ["mcp"]
    }
  }
}

または、ビルドせずに開発用として使用します。

{
  "mcpServers": {
    "claudia": {
      "command": "bun",
      "args": ["run", "/path/to/claudia/src/mcp/server.ts"],
      "cwd": "/path/to/claudia"
    }
  }
}

設定を追加した後、Claude Code を再起動して接続してください。

利用可能な MCP ツール

複合操作(エージェントに推奨)

ツール説明
task_start1回の操作でタスクを作成して開始します
task_finish任意の要約を添えてタスクを完了します
task_workspace現在のエージェントのワークスペースコンテキストを取得します
task_handoffタスクを別のエージェントに引き継ぎます
task_abandonタスクを保留中に戻します

タスク管理

ツール説明
task_create新しいタスクを作成します
task_readIDでタスクを取得します
task_updateタスクのフィールドを更新します
task_deleteタスクを削除します
task_listフィルターを指定してタスクを検索します
task_transitionタスクのステータスを変更します
task_tree階層形式でタスクを表示します

調整

ツール説明
task_claimタスクをアトミックに取得します
task_release取得したタスクを解放します
task_blockedブロック中のタスクを一覧表示します
task_ready実行可能なタスクを一覧表示します
task_dependency_addタスクの依存関係を追加します

検証

ツール説明
task_verify条件を検証済みとしてマークします
task_verification_status検証の進捗状況を取得します

完全なドキュメントについては、以下のすべての MCP ツールのリファレンスをご覧ください。

タスクのワークフロー

┌─────────┐     ┌─────────────┐     ┌──────────────┐     ┌───────────┐
│ pending │────▶│ in_progress │────▶│ verification │────▶│ completed │
└─────────┘     └─────────────┘     └──────────────┘     └───────────┘
     │                │                    │                    │
     ▼                ▼                    ▼                    ▼
┌─────────┐                         ┌──────────┐
│ blocked │                         │ archived │ (terminal)
└─────────┘                         └──────────┘

有効な遷移:

  • pending → in_progress、blocked、archived
  • in_progress → pending、verification、completed、blocked、archived
  • verification → in_progress、completed、blocked、archived
  • blocked → pending、in_progress、archived
  • completed → in_progress、archived
  • archived → (終端状態)

受け入れ条件が定義されていない場合、タスクはverificationを省略できます。

マルチエージェント連携

Claudia は、複数の AI エージェントが同じプロジェクトで並行して作業できるようにします。

タスクの取得
// Claim before working
const result = await task_claim({ task_id: "uuid", agent_id: "agent-1" });
if (result.success) {
  // Task is yours - proceed
} else {
  // Already claimed by another agent
}

// Release when done or on failure
await task_release({ task_id: "uuid", agent_id: "agent-1" });
楽観的ロック
// Read task first
const task = await task_read({ id: "uuid" });

// Update with version check
await task_update({
  id: task.id,
  title: "Updated",
  version: task.version  // Fails if modified by another agent
});
推奨パターン
  1. task_ready - 依存関係が満たされているタスクを一覧表示します
  2. task_claim - タスクをアトミックに確保します
  3. task_transition - ステータスをin_progressに変更します
  4. task_context_merge - 進捗を保存します
  5. task_transition - ステータスをcompletedに変更します
  6. 失敗した場合:task_release - 別のエージェントが再試行できるようタスクを解放します

設定

環境変数説明デフォルト
CLAUDIA_DBデータベースファイルのパス~/.claudia/tasks.db

開発

# Development mode
bun run dev

# Run tests
bun test

# Type checking
bun run typecheck

終了コード

コード意味
0成功
1一般エラー
2リソースが見つかりません
3競合(バージョン不一致)
4検証エラー
5ストレージエラー

MCP ツールのリファレンス

複合操作
task_start

1回の操作でタスクを作成して開始します。現在のエージェントが自動的にタスクを取得します。

{
  "title": "Task title",
  "description": "Optional description",
  "priority": "p0|p1|p2|p3",
  "parent_id": "optional-parent-uuid",
  "acceptance_criteria": ["criterion 1", "criterion 2"]
}
task_finish

任意の要約を添えてタスクを完了します。

{
  "id": "task-uuid",
  "summary": "Optional completion summary"
}
task_workspace

取得したタスクを含む、現在のエージェントのワークスペースコンテキストを取得します。

{
  "include_completed": false
}
task_handoff

タスクを別のエージェントに引き継ぎます。

{
  "task_id": "task-uuid",
  "to_agent_id": "target-agent",
  "notes": "Optional handoff notes"
}
task_abandon

理由を添えてタスクを保留中に戻します。

{
  "task_id": "task-uuid",
  "reason": "Why abandoning"
}
タスクの CRUD
task_create
{
  "title": "Required title",
  "description": "Optional",
  "status": "pending",
  "priority": "p0|p1|p2|p3",
  "parent_id": "uuid",
  "sprint_id": "uuid",
  "tags": ["tag1", "tag2"],
  "assignee": "name",
  "acceptance_criteria": ["criterion"]
}
task_read
{ "id": "task-uuid" }
task_update
{
  "id": "task-uuid",
  "title": "New title",
  "version": 1
}
task_delete
{ "id": "task-uuid" }
task_list
{
  "status": ["pending", "in_progress"],
  "priority": ["p0", "p1"],
  "parent_id": "uuid",
  "sprint_id": "uuid",
  "assignee": "name",
  "limit": 100,
  "offset": 0
}
task_transition
{
  "id": "task-uuid",
  "to": "in_progress"
}
task_tree
{
  "id": "optional-root-uuid",
  "depth": 5
}
一括操作
task_create_many
{
  "tasks": [
    { "title": "Task 1" },
    { "title": "Task 2" }
  ],
  "parent_id": "optional-common-parent",
  "sprint_id": "optional-common-sprint"
}
task_update_many
{
  "ids": ["uuid1", "uuid2"],
  "updates": {
    "priority": "p1",
    "assignee": "agent-1"
  }
}
task_transition_many
{
  "ids": ["uuid1", "uuid2"],
  "to": "completed",
  "skip_invalid": true
}
依存関係と連携
task_dependency_add
{
  "task_id": "blocked-task",
  "depends_on_id": "blocking-task"
}
task_dependency_remove
{
  "task_id": "task-uuid",
  "depends_on_id": "dependency-uuid"
}
task_dependencies
{ "task_id": "task-uuid" }
task_blocked

依存関係が満たされていないすべてのタスクを一覧表示します。

task_ready

作業を開始できるすべてのタスク(依存関係が満たされているタスク)を一覧表示します。

task_claim
{
  "task_id": "task-uuid",
  "agent_id": "claiming-agent"
}
#### task_release ```json { "task_id": "task-uuid", "agent_id": "releasing-agent" } ```
コンテキストストレージ
task_context_set

タスクコンテキストを上書きします(最大 64KB)。

{
  "id": "task-uuid",
  "context": { "any": "json data" }
}
task_context_merge

既存のコンテキストにディープマージします。

{
  "id": "task-uuid",
  "context": { "additional": "data" }
}
task_context_get
{ "id": "task-uuid" }
検証
task_verify

受け入れ基準を検証済みとしてマークします。

{
  "task_id": "task-uuid",
  "criterion_id": "criterion-uuid",
  "evidence": "Optional verification evidence"
}
task_verification_status

タスクの検証進捗を取得します。

{ "task_id": "task-uuid" }
スプリント
sprint_create
{
  "name": "Sprint 1",
  "start_at": "2024-01-15",
  "end_at": "2024-01-29"
}
sprint_list
{ "include_archived": false }
sprint_show
{ "id": "sprint-uuid" }
sprint_update
{
  "id": "sprint-uuid",
  "name": "New name",
  "status": "active"
}
sprint_delete
{ "id": "sprint-uuid" }
sprint_activate
{ "id": "sprint-uuid" }
プロジェクト
project_create
{
  "name": "Project name",
  "description": "Optional",
  "path": "/optional/directory/path"
}
project_list

すべてのプロジェクトを一覧表示します。

project_read
{ "id": "project-uuid" }
project_update
{
  "id": "project-uuid",
  "name": "New name"
}
project_delete
{ "id": "project-uuid" }
project_select
{ "id": "project-uuid" }
project_current
{ "cwd": "/optional/path/for/autodetect" }

貢献

貢献を歓迎します!ガイドラインについては、CONTRIBUTING.mdをご覧ください。

ライセンス

GPLv3 — 詳細はLICENSEをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。