Archcore MCP
官方本地 stdio MCP 服务器,让 AI 编码代理直接从你的仓库中读取并维护结构化的架构、规则和决策。
你可以用 Archcore MCP 做什么?
Archcore 将规范、决策和规则以类型化 Markdown 形式存储在 .archcore/ 中,并通过 MCP 工具提供给您的代理使用。
- 搜索项目上下文 — 在编辑之前,让助手通过
search_documents查找适用的 ADR、规则或规范。 - 记录决策 — 让助手使用
create_document创建结构化的 ADR 或规则文档。 - 更新现有上下文 — 让助手使用
update_document修订规范或计划。 - 列出所有文档 — 使用
list_documents枚举.archcore/中的每个上下文文档。 - 获取文档 — 使用
get_document检索单个文档的完整内容。 - 关联相关文档 — 使用
add_relation连接文档,并通过list_relations查看它们。
文档
Archcore CLI — Git 原生上下文,面向 AI 编程代理
Archcore 是面向 AI 编程代理的 Git 原生上下文层。
该 CLI 将规范、架构决策、规则、计划和项目知识保存在 .archcore/ 中,与代码一起版本化,并通过 MCP 和会话钩子向编程代理提供相关上下文。
它作为 CLI 和本地 stdio MCP 服务器发布,因此任何兼容 MCP 的编程代理都可以通过标准工具读写你的项目上下文。可将其用于跨 Claude Code、Cursor、Codex CLI、GitHub Copilot、Gemini CLI、OpenCode、Roo Code 和 Cline 的持久项目上下文。
实际效果
该上下文来自 .archcore/ — 存储在 Git 中的类型化 Markdown 文档,通过 MCP 工具和会话钩子提供给任何代理。

