Writbase - MCP Task Management for AI Agent Fleets について
Writbaseは、AIエージェント群と人間の監督者向けの永続的なタスク管理システムです。権限範囲、エージェント間の委任、変更履歴をMCPツールで扱えます。
主な機能
- 01永続的なタスク管理
- 02エージェント権限の範囲設定
- 03エージェント間のタスク委任
- 04バージョンによる競合検出
- 05追記専用の変更履歴
活用シーン
- 01複数エージェント間のタスク調整
- 02プロジェクトや部門単位の権限制御
- 03監査用のタスク変更追跡
MCP 対応
MCPクライアントはツールを使ってタスクの一覧表示、作成、更新を行えます。マネージャーエージェントはキー、権限、プロジェクト、部門、Webhook、変更履歴も管理できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://{PROJECT_REF}.supabase.co/functions/v1/mcp-server/mcpclaude mcp add --transport http writbase https://{PROJECT_REF}.supabase.co/functions/v1/mcp-server/mcp{"mcpServers":{"writbase":{"type":"http","url":"https://{PROJECT_REF}.supabase.co/functions/v1/mcp-server/mcp"}}}Cursor で開く{"servers":{"writbase":{"type":"http","url":"https://{PROJECT_REF}.supabase.co/functions/v1/mcp-server/mcp"}}}VS Code で開く{"mcpServers":{"writbase":{"type":"http","url":"https://{PROJECT_REF}.supabase.co/functions/v1/mcp-server/mcp"}}}{"mcpServers":{"writbase":{"serverUrl":"https://{PROJECT_REF}.supabase.co/functions/v1/mcp-server/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://{PROJECT_REF}.supabase.co/functions/v1/mcp-server/mcp認証が必要ツール
詳細
WritBase
AI エージェント群のための MCP ネイティブなタスク管理
AI エージェントと人間の監督者のためのコントロールプレーンです。スコープ付き権限、エージェント間の委任、完全な来歴を備えた永続的なタスクレジストリに、すべて MCP 経由でアクセスできます。
WritBase を選ぶ理由
AI エージェントには、セッション間で消えてしまう一時的なインメモリ状態ではなく、共有できる永続的なタスクレジストリが必要です。WritBase は、エージェント群に次の機能を提供します。
- 信頼できる唯一の情報源 — タスクはファイルやチャットスレッドに散在せず、Postgres に保存されます
- スコープ付き権限 — 各エージェントには、必要なアクセス権だけが付与されます
- 完全な来歴 — 変更のたびに、誰が、何を、いつ、なぜ行ったかが記録されます
- エージェント間の委任 — 深度制限と循環検出により、エージェント同士でタスクを割り当てられます
- MCP ネイティブ — エージェントは Model Context Protocol 経由で接続でき、カスタム連携は不要です
はじめに
オプション A:CLI でセットアップ(推奨)
リポジトリのクローンは不要です。npx を実行するだけです。
npx writbase init # Interactive setup — configures Supabase credentials
npx writbase migrate # Apply database schema
npx writbase key create # Create your first agent key
これで完了です。MCP エンドポイントが次の場所で利用可能になります。
https://<project-ref>.supabase.co/functions/v1/mcp-server/mcp
前提条件:Node 18 以降、Supabase CLI、Supabase プロジェクト(無料プランで利用できます)
Edge Function をデプロイします:
npx supabase functions deploy mcp-server --no-verify-jwtすべてのコマンドについては、CLI README をご覧ください。
オプション B:手動セットアップ
クローンして手動でデプロイ
git clone https://github.com/Writbase/writbase.git
cd writbase && npm install
# Create a free project at supabase.com/dashboard, then:
npx supabase link --project-ref <your-project-ref>
npx supabase db push
npx supabase functions deploy mcp-server --no-verify-jwt
任意のダッシュボード:
cp .env.example .env.localを実行し、Supabase URL と anon key を設定してから、npm run devを実行します。Vercel でのホスティングとセルフホスト可能な Supabase については、デプロイガイドをご覧ください。
2. プロジェクトとエージェントキーを作成する
CLI(npx writbase key create)、ダッシュボード、またはマネージャーエージェントを使います。
- プロジェクトを作成する — 例:
my-app。任意で部門(backend、frontend、devops)を追加できます - エージェントキーを作成する — 名前を付け、
workerロールを選択し、キー(wb_<key_id>_<secret>— 表示は一度だけ)を保存します - 権限を付与する —
writbase key permit my-agent --grant --project my-app --can-read --can-create --can-updateを実行します(またはダッシュボードから設定します)
3. MCP クライアントを接続する
Claude Code
claude mcp add writbase \
--transport http \
--url https://<project-ref>.supabase.co/functions/v1/mcp-server/mcp \
--header "Authorization: Bearer wb_<key_id>_<secret>"
Cursor
.cursor/mcp.json に追加します。
{
"mcpServers": {
"writbase": {
"type": "streamableHttp",
"url": "https://<project-ref>.supabase.co/functions/v1/mcp-server/mcp",
"headers": { "Authorization": "Bearer wb_<key_id>_<secret>" }
}
}
}
VS Code / Copilot
.vscode/mcp.json に追加します。
{
"servers": {
"writbase": {
"type": "http",
"url": "https://<project-ref>.supabase.co/functions/v1/mcp-server/mcp",
"headers": { "Authorization": "Bearer wb_<key_id>_<secret>" }
}
}
}
Windsurf / Claude Desktop / その他
対応クライアントの一覧は、MCP 設定リファレンスをご覧ください。
4. 使用する
エージェントに次のように依頼します。
"Check my WritBase permissions" → calls info
"Create a task in my-app: Fix login bug" → calls add_task
"Mark it as in_progress" → calls update_task (with version for concurrency)
"Show all high priority tasks" → calls get_tasks with priority filter
5. 拡張する
| エージェント | ロール | スコープ | 使用例 |
|---|---|---|---|
ci-bot | worker | my-app/devops — can_create | CI がビルド失敗時にタスクを作成 |
triage-agent | worker | my-app(全部門)— can_comment | タスクを確認し、メモを追加 |
ops-manager | manager | (ワークスペース全体) | キー、権限、プロジェクトを管理 |
各エージェントには、必要な権限だけを付与した専用キーを割り当てます。
詳しい手順:スタートガイド — 権限、部門、トラブルシューティング
MCP ツール
Worker Tools(すべてのエージェント)
| ツール | 説明 |
|---|---|
info | エージェントの識別情報、権限、システムメタデータ |
get_tasks | フィルタリング、ページネーション、全文検索を使ったタスクの一覧表示 |
add_task | 許可された範囲内でタスクを作成 |
update_task | 楽観的同時実行制御を使ってタスクを更新 |
Manager Tools(マネージャーエージェントのみ)
| ツール | 説明 |
|---|---|
manage_agent_keys | エージェントキーの作成、更新、無効化、ローテーション |
manage_agent_permissions | サブセット制約を適用して権限を付与/取り消し |
get_provenance | 追記専用の監査ログを照会 |
manage_projects | プロジェクトの作成、名前変更、アーカイブ |
manage_departments | 部門の作成、名前変更、アーカイブ |
subscribe | タスクイベント通知用の Webhook を登録 |
discover_agents | 能力とスキルでエージェントを検索 |
特長
- マルチテナントワークスペース — サインアップ時に分離されたワークスペースが自動的にプロビジョニングされます
- 動的 MCP スキーマ — ツールの表示とパラメーターの列挙値は、エージェントの役割と権限に応じて変化します
- 6 種類の権限 —
can_read、can_create、can_update、can_assign、can_comment、can_archive - プロジェクトと部門のスコープ設定 — 権限は(プロジェクト、部門)の組み合わせごとに付与されます
- 楽観的同時実行制御 — バージョンベースの競合検出により、上書きが黙って発生するのを防ぎます
- カーソルページネーション — 大量のタスクを効率的にたどれます
- レート制限 — エージェントキーごとにリクエストを制限します
- リクエストログ — すべての MCP 呼び出しをレイテンシ、ステータス、エージェントコンテキストとともに記録します
アーキテクチャ
┌─────────────┐ ┌──────────────────┐ ┌──────────────┐
│ MCP Client │────▶│ Edge Function │────▶│ Postgres │
│ (Agent) │◀────│ (Hono + MCP SDK)│◀────│ (Supabase) │
└─────────────┘ └──────────────────┘ └──────────────┘
│
┌──────┴──────┐
│ Next.js 16 │
│ Dashboard │
└─────────────┘
- バックエンド:Supabase(Postgres + Deno ランタイムを使用した Edge Functions)
- トランスポート:ストリーミング可能な HTTP(MCP SDK)
- フロントエンド:Next.js 16(App Router)+ Tailwind CSS
- 認証:Supabase Auth(人間)+ SHA-256 エージェントキー(エージェント)
デプロイオプション
| Supabase Cloud(推奨) | セルフホストの Supabase | |
|---|---|---|
| セットアップ | npx writbase init → npx writbase migrate → 完了 | Docker Compose(5 コンテナ) |
| 費用 | 無料枠:DB 500MB、MAU 50K | お使いのインフラ |
| ダッシュボード | Vercel にデプロイ(無料) | Next.js をセルフホスト |
| 更新 | プラットフォームによる自動更新 | 手動 |
| 管理 | Supabase による管理 | 完全管理 |
詳しいセットアップ手順については、docs/deployment.md をご覧ください。
ドキュメント
- はじめに — デプロイ、エージェントキーの作成、MCP クライアントの接続、タスクの管理
- CLI リファレンス —
npx writbase init、migrate、key、status - デプロイガイド — Supabase Cloud、Vercel、セルフホストのセットアップ
- 基本概念 — 権限、プロベナンス、エラーコード、委任
- MCP 設定リファレンス — Claude Code、Cursor、VS Code、Windsurf 用のクライアント設定
コントリビューション
開発環境のセットアップ、テスト、PR のガイドラインについては、CONTRIBUTING.md をご覧ください。
セキュリティ
脆弱性の報告については、SECURITY.md をご覧ください。
ライセンス
Apache 2.0 — LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。