mcpField
A
agora-mcp

agora-mcp

本地服务
github.com/vorlunoAI 与智能体07 周前更新

关于 agora-mcp

agora-mcp 为 Claude Code 会话提供按仓库共享的协作空间,通过共享 SQLite 文件记录活动和备注。项目已归档且只读;README 称 Claude Code 现已内置此类协作功能。

主要功能

  1. 01跟踪活跃会话及其涉及的文件
  2. 02提示文件和分支冲突
  3. 03生成项目活动摘要以便恢复工作
  4. 04维护仓库活动日志
  5. 05发送和读取会话备注

适用场景

  1. 01查看哪些会话正在编辑仓库文件
  2. 02避免编辑被其他会话占用的文件
  3. 03回顾上次会话后的工作
  4. 04向其他会话或所有会话留言

MCP 相关

向 MCP 客户端提供会话状态、活动记录、冲突检查和备注工具。会话通过共享 SQLite 文件协作,无需运行守护进程或服务器。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"vorluno-agora": {
"command": "npx",
"args": [
"-y",
"@vorluno/agora-mcp"
]
}
}
}
启动命令npx -y @vorluno/agora-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@vorluno/agora-mcp0.1.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

agora — Claude Code 会话的共享空间

agora

Claude Code 会话的共享持久化空间——按仓库划分。

查看其他会话正在做什么,在覆盖其工作前收到警告,并留下备注。无需运行守护进程或服务端。

License: Apache 2.0 Bun Model Context Protocol Built with Claude Code


已停止维护

Claude Code 现在可以自行完成这些事。 会话可以彼此协调、查看对方的工作并共享状态,无需额外的 MCP 服务,而这正是本项目原本要提供的功能。

此仓库已归档并设为只读。它仍然可用——npm 上的内容没有删除,最后发布的版本仍可安装——但本项目不会再维护,也没有维护的必要。 如果你想了解这个构想而非使用这个包,完整设计都在 docs/ 中,许可证允许你使用它。

为什么

当多个 Claude Code 会话同时(或只是在一天之内)处理同一个仓库时,它们之间互不知情。没有任何会话知道其他会话改动了什么,它们会悄无声息地覆盖相同文件,而且关闭会话后上下文也会丢失。

agora 为每个会话提供一个共享空间,供其记录工作进展并查看其他会话的工作。

工作原理

整个系统就是每个仓库一个 SQLite 文件:<repo-root>/.agora/space.db(采用 WAL 模式,因此多个进程可以同时读写而不会损坏数据)。

  • 无需任何人运行服务端。 没有守护进程,也没有 Web 应用。“空间”就是这个文件。
  • 仓库中的每个会话都会写入自己的操作,并读取其他会话的操作。
  • 因为它是一个文件,所以会自动持久保存——关闭所有内容,明天再回来,状态依然保留。
  • 它是一个共享看板,不是实时聊天:会话会在启动时、即将编辑时(冲突),或主动查询时(使用工具)获取信息。

适用于多工作树:.db 位于主仓库根目录,因此仓库的所有会话(包括位于不同工作树中的会话)都共享同一个 agora。

功能

  • 🟢 查看当前有哪些会话以及每个会话正在操作哪些文件,实时掌握动态。
  • ⚠️ 冲突警告——在编辑某个文件或操作某个分支之前,提醒你另一个活跃会话已占用它。
  • 📋 项目恢复——打开会话即可获取其他会话所做工作的摘要。
  • 📓 活动日志——按仓库记录所有事件的时间线。
  • ✉️ 会话之间的备注(定向发送或广播)。
  • 🛡️ 尽力而为的钩子——无论发生什么都会以 0 退出,绝不会阻塞会话。

要求

安装

通过 npm——无需克隆:

# Register the MCP server — nothing to install for this part
claude mcp add agora -- bunx --bun @vorluno/agora-mcp

# The hooks need the CLI on your PATH. Install once, then run it from any repo.
# Idempotent; add --project to scope it to the current repo only.
bun add -g @vorluno/agora-mcp
agora-init init

从源代码安装——如果你想修改它:

git clone https://github.com/vorluno/agora-mcp.git
cd agora-mcp
bun install
bun run src/cli.ts init
claude mcp add agora -- bun run /absolute/path/to/agora-mcp/src/index.ts

配置

任何 MCP 客户端都可使用。mcpServers 配置项:

{
  "mcpServers": {
    "agora": {
      "command": "bun",
      "args": ["run", "/absolute/path/to/agora-mcp/src/index.ts"]
    }
  }
}

对于 Claude Code,claude mcp add(见上文)会为你写入此配置。对于 Warp 或 Cursor,将此代码片段粘贴到它们的 MCP 设置中。

工具

工具说明
resume_projectagora 摘要:活跃会话、近期活动、冲突和未读备注。
who_is_here活跃会话,以及每个会话正在操作的文件。
activity_log仓库事件日志,可按时间或会话筛选。
check_collision是否有其他活跃会话正在操作这些文件或此分支?
leave_note给另一个会话留言(或向所有会话广播)。
read_notes阅读发送给某个会话的备注(并将其标记为已读)。

如何检测冲突

  • 文件冲突: 2 个或更多不同会话对同一文件持有有效的 writing 声明。
  • 分支冲突: 2 个或更多活动会话位于同一分支,但处于不同的工作树中。

只统计仍在运行的会话,因此,未正常退出的会话不会导致误报。

自动捕获(钩子)

init 会安装 5 个尽力而为的钩子(它们始终 exit 0):

钩子功能
SessionStart注册会话,并将 agora 摘要注入上下文(也会在 /resume 和上下文压缩后触发)。
PostToolUse (Edit/Write)记录文件声明和事件;出现新冲突时发出警告。
PreToolUse (Edit/Write)如果其他会话已持有该文件,会在你编辑之前发出警告。
Stop / SessionEnd将会话标记为空闲 / 已停止,并释放其声明。

开发

bun test          # full suite (incl. a real WAL concurrency test)
bunx tsc --noEmit # type-check

采用测试优先的方式,分 14 项 TDD 任务构建,并对每项任务和整个分支进行审查。

贡献与安全

请先阅读 CONTRIBUTING.md——其第一行会告诉你拉取请求是否会被考虑。漏洞请发送至 [email protected],切勿在 issue 中报告:请参阅 SECURITY.md,其中承诺的唯一响应时间是 72 小时内确认收到报告。

许可证

Apache-2.0 © 2026 Vorluno。请参阅 NOTICE。

截至 0.1.0(含)采用 MIT 许可证。这些版本仍受 MIT 许可证保护——已授予的许可证不能撤销。从 0.2.0 起采用 Apache-2.0,明确授予专利权。


由来自 Panamá 🇵🇦 的软件工作室 Vorluno 构建

属于 MCP 服务系列 mcp-s。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。