Skip to main content
Glama

Vibe Board MCP (ve-vibe-board)

MCP server on Glama

你的代理,但它拥有记忆。这是一个基于 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 工具

类别

工具

项目

board_get_projects, board_create_project, board_update_project

任务

board_get_tasks, board_get_task, board_create_task, board_update_task (支持在项目间移动), board_bulk_update_tasks (一次更新 1-100 个), board_delete_task (带安全防护)

会话

board_create_session (返回上次会话的交接记录), board_end_session, board_get_handoff

活动

board_log_activity, board_get_activity (支持游标分页、可过滤)

十四个工具,一个目标:给代理一个存放状态的地方,而不是对话本身。


安装

1. 克隆 + 构建

git clone https://github.com/HuntsDesk/ve-vibe-board.git
cd ve-vibe-board
npm install
npm run build

2. 设置 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-kitdocs/ve-kit/02-VIBE-BOARD.md


许可证

MIT。请参阅 LICENSE


相关项目

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