Vibe Board VE
Vibe Board MCP (ve-vibe-board)
你的代理,但它拥有记忆。这是一个基于 Firestore 的 MCP 服务器,为 Claude Code(以及任何支持 MCP 的代理)提供跨会话的持久化记忆——包括任务、进度、决策和交接笔记,这些内容在上下文压缩和会话结束时依然存在。
配套仓库:HuntsDesk/ve-kit — Vibe Coding 框架及 Claude Code 持久化记忆。ve-kit 集成了此 MCP 服务器、RIPER-CAT 工作流、审查门控钩子以及可选的 Docker 工作节点。
Vibe Entrepreneurs 的一部分 — 一个为所有使用 AI 进行实际工作的 Vibe 开发者提供的社区。欢迎来打个招呼:vibeentrepreneurs.com。
为什么需要它
听起来熟悉吗?
你在重构代码时调用了六次工具。上下文被压缩了。代理回来时虽然感觉还在,但计划却没了。
第二天开始新会话时。它重新读取相同的文件,问同样的问题,重新决定你已经决定过的事情。
你看着它写了一个完美的 TodoWrite 清单——然后对话结束了,清单也随之消失了。
你并行打开了三个代理。它们谁都不知道对方做了什么。
这就是无状态在实践中的表现。代理在一小时内表现出色,但之后就患上了永久性失忆症。
Vibe Board 就是用来存储状态的地方。它是一个共享的任务+会话看板,存在于任何单一对话之外——在 Firestore 中,而不是在上下文中。
代理在规划时创建任务——它们在会话结束后依然存在
执行过程中跟踪进度——下一次运行可见
会话结束时编写交接笔记——并附带对仍未完成任务的引用
下一次会话调用
board_create_session,读取交接记录,并从上次停止的地方继续
你得到的是:一个周二出现时就知道周一在做什么的代理。无需重新解释。没有丢失的计划。没有 TodoWrite 坟场。
在 Firebase 的免费层上运行,完全免费。
14 个 MCP 工具
类别 | 工具 |
项目 |
|
任务 |
|
会话 |
|
活动 |
|
十四个工具,一个目标:给代理一个存放状态的地方,而不是对话本身。
安装
1. 克隆 + 构建
git clone https://github.com/HuntsDesk/ve-vibe-board.git
cd ve-vibe-board
npm install
npm run build2. 设置 Firebase
创建一个 Firebase 项目(免费层即可)。在 Native 模式下启用 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— 完整的 Vibe Coding 框架,集成了此 MCP 服务器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