Vibe Board VE
Vibe Board MCP (ve-vibe-board)
あなたのエージェントに「記憶」を。FirestoreをバックエンドとするMCPサーバーで、Claude Code(およびMCP対応エージェント)にセッションをまたぐ永続的なメモリを提供します。コンテキストの圧縮やセッション終了後も、タスク、進捗、決定事項、引き継ぎメモが保持されます。
関連リポジトリ: HuntsDesk/ve-kit — Claude CodeのためのVibe Codingフレームワークおよび永続メモリ。ve-kitには、このMCPサーバー、RIPER-CATワークフロー、レビューゲートフック、およびオプションのDockerワーカーが同梱されています。
Vibe Entrepreneursの一部 — AIを使って実際の成果物を生み出す「Vibe Coder」のためのコミュニティです。ぜひご参加ください: vibeentrepreneurs.com。
なぜこれが必要なのか
こんな経験はありませんか?
リファクタリング中にツールを6回呼び出したところでコンテキストが圧縮され、エージェントが雰囲気だけで計画を忘れてしまう。
翌日新しいセッションを始めると、エージェントが同じファイルを読み直し、同じ質問をし、すでに決めたことをまた決定し直す。
完璧なTodoWriteチェックリストを書かせたのに、会話が終わると同時にチェックリストが消えてしまう。
3つのエージェントを並行して開いても、お互いが何をしたのかを知らない。
これが、ステートレス(状態を持たない)な環境の現実です。エージェントは1時間は優秀でも、その後はすぐに忘れてしまいます。
Vibe Boardは、その「状態」を保存する場所です。会話の外側(コンテキスト内ではなくFirestore)に存在する、共有タスクおよびセッションボードです。
エージェントが計画中に作成したタスクは、セッション終了後も保持されます
実行中の進捗は記録され、次回の実行時に確認できます
セッション終了時には、未完了のタスクへの参照を含めた引き継ぎメモが作成されます
次のセッションで
board_create_sessionを呼び出すと、引き継ぎ内容を読み込み、前回の停止地点から再開できます
得られるもの:月曜日に何をしていたかを火曜日に知っているエージェント。説明し直す必要も、計画が失われることも、TodoWriteの墓場もありません。
Firebaseの無料枠で運用可能です。
14個のMCPツール
カテゴリ | ツール |
プロジェクト |
|
タスク |
|
セッション |
|
アクティビティ |
|
14個のツール、目的は一つ。会話以外の場所に状態を保存する場所をエージェントに提供することです。
インストール
1. クローンとビルド
git clone https://github.com/HuntsDesk/ve-vibe-board.git
cd ve-vibe-board
npm install
npm run build2. Firebaseのセットアップ
Firebaseプロジェクトを作成します(無料枠でOK)。Firestoreをネイティブモードで有効にします。roles/datastore.user 権限を持つサービスアカウントを作成し、キーのJSONファイルをダウンロードします。
GOOGLE_APPLICATION_CREDENTIALS には、キーJSONのファイルパス(標準的)または生のJSON内容を直接記述(GlamaのブラウザMCP Inspector、CIシークレット、Cloud Runのインラインシークレットパターンなどで便利)のいずれかを指定できます。
また、2つの複合インデックスを作成してください:
gcloud firestore indexes composite create \
--project=YOUR_PROJECT_ID \
--collection-group=sessions \
--field-config field-path=project_id,order=ascending \
--field-config field-path=status,order=ascending \
--field-config field-path=ended_at,order=descending
gcloud firestore indexes composite create \
--project=YOUR_PROJECT_ID \
--collection-group=tasks \
--field-config field-path=project_id,order=ascending \
--field-config field-path=status,order=ascendingインデックスの構築に1〜5分ほどかかります。
3. Claude Codeの設定
プロジェクトの .mcp.json に以下を追加します:
{
"mcpServers": {
"vibe-board": {
"command": "node",
"args": ["/absolute/path/to/ve-vibe-board/dist/index.js"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/your-key.json"
}
}
}
}.claude/settings.local.json でツールを許可します:
{
"permissions": {
"allow": [
"mcp__vibe-board__board_get_projects",
"mcp__vibe-board__board_create_project",
"mcp__vibe-board__board_update_project",
"mcp__vibe-board__board_get_tasks",
"mcp__vibe-board__board_get_task",
"mcp__vibe-board__board_create_task",
"mcp__vibe-board__board_update_task",
"mcp__vibe-board__board_bulk_update_tasks",
"mcp__vibe-board__board_delete_task",
"mcp__vibe-board__board_create_session",
"mcp__vibe-board__board_end_session",
"mcp__vibe-board__board_get_handoff",
"mcp__vibe-board__board_log_activity",
"mcp__vibe-board__board_get_activity"
]
},
"enabledMcpjsonServers": ["vibe-board"]
}4. 確認
新しいClaude Codeセッションを開始し、board_get_projects を呼び出します。空の配列が返ってくれば成功です。
エージェントのルール (CLAUDE.mdに貼り付け)
## Vibe Board
Persistent task tracking across sessions via MCP tools (`board_*`).
**Mandatory for every substantive session.**
### Use board tasks, NOT TodoWrite
TodoWrite is ephemeral — dies when the session ends. Board tasks persist.
When you would reach for TodoWrite to track multi-step work, use
`board_create_task` instead.
### Session lifecycle
1. Call `board_create_session` at session start — returns last session's handoff
2. Create/update board tasks as you work
3. Call `board_end_session` with progress summary + handoff notes before stopping完全なルールセット(プロアクティブなトリガー、プロセスゲート、レビュープロトコル)は HuntsDesk/ve-kit の docs/ve-kit/02-VIBE-BOARD.md にあります。
ライセンス
MIT。LICENSE を参照してください。
関連
HuntsDesk/ve-kit— このMCPサーバーを同梱した完全なVibe CodingフレームワークHuntsDesk/ve-gws— VE Google Workspace MCP (ve-* ファミリーの姉妹プロジェクト)
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/HuntsDesk/ve-vibe-board'
If you have feedback or need assistance with the MCP directory API, please join our Discord server