变化
❌ 没有 Archcore
每个会话都从零开始。代理:
- 猜测你的架构并破坏你的约定
- 重复已有的逻辑
- 重新争论团队已经做出的决策
- 需要在每次聊天中重新解释相同的上下文
✅ 使用 Archcore
你的决策、规则和约定以结构化上下文形式存在于 Git 中。代理:
- 在会话开始时加载适用的决策和规则
- 将代码放在架构指定的位置
- 尊重仓库中已有的 ADR、规范和规则
- 将新决策记录为持久上下文——可在 PR 中审查,可跨代理移植
代理不再猜测,开始遵循系统。
60 秒快速开始
curl -fsSL https://archcore.ai/install.sh | bash # macOS / Linux
cd your-project && archcore init
archcore init 会搭建 .archcore/,检测你的编程代理,并为它们配置钩子和 MCP。
然后打开你的代理并说:
"我们正在使用 PostgreSQL 作为主存储。记录这个决策。"
完成——现在 .archcore/ 中有一个结构化的 ADR,任何代理的任何未来会话都会看到它。
在 Windows 上:irm https://archcore.ai/install.ps1 | iex。对于 WSL,go install,以及从源码构建,请参阅下方的 安装方法 或 完整安装指南。
与你的代理协作
该 CLI 本身就是一个本地 stdio MCP 服务器——适用于每个兼容 MCP 代理的统一集成面。钩子在代理支持的情况下添加会话开始上下文。
| 代理 | 钩子 | MCP |
|---|---|---|
| Claude Code | 是 | 是 |
| Cursor | 是 | 是 |
| Gemini CLI | 是 | 是 |
| GitHub Copilot | 是 | 是 |
| OpenCode | — | 是 |
| Codex CLI | — | 是 |
| Roo Code | — | 是 |
| Cline | — | 手动 |
archcore init 会自动配置检测到的代理。若要手动连接一个:
archcore mcp install --agent cursor # write MCP config for a specific agent
archcore hooks install # install session-start hooks for detected agents
claude mcp add --transport stdio archcore -- archcore mcp # or add the server manually
工作原理
- 初始化 —
archcore init创建.archcore/并安装代理集成。 - 捕获 — 决策、规则、计划和指南以带有 YAML frontmatter 的类型化 Markdown 文档存储。
- 复用 — 代理在工作时通过 MCP 工具读取、创建、更新和链接文档;钩子在会话开始时加载上下文。
- 保存在 Git 中 — 像审查代码一样审查上下文变更,随时间演进,并保持跨工具可移植。
.archcore/
├── settings.json
├── auth/
│ ├── jwt-strategy.adr.md
│ └── auth-redesign.prd.md
├── backend/
│ └── error-wrapping.rule.md
├── incidents/
│ └── connection-pool-exhaustion.cpat.md
└── notifications/
└── notifications-implementation.plan.md
结构是自由形式的——可按领域、功能或团队组织。文档的类型位于其文件名中(slug.type.md):跨三个层的 19 种类型——知识(ADR、规则、规范、指南)、愿景(PRD、计划、想法、需求轨道)和经验(事件模式、重复任务)。本仓库自身的 .archcore/ 是一个工作示例。
询问你的代理
"在我接触认证模块之前,这里有哪些决策和规则适用?"
在代理编辑任何一行之前,加载与该区域相关的 ADR 和规则。
"我们有一个约定:总是用 fmt.Errorf 和 %w 包装错误。把它设为一条规则。"
创建 backend/error-wrapping.rule.md,包含命令式指导、理由以及好/坏示例。
"上周我们遇到了连接池耗尽事件。记录它,以免重蹈覆辙。"
创建 incidents/connection-pool-exhaustion.cpat.md,包含根本原因分析和预防步骤。
对比
| 如果你依赖… | 差距 | Archcore 的替代方案 |
|---|---|---|
| 无 | 代理在每个会话中重新学习你的仓库,并重新争论已解决的决策 | 在会话开始时加载决策、规则和约定——在任何代理中 |
扁平指令文件(CLAUDE.md、.cursorrules) | 不断增长的文本墙——没有类型、没有链接、没有生命周期,每个工具都要复制粘贴 | 类型化文档、关系图、草稿 → 接受的生命周期,每个代理只需一次设置 |
| 记忆工具(claude-mem、Mem0) | 记住 你做了什么 — 易失、不透明、受供应商限制 | 存储 系统如何构建以及决定了什么 — 在 Git 中版本化,由你拥有 |
| 方法论工具包(BMAD、Spec Kit、Agent OS) | 规定一个流程,通常是一次性交接 | 存储工件——一个随代码库演进的动态上下文图 |
| RAG / 更大的上下文窗口 | 检索代码 说了什么,而不是 决定了什么以及为什么 | 保持决策和理由明确且有选择性——代理加载适用的内容,而不是全部 |
不适用于 — 聊天记忆、提示库或一次性规范到代码生成器。Archcore 是编程代理的仓库真相层,而不是方法论工具包。
参考
内置内容:19 种文档类型、4 种关系类型、10 个 MCP 工具、针对 4 个代理的钩子集成以及针对 8 个代理的 MCP 集成。
文档类型 — 跨愿景、知识和经验的 19 种类型
知识
| 类型 | 全名 | 描述 |
|---|---|---|
adr | 架构决策记录 | 捕获已最终确定的技术决策,包含背景、备选方案和后果 |
rfc | 征求意见 | 提出重大变更,供团队审查和反馈 |
rule | 规则 | 包含命令式指导和示例的编码或流程标准 |
guide | 指南 | 完成特定任务的分步说明 |
doc | 文档 | 参考文档、注册表和描述性材料 |
spec | 规范 | 针对边界或其他人依赖的功能/子系统的规范性行为契约 |
愿景
| 类型 | 全名 | 描述 |
|---|---|---|
prd | 产品需求文档 | 目标、用户故事、验收标准和成功指标 |
idea | 想法 | 轻量捕获产品或技术想法,供未来探索 |
plan | 计划 | 包含验收标准和依赖关系的分阶段任务列表 |
rnd | 研究 | 有时间限制的调查,解答阻碍决策的问题 |
针对需要结构化发现或正式分解的团队,还有两个额外的需求轨道:
来源轨道(MRD → BRD → URD)— 捕获需求 来自哪里:
| 类型 | 全名 | 描述 |
|---|---|---|
mrd | 市场需求文档 | 市场格局、TAM/SAM/SOM、竞争分析和市场需求 |
brd | 业务需求文档 | 业务目标、利益相关者、ROI 和业务规则 |
urd | 用户需求文档 | 用户画像、旅程、可用性需求和验收标准 |
ISO/IEC/IEEE 29148:2018 轨道(BRS → StRS → SyRS → SRS)— 捕获需求 如何分解:
| 类型 | 全名 | 描述 |
|---|---|---|
brs | 业务需求规范 | 使命、目标、目的和业务运营概念 |
strs | 利益相关者需求规范 | 利益相关者需求、运营概念和用户需求 |
syrs | 系统需求规范 | 系统功能、接口、性能设计约束 |
srs | 软件需求规范 | 软件功能、外部接口和详细行为规范 |
大多数项目使用 PRD;添加来源轨道进行结构化需求发现,使用 ISO 29148 在受监管或复杂的多团队系统中进行正式的可追溯性。可自由混用。
经验
| 类型 | 全名 | 描述 |
|---|---|---|
task-type | 任务类型 | 针对重复任务的可复用检查清单和工作流 |
cpat | 代码变更模式 | 对 bug 或事件进行根本原因分析,并包含预防步骤 |
每个文档都是带有 YAML frontmatter 的 Markdown 文件:
---
title: "Use PostgreSQL for Primary Storage"
status: draft
tags: [database, infrastructure]
---
## Context
...
有效状态:draft、accepted、rejected。标签是可选的,自由形式。
MCP 工具和关系
MCP 工具
10 个工具:init_project、list_documents、get_document、search_documents、create_document、update_document、remove_document、add_relation、remove_relation、list_relations。该服务器也可以在空仓库中工作——代理可以通过 init_project 自行引导 .archcore/。
关系
文档通过定向关系链接:related(通用关联)、implements(源实现目标指定的内容)、extends(源构建于目标之上)、depends_on(源需要目标)。由代理通过 MCP 工具管理。
本地 MCP 服务器
archcore mcp 通过 stdio 从当前目录提供文档。当服务器从不是你工作区的目录启动时(例如,通过编辑器集成),传递 --project /path/to/repo(或设置 ARCHCORE_PROJECT_ROOT)。
命令
| Command | 描述 | | ------------------------ | ------------------------------------------------ | | `archcore init` | 交互式初始化 `.archcore/` 目录 | | `archcore doctor` | 检查你的 archcore 设置并修复问题 | | `archcore status` | 检查 `.archcore/` 结构和文档健康状况 | | `archcore config` | 查看或修改设置 | | `archcore hooks install` | 为检测到的 AI 代理安装钩子 | | `archcore mcp` | 运行 MCP stdio 服务器 | | `archcore mcp install` | 为检测到的代理安装 MCP 配置 | | `archcore update` | 将 Archcore 更新到最新版本 |archcore update 会检查 GitHub Releases,下载较新版本,验证 SHA-256 校验和,并以原子方式替换二进制文件。
安装方法
macOS / Linux
curl -fsSL https://archcore.ai/install.sh | bash
Windows
irm https://archcore.ai/install.ps1 | iex
将 archcore.exe 安装到 %LOCALAPPDATA%\Programs\archcore 下,并将其添加到你的用户 PATH。安装后请打开一个新的 PowerShell 窗口。
Windows (WSL)
安装 WSL,然后在其中运行 macOS/Linux 脚本。
Go 安装
go install github.com/archcore-ai/cli@latest
从源码安装
git clone https://github.com/archcore-ai/cli.git
cd cli
go build -o archcore .
支持的平台: macOS、Linux、Windows — amd64 和 arm64。
有关环境变量(ARCHCORE_VERSION、ARCHCORE_INSTALL_DIR、GITHUB_TOKEN)和 PATH 故障排查,请参阅 完整安装指南。
配置
设置位于 .archcore/settings.json,由 archcore init 创建。
| 字段 | 描述 | 值 |
|---|---|---|
sync | 同步模式。云端和本地部署即将推出。 | none(仅本地)、cloud、on-prem |
language | 文档语言。帮助代理以正确的语言生成文档。 | 字符串,默认为 en |
archcore config # show all settings
archcore config get <key> # get a specific value
archcore config set <key> <value> # set a value
生态系统
- Archcore Plugin — 使用 Claude Code 或 Cursor?该插件与 CLI 搭配使用:相同的引擎,外加技能、意图命令和护栏。一个产品,两个入口 — CLI 本身即可覆盖所有其他代理。
- docs.archcore.ai — 完整文档。
- 本仓库中的
.archcore/— 一个活生生的示例:CLI 是使用其自身的上下文层构建的。
开发
需要 Go 1.25+。
go build -o archcore . # build
go test ./... # run all tests
链接与许可证
- 文档: docs.archcore.ai
- 网站: archcore.ai
- 插件(Claude Code、Cursor): github.com/archcore-ai/archcore-plugin
- 问题反馈: github.com/archcore-ai/cli/issues
- 许可证: Apache 2.0