reins MCP Server
Provides tools for AI coding agents to read and write shared team context, including status, pending items, and handoffs. Enables agents to query current project status and claim pending work.
README
reins
Shared context for teams that build with AI coding agents.
Live: reinshq.vercel.app · install the hook: npx reins-hook install
What it is
When a team codes with AI agents, each person's agent works on its own. Nobody can easily see
what a teammate's agent is doing, so people duplicate work, edit the same files without knowing,
and fall back to standups and a context.md that goes stale within a day.
Reins watches what each agent is doing, summarizes it into a short per-person and per-team status, and makes that status available in two places: a dashboard a admin can read, and an MCP server any teammate's agent can query before it starts work.
It is a small project, built for the 0G Zero Cup. The capture, the distillation, and the retrieval all work end to end today.
How it works
Claude Code hook -> reins server -> distill (triage, extract, reconcile, rollup)
|
|-- dashboard (Next.js, live over SSE)
|-- MCP server (reins_context, reins_pull_context, ...)
A hook in each teammate's Claude Code posts their prompts and agent turns to the reins server. The server runs each event through a short pipeline and keeps a current status per person and per project. The dashboard streams updates over SSE, and the MCP server lets any agent pull the same status as plain markdown.
The distillation pipeline
Each incoming event is processed in steps so that most of the noise is dropped early:
- Triage (fast model) sorts the event into noise, minor, or major. Low-value events stop here.
- Extract pulls structured facts: intent, actions, files touched, decisions, blockers, next steps.
- Reconcile merges those facts into the person's current status by calling tools that update
state:
set_headline,set_goal,set_status,add_timeline,add_pending,resolve_pending,set_working_on. - Rollup (debounced) summarizes the whole team for a lead: a short status, goal alignment, collisions (two people in the same file), and risks.
If no inference backend is configured, Reins still captures raw events but does not distill them.
Where 0G fits
- Inference runs on 0G Compute. The whole pipeline above calls the 0G Private Computer router, which is OpenAI compatible.
- Snapshots live on 0G Storage. Each context snapshot is written to 0G Storage and addressed by
its Merkle root hash, so the shared context can be pulled and verified from anywhere, not only
from this server's database. The MCP
reins_pull_contexttool rebuilds a snapshot from a hash alone, with no local state, which is something a plain database cannot do.
What works today
The pipeline is built around teams of people who each run a coding agent. What is working now:
- Capture from Claude Code through a hook, installed with one command.
- Distillation on 0G Compute: triage, extract, reconcile, and a debounced team rollup.
- A current status per person (headline, goal, what they are working on, recent timeline, pending items).
- A team rollup for a lead: summary, goal alignment, file collisions, and risks.
- Handoffs and @mentions, created automatically when two agents touch the same file or one is blocked on another's work.
- A live dashboard over SSE, and an MCP server so any teammate's agent can read or write the shared context.
- Verifiable, portable snapshots on 0G Storage, including
reins_pull_contextto rebuild context from a hash. - Multi-tenant auth (workspaces and tokens) and a simple deploy to Vercel plus a small VM.
Roadmap
- More agent harnesses. Today capture is wired for Claude Code. Add hooks for other coding agents (Cursor, opencode, pi, Aider, codex, koda and more) so a team on mixed tools still shares one context.
- Agents and sub-agents without a human in the loop. Capture from agents running in autonomous loops, and from sub-agents that a parent agent fans out, so the shared context keeps updating even when nobody is typing.
- Agents that act on the context. Let an agent claim and resolve pending work through the MCP write tools, so up-for-grabs items get picked up without a person.
- Cross-instance sync over 0G Storage. Two teams hand over a single root hash to share context, with no shared server.
- Optional on-chain anchoring on 0G Chain, so the history of snapshot hashes is a tamper-evident audit trail.
- Smarter retrieval that ranks and trims context, so an agent pulls only what is relevant to its task.
- Digests to Slack or Discord for the humans who still want a glance.
Quick start
npm run install:all
# 1) configure inference (runs on 0G Compute, via the 0G Private Computer router)
cp server/.env.example server/.env
# set REINS_LLM_PROVIDER=0g-router, OG_ROUTER_API_KEY, REINS_LLM_MODEL, OG_STORAGE=on
# (or REINS_LLM_PROVIDER=openai with REINS_LLM_BASE_URL for any OpenAI-compatible endpoint)
# 2) run server + dashboard
npm run dev
# server on http://localhost:4319
# dashboard on http://localhost:4320
# 3) optional: populate a demo board without wiring agents
npm run seed
Connect an agent
One command installs the capture hook into Claude Code:
npx reins-hook install --url http://localhost:4319 --me yourname
# then run /hooks in Claude Code to approve it
Every prompt and agent turn now flows into Reins. See hooks/README.md for flags
(--global, --project, --key) and the status and uninstall commands.
Pull context from an agent (MCP)
Register the MCP server so a teammate's agent can read the shared context:
{ "mcpServers": { "reins": { "command": "npx", "args": ["tsx", "server/src/mcp.ts"], "cwd": "/ABS/PATH/reins" } } }
Tools:
reins_contextreads a project's current status, fetched and verified from 0G Storage.reins_pull_contextrebuilds a snapshot from a 0G Storage root hash alone, with no database.reins_projects,reins_member,reins_pending,reins_handoffsfor narrower reads.reins_note,reins_claim,reins_resolve,reins_handoff_acklet an agent write back.
Layout
| Path | What |
|---|---|
server/ |
Express ingest, SSE, REST, SQLite, the distillation pipeline, the MCP server |
web/ |
Next.js dashboard, light editorial theme, live over SSE |
cli/ |
reins-hook, the npx installer that bundles the capture hook |
hooks/ |
Hook docs (the hook itself ships inside cli/) |
deploy/ |
DEPLOY.md and the deploy scripts |
Auth and deploy
Local dev runs as a single open instance (REINS_AUTH=off). For a shared instance, turn on
multi-tenant auth: workspaces are the tenant boundary, ingest tokens authenticate hooks and agents,
access tokens authenticate dashboard viewers (httpOnly session cookie), and admin tokens mint or
revoke tokens. Bootstrap with npm run admin -- create-workspace "Team".
The dashboard deploys to Vercel and the server with its SQLite database to a small VM. The dashboard
proxies /api/* to the backend so the browser stays first party. See deploy/DEPLOY.md.
Configuration
All server config is environment variables (server/.env, see server/.env.example). Inference
runs on 0G Compute (REINS_LLM_PROVIDER=0g-router with OG_ROUTER_API_KEY) and snapshots persist
to 0G Storage (OG_STORAGE=on). To use a different inference backend, set REINS_LLM_PROVIDER=openai
with REINS_LLM_BASE_URL and any OpenAI-compatible endpoint.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。