Archcore MCP
官方本地 stdio MCP 伺服器,讓 AI 編碼代理能直接從你的儲存庫中讀取並維護結構化的架構、規則與決策。
你可以用 Archcore MCP 做什麼?
-
載入專案脈絡 — 要求你的助理在修改模組前,透過
list_documents與search_documents擷取相關的 ADR、規則與規格。 -
將決策記錄為持久化文件 — 請你的助理使用
create_document在.archcore/中建立型別化的 Markdown 文件(ADR、規則、計畫),並將脈絡版本化於 Git 中。 -
連結相關文件 — 指示你的助理使用
add_relation以implements、depends_on或supersedes等關係連接文件,建構脈絡圖。 -
更新既有脈絡 — 要求你的助理透過
update_document與remove_document修訂或移除.archcore/中過時的文件,保持專案知識為最新狀態。 -
在任何儲存庫中啟動脈絡 — 請你的助理在空工作區中從零開始使用
init_project初始化.archcore/,立即啟用脈絡追蹤。
文件
Archcore CLI — 以 Git 為本、專為 AI 編碼代理打造的上下文層
Archcore 已遷移至 github.com/archcore-ai/archcore。 本儲存庫已封存。CLI 現位於該儲存庫中的
cli/,與外掛程式並列,且自 v0.10.1 起的每個版本皆發布於 archcore-ai/archcore/releases。 在 macOS、Linux 與 WSL 上,請使用curl -fsSL https://archcore.ai/install.sh | bash安裝或更新;在 Windows 上則使用irm https://archcore.ai/install.ps1 | iex。從本儲存庫安裝的二進位檔(v0.8.7 或更早版本)不再自動更新;請執行一次安裝程式以切換至新管道。問題回報請至:archcore-ai/archcore/issues。
Archcore 是專為 AI 編碼代理打造的、以 Git 為本的上下文層。
這款 CLI 將規格、架構決策、規則、計畫與專案知識保存在 .archcore/ 中,與你的程式碼一同進行版本控管,並透過 MCP 與工作階段鉤子(session hooks)將相關上下文提供給編碼代理。
它以 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):橫跨三個層級共 23 種類型——知識(ADR、規則、規格、指南)、願景(PRD、計畫、想法、需求軌道)與經驗(事件模式、重複性任務)。本儲存庫自身的 .archcore/ 就是一個實際範例。
詢問你的代理
「在我動 auth 模組之前,這裡適用了哪些決策與規則?」
在代理編輯任何一行程式碼之前,先載入與該區域相關的 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 是編碼代理的儲存庫真相層,而非方法論套件。
參考資料
隨附內容:23 種文件類型、7 種關聯類型、10 個 MCP 工具、4 個代理的鉤子整合與 8 個代理的 MCP 整合。
文件類型 — 橫跨願景、知識與經驗共 23 種類型
知識
| 類型 | 全名 | 描述 |
|---|---|---|
adr | 架構決策記錄(ADR) | 記錄已定案之技術決策,包含背景、替代方案與後果 |
rfc | 意見徵求(RFC) | 提出重大變更,開放團隊審查與回饋 |
rule | 規則 | 編碼或流程標準,含命令式指引與範例 |
guide | 指南 | 完成特定任務的逐步說明 |
doc | 文件 | 參考文件、登錄與描述性資料 |
spec | 規格 | 針對他人依賴之邊界或功能/子系統的規範性行為契約 |
evidence | 證據 | 一份外部材料,含其定位、摘錄與詮釋筆記 |
scenario | 情境 | 主體—受體流程與 Given/When/Then 範例,用以闡明單一規格之條款 |
願景
| 類型 | 全名 | 描述 |
|---|---|---|
prd | 產品需求文件(PRD) | 目標、使用者故事、驗收標準與成功指標 |
idea | 想法 | 輕量捕捉產品或技術想法,供未來探索 |
plan | 計畫 | 分階段任務清單,含驗收標準與依賴關係 |
rnd | 研究 | 限時調查,回答阻礙決策的問題 |
journey | 旅程 | 在涵蓋此互動的規格存在之前,單一使用者類型在系統中的預期路徑 |
research | 研究 | 領域調查,含範圍、涵蓋範圍、註明日期之來源、發現與未解缺口 |
另有兩條需求軌道,供需要結構化探索或正式分解的團隊使用:
來源軌道(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 | 程式碼變更模式 | 錯誤或事件的根本原因分析,含預防步驟 |
每份文件都是一個帶有 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/。
關聯
文件透過七種由 MCP 工具管理的定向關聯相互連結。
| 軸向 | 關聯 | 方向 |
|---|---|---|
| 結構性 | related | 來源與目標相關聯 |
| 結構性 | implements | 來源實作目標 |
| 結構性 | extends | 來源建構於目標之上 |
| 結構性 | depends_on | 來源需要目標 |
| 證據性 | supports | 材料支持目標陳述 |
| 證據性 | contradicts | 挑戰者質疑目標陳述 |
| 時間性 | supersedes | 較新文件取代較舊文件 |
端點是各自獨立且已存在的本機文件。關聯不會自動改變文件狀態或解決矛盾。較舊的 CLI 版本會拒絕包含這三個新值的清單。
來源最初是調查中的一行。當多份文件重複使用它、涉及矛盾,或較新資料取代它時,為它提供一個 evidence 檔案。引擎儲存定位器與摘錄;它不會擷取或驗證來源。
本機 MCP 伺服器
archcore mcp 透過 stdio 從目前目錄提供文件。當伺服器從非您工作區的目錄啟動時(例如由編輯器整合啟動),請傳入 --project /path/to/repo(或設定 ARCHCORE_PROJECT_ROOT)。
指令
| 指令 | 說明 |
|---|---|
archcore init | 以互動方式初始化 .archcore/ 目錄 |
archcore doctor | 檢查您的 archcore 設定並修正問題 |
archcore status | 檢查 .archcore/ 結構與文件健康狀態 |
archcore config | 檢視或修改設定 |
archcore hooks install | 為偵測到的 AI 代理程式安裝掛鉤 |
archcore mcp | 執行 MCP stdio 伺服器 |
archcore mcp install | 為偵測到的代理程式安裝 MCP 設定 |
archcore instructions | 管理指令檔案中的 Archcore 提示 |
archcore plugin | 安裝、更新或回報 Archcore 外掛程式 |
archcore update | 將 Archcore 更新至最新版本 |
archcore update 檢查 GitHub Releases、下載較新版本、驗證 SHA-256 校驗和,並以原子方式取代二進位檔。接著它會更新每個已安裝 Archcore 外掛程式的主機,並為 CLI 無法觸及的主機列印要執行的指令。
archcore plugin 直接在 Claude Code、Cursor、Codex CLI 與 GitHub Copilot 上管理該外掛程式。archcore init 會為您在此處選取的主機安裝它。
更新與遙測
無人看管更新
從 v0.8.0 起,CLI 也會在無人看管時自行更新。archcore mcp——您的代理程式啟動的伺服器——在背景執行相同的檢查,每台機器每 24 小時最多一次,且僅會以本專案發佈的版本取代二進位檔,並先執行下載的二進位檔一次以證明它能啟動。執行中的程序絕不會被重新啟動或中斷;新版本會在二進位檔下次啟動時生效。您自行編譯的建置、分支與 CI 執行器絕不會自行更新。
沒有任何變數或 .archcore/settings.json 金鑰能停用此功能。如果某台機器不得自行更新,請將二進位檔安裝到其使用者無法寫入的目錄——例如 root 擁有的位置——那麼每次嘗試都會在下載任何內容前停止。
更新分析
發行版建置每次更新嘗試會傳送一個事件:它移動的版本、您的作業系統與 CPU 架構、執行是否看起來像 CI、您是輸入指令還是背景檢查執行它,以及失敗時是哪個步驟失敗。它絕不會傳送錯誤訊息、路徑、使用者名稱、主機名稱或任何與您的儲存庫相關的內容。設定 DO_NOT_TRACK=1 或 ARCHCORE_TELEMETRY_OPTOUT=1 即可完全不傳送任何內容。這兩個變數僅管分析——都不會阻止 CLI 自行更新。完整詳情:archcore.ai/privacy。
安裝方法
macOS / Linux
curl -fsSL https://archcore.ai/install.sh | bash
Windows
irm https://archcore.ai/install.ps1 | iex
在 %LOCALAPPDATA%\Programs\archcore 下安裝 archcore.exe,並將其加入您的使用者 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 外掛程式 — 使用 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/plugin
- 問題回報: github.com/archcore-ai/cli/issues
- 授權: Apache 2.0