Skip to main content
Glama

Front Office

面向与 AI 对话构建的项目的设计运维权威记录系统:决策日志、未决问题和文档作为生成视图——因此每次会话(人类或 AI、今天或数月后、并行或串行)都基于同一套大脑工作,而非聊天记录回溯。

源于一个真实问题:在漫长的 AI 会话中设计一款游戏产生了 46 条已记录的决策,而"那件事到底批准过没有?"总是需要审计。Front Office 让审计轨迹成为主要工件。

核心思想

  • 决策日志即事件日志。 每条决策都带有 何时 / 何人 / 为何、一个来源标签——[A] 明确的人类裁定 · [A→C] 人类指示,AI 规格 · [C→A] AI 提议,人类批准 · [C] AI 假定,有效但可否决——以及一个状态(✅ 已决定 · 🕐 待文档化 · 💬 已提议)。更正以引用旧条目的新条目形式出现,绝不编辑。

  • 未决问题是记录,不是滚动回溯。 未答复的条目保存在受跟踪的文件中,直到解决——并附有日志条目。

  • 文档是构建产物。 上下文包和状态视图由记录生成;markdown 既是存储格式 也是 交换格式,因此没有锁定——这些文件在没有任何工具的情况下也完全可用。

  • 附加条款守卫。 附属于已批准决策的提议永远不会继承该批准。由 AI 撰写的草稿 始终 是 💬。

Related MCP server: kb

使用

npm ci
npm run fo -- status                 # counts, unratified [C] list, pending rulings
npm run fo -- decisions --provenance C --status decided
npm run fo -- open --section A
npm run fo -- show 12
npm run fo -- pack                   # writes projects/<p>/context-pack.md
npm run fo -- validate               # CI-able: exit 1 on invariant violations

项目数据位于 projects/<name>/ 中,包含 *decision-log.md*open-items.md(格式见 test/fixtures/)。projects/ 已被 gitignore——租户数据归你所有并保持私密。 使用 --project <dir>FO_PROJECT_DIR 指向其他位置。

Web UI

npm run fo -- pack   # optional: regenerate views first
npm run web          # http://localhost:4747 (FO_PORT / FO_PROJECT_DIR to override)

基于同一组文件的实时仪表板:带来源/状态标签和过滤器的决策流、关注条(待裁定、未批准的 [C])、按部分划分的未决项目、统计——以及草稿表单(草稿始终是 💬)。100% UI/逻辑分离: 客户端包含零业务逻辑;每个派生值都从 /api/state 预计算到达,浏览器仅负责渲染和发送命令。

MCP 服务器(大脑接入)

将记录暴露给任何 Claude Code 会话:

claude mcp add front-office --scope user -- npx tsx <repo>/src/mcp/server.ts

工具:get_context_pack · list_decisions · list_open_items · draft_decision(始终 💬)· get_stats。在服务器环境中设置 FO_PROJECT_DIR 以选择项目。

架构

按照项目自身的准则(是的,其设计决策记录在 Front Office 日志中):

  • src/coresrc/adapterssrc/views——(严格函数式 ESLint 配置:无 let/循环/类/变更,时钟和随机性必须注入)。

  • src/shellsrc/mcp——效果边界(中等配置)。

  • 解析器保持原始单元格逐字不变 → 序列化往返完全一致(parse(serialize(parse(x))) ≡ parse(x),经属性测试验证)。

npm run typecheck && npm run lint && npm test

MIT。

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    A database-backed MCP server that acts as a project memory bank, enabling AI assistants to store, retrieve, and search structured context like decisions, tasks, and architecture using SQLite and vector embeddings.
    Apache 2.0
  • A
    license
    -
    quality
    C
    maintenance
    A local MCP server that provides a shared context and learning foundation across multiple AI tools (Claude, Copilot, Codex) for multiple projects, enabling persistent knowledge, decisions, and gap reflection through note storage.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that records decisions, rejected alternatives, and justifications, and retrieves them later to avoid re-litigating past choices. It stores data locally in SQLite and Markdown.
    2
    Apache 2.0
  • A
    license
    -
    quality
    D
    maintenance
    MCP server for BRIEF.md that captures decisions, constraints, and questions during AI chats, enabling seamless project re-entry across different AI tools.
    11
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for generating rough-draft project plans from natural-language prompts.

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

View all MCP Connectors

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/asafjac/front-office'

If you have feedback or need assistance with the MCP directory API, please join our Discord server