Archcore MCP Server
公式ローカルstdio MCPサーバーで、AIコーディングエージェントがリポジトリから直接、構造化されたアーキテクチャ、ルール、決定事項を読み取り、維持できるようにします。
ドキュメント
Archcore CLI
あなたのAIエージェントは推測をやめ、あなたのアーキテクチャに従い始めます。
Gitはコードを届けます。CI/CDはデリバリーを届けます。Archcoreは理解を届けます。
Archcoreはあなたの決定、ルール、規約をGitに保存します — それによりAIエージェントは自動的にそれらに従います。Claude Code、Cursor、Copilot、Gemini CLI、Codex、OpenCode、Roo Code、Clineで動作します。
ArchcoreはCLI および ローカルstdio MCPサーバーとして提供されます — 任意のMCP互換コーディングエージェントが標準ツールを通じてリポジトリコンテキストを読み書きでき、Claude Code / Cursorプラグインはより高レベルのワークフローレイヤーを追加します。
Claude CodeまたはCursorを使用していますか? CLIとArchcore Pluginを組み合わせてください — 同じエンジンに加え、スキル、インテントコマンド、ガードレールがすぐに使えます。CLIだけでも優れています — 他のすべてのエージェントで動作します。
60秒で始める
curl -fsSL https://archcore.ai/install.sh | bash
cd your-project && archcore init
次にAIエージェントを開いてこう言います:
"プライマリストレージにPostgreSQLを使用しています。この決定を記録してください。"
完了です。これで.archcore/に構造化されたADRが作成され、将来のすべてのセッション(任意のエージェント)で読み取ることができます。
Windowsの場合?PowerShellを使用してください:
irm https://archcore.ai/install.ps1 | iex。WSLの場合はgo install、その他のオプションについてはインストール方法または完全なインストールガイドを参照してください。
AIに尋ねられること
リポジトリにいくつかのドキュメントがあれば、エージェントはそれらを使用できます。試してみてください:
"認証モジュールに触れる前に、ここに適用されるADRとルールは何ですか?"
エージェントは、コードを1行も編集する前に、その領域に関連する決定とルールを読み込みます。
"新しいAPIハンドラを追加し、このリポジトリの規約に従ってください。"
エージェントは一致するルール(例:「ハンドラはsrc/api/handlers/に配置する」)を提示し、アーキテクチャが指定する場所にコードを配置します。
"エラーハンドリングのルールは何ですか?"
エージェントはコードベースのいくつかの例から推測するのではなく、.archcore/から直接error-wrapping.rule.mdを読み取ります。
最初に試すこと
これらのプロンプトは_新しい_コンテキスト(決定、ルール、計画、インシデント)をキャプチャします。それぞれが、エージェント(またはチームメイト)が後で再利用できる構造化ドキュメントを作成します。
新しいリポジトリですか?archcore initは.archcore/を作成します。MCPサーバーは空のリポジトリでも動作し、init_projectツールを公開するため、エージェントがブートストラップできます。
"プライマリデータベースにMongoDBではなくPostgreSQLを使用することに決定しました。この決定を記録してください。"
コンテキスト、決定、検討された代替案、結果を含むinfrastructure/use-postgres.adr.mdを作成します。
"チームの規約があります:fmt.Errorfと%wを使用して常にエラーをコンテキストでラップすること。これをルールにしてください。"
命令的なガイダンス、根拠、良い/悪いコード例を含むbackend/error-wrapping.rule.mdを作成します。
"先週、アイドル接続がリサイクルされていなかったために接続プール枯渇インシデントが発生しました。繰り返さないようにこれを文書化してください。"
根本原因分析と防止手順を含むincidents/connection-pool-exhaustion.cpat.mdを作成します。
"ユーザー通知機能(プッシュ、メールダイジェスト、アプリ内アラート)のPRDが必要です。"
目標、ユーザーストーリー、要件、成功指標を含むnotifications/user-notifications.prd.mdを作成します。
"通知PRDの実装計画を作成し、それらをリンクしてください。"
notifications/notifications-implementation.plan.mdを作成し、implementsリレーションでPRDにリンクします。
これらのいずれかに共感できるなら、Archcoreの残りの部分も同様です — ただ構造化されているだけです。
インストール後に変わること
Archcoreがない場合、エージェントは:
- アーキテクチャを無視します
- 規約を破ります
- 既存のロジックを複製します
- チームが既に行った決定を再議論します
- すべてのチャットで同じ規約を繰り返す必要があります
- セッションが終了した瞬間にプロジェクトの真実を失います
Archcoreがある場合、同じ要求で生成されるコードは:
- アーキテクチャが指定する場所に配置されます
- Gitに既にあるADR、仕様、ルールを尊重します
- セッション開始時に自動的に読み込まれるチーム規約に従います
- 新しい決定を将来のガードレールとして反映し、マークダウンの墓場にはしません
AIはあなたのシステムに従うべきであり、推測すべきではありません。
Archcoreを使用する場面
- エージェントがコードを書くが、このリポジトリが期待する方法ではない場合
CLAUDE.md/.cursorrules/AGENTS.mdが成長し続け、逸脱している場合- 2つ以上のエージェントまたは2つ以上のホストツール(Claude Code + Cursor + Copilot)で作業する場合
- 決定、ルール、仕様をチャットのスクロールバックではなくGitに残したい場合
対象外 — チャットメモリ、プロンプトライブラリ、またはワンショットの仕様からコードへのジェネレーター。Archcoreはコーディングエージェント向けのリポジトリ真実レイヤーであり、方法論キットではありません。
なぜ単なる指示ファイルではないのか?
CLAUDE.md、AGENTS.md、およびリポジトリ指示は有用な出発点ですが、チームが以下を必要とする場合に破綻します:
- 複数のフラットなメモリファイル
- 構造化されたドキュメントタイプ — ADR、ルール、計画、インシデント
- 複数のAIツール間で再利用可能なコンテキスト
- コードベースと共に成長するバージョン管理されたプロジェクト知識
- ドキュメント間のリレーション(PRDを_実装する_計画、ADRを_拡張する_ RFC)
- エージェントが後で拾い上げることができるインシデント学習と繰り返し発生するワークフロー
指示ファイルはエージェントに_あなたが望むこと_を伝えます。Archcoreはエージェントに_システムがどのように機能するか_を伝えます — それによりエージェントは推測するのではなく、システムに従うことができます。
サポートされているエージェント
Archcore CLI自体がローカルstdio MCPサーバーです — これは以下の表にあるすべてのMCP互換エージェントの共有統合面です。フックは、エージェントがサポートする場合にプロアクティブなセッション開始コンテキストを追加します。
| エージェント | フック | MCP |
|---|---|---|
| Claude Code | あり | あり |
| Cursor | あり | あり |
| Gemini CLI | あり | あり |
| GitHub Copilot | あり | あり |
| OpenCode | — | あり |
| Codex CLI | — | あり |
| Roo Code | — | あり |
| Cline | — | 手動 |
仕組み
-
リポジトリを初期化する
archcore initは.archcore/を作成し、サポートされているエージェントの統合をインストールします。 -
永続的なコンテキストをキャプチャする アーキテクチャの決定、ルール、計画、製品ドキュメント、インシデント学習を構造化されたMarkdownファイルとして保存します。
-
エージェントに再利用させる フックとMCPにより、コーディングエージェントは既存のコンテキストを読み取り、実際の作業中にドキュメントを作成または更新できます。
-
Gitに保持する コンテキストの変更をコードのようにレビューし、時間の経過とともに進化させ、ツール間で移植可能に保ちます。
メンタルモデル
Archcore CLIはコンテキストコンパイラです — 散在するドキュメントを構造化された機械可読なコンテキストに変換します。MCPとフックはランタイムです — エージェントが実際の作業中にそのコンテキストを消費するために使用する面です。Claude CodeおよびCursor用のArchcore Pluginは、その上に構築されたより高レベルのランタイムです。
implicit repo knowledge → structured context → AI-readable system
.archcore/に存在するもの
.archcore/
├── settings.json
├── .sync-state.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)から推測されます。
.archcore/を以下に使用します:
- アーキテクチャの決定
- コーディングルールと規約
- 実装計画
- 製品要件
- インシデントとポストモーテム
- 再利用可能なワークフロー知識
実際の例については、Archcore CLIリポジトリ自体を参照してください:このリポジトリの.archcore/
同梱されるもの
- 18のドキュメントタイプ(ビジョン、知識、経験にわたる)
- 4つのリレーションタイプ —
related、implements、extends、depends_on - 10のMCPツール —
list_documents、get_document、create_document、update_document、remove_document、search_documents、init_project、およびリレーション管理(add_relation、remove_relation、list_relations) - 5つのマルチドキュメントプロンプト — MCP互換エージェントからスラッシュコマンドとして呼び出し可能なカスケードを追跡
- 4つのエージェント(Claude Code、Cursor、Gemini CLI、GitHub Copilot)向けのフック統合と8つ向けのMCP統合
ドキュメントタイプ
Archcoreはコンテキストを3つの知識レイヤーに整理します:ビジョン、知識、経験。
ビジョン
| タイプ | 正式名称 | 説明 |
|---|---|---|
prd | 製品要件ドキュメント | 目標、ユーザーストーリー、受け入れ基準、成功指標 |
idea | アイデア | 将来の探索のための製品または技術アイデアの軽量なキャプチャ |
plan | 計画 | 受け入れ基準と依存関係を含むフェーズ別タスクリスト |
Archcoreは、構造化された発見または正式な分解を必要とするチーム向けに、2つの追加要件トラックもサポートしています:
ソーストラック(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を追加します。自由に組み合わせてください — 一部の機能はPRDを使用し、他の機能は完全なカスケードを使用できます。
知識
| タイプ | 正式名称 | 説明 |
|---|---|---|
adr | アーキテクチャ決定記録 | コンテキスト、代替案、結果を含む最終的な技術決定をキャプチャします |
rfc | コメント募集 | チームのレビューとフィードバックのために開かれた重要な変更を提案します |
rule | ルール | 命令的なガイダンスと例を含むコーディングまたはプロセス標準 |
guide | ガイド | 特定のタスクを完了するためのステップバイステップの指示 |
doc | ドキュメント | リファレンスドキュメント、レジストリ、説明的な資料 |
spec | 仕様 | システム、コンポーネント、インターフェース、またはプロトコルの標準的な規範的契約 |
経験
| タイプ | 正式名称 | 説明 |
|---|---|---|
task-type | タスクタイプ | 繰り返し発生するタスクのための再利用可能なチェックリストとワークフロー |
cpat | コード変更パターン | バグやインシデントの根本原因分析と防止策 |
各ドキュメントはYAMLフロントマターを持つMarkdownファイルです:
---
title: "Use PostgreSQL for Primary Storage"
status: draft
tags: [database, infrastructure]
---
## Context
...
有効なステータス: draft、accepted、rejected。タグは任意で自由形式です — 横断的なトピック (security、golang、frontend) をマークするために使用します。
ドキュメントの関連
ドキュメントは他のドキュメントと有向関連でリンクできます:
- related — 一般的な関連付け
- implements — ソースがターゲットの指定内容を実装する
- extends — ソースがターゲットを基に構築される
- depends_on — ソースが進行するためにターゲットを必要とする
関連は .sync-state.json に保存され、MCPツールを通じてAIエージェントによって自動的に管理されます。
AIエージェント統合
Archcoreは3つの方法でAIコーディングエージェントと統合します:
- フック はセッション開始時にコンテキストを注入するため、エージェントは最初のメッセージからあなたの
.archcore/ドキュメントを認識します。 - MCPツール はエージェントにリアルタイムでドキュメントの一覧表示、検索、読み取り、作成、更新、リンクを行う機能を提供します。MCPサーバーは空のリポジトリでも動作し、
init_projectツールを公開するため、エージェントは.archcore/を自身でブートストラップできます。 - MCPプロンプト は、エージェントからスラッシュコマンドとしてトリガーする既製のマルチドキュメントワークフローです。
プロンプト
プロンプトは1回の呼び出しで完全なドキュメントカスケードを調整します — エージェントがトラック内のすべてのドキュメントを作成しリンクします。ほとんどのMCP互換エージェントはそれらをスラッシュコマンド (例: /architecture_track) として表示します。正確なプレフィックスはクライアントによって異なります。
| プロンプト | 実行内容 |
|---|---|
product_track | アイデア → PRD → 計画 (軽量な機能フロー) |
architecture_track | ADR → 仕様 → 計画 (技術設計 + 実装) |
standard_track | ADR → ルール → ガイド (チーム標準の体系化) |
sources_track | MRD → BRD → URD (市場 / ビジネス / ユーザー発見) |
iso_track | BRS → StRS → SyRS → SRS (正式なISO 29148カスケード) |
例. エージェントで /product_track feature="user notifications" を実行します。エージェントはアイデアを草案し、PRDを導出し、実装計画を構築し、それらを自動的にリンクします。
ローカルMCPサーバー
Archcoreはホスト型サービスを必要としません。CLIはローカルstdio MCPサーバーを実行します:
archcore mcp
デフォルトでは archcore mcp はカレントディレクトリからドキュメントを提供します。--project /path/to/repo を渡す (または ARCHCORE_PROJECT_ROOT を設定する) ことで、他の場所を指すことができます — サーバーがワークスペースではないディレクトリから起動された場合 (例えば、エディタ統合によって) に便利です。
Claude Codeに接続する:
claude mcp add --transport stdio archcore -- archcore mcp
または、サポートされているエージェントに自動的にインストールする:
archcore mcp install --agent cursor
統合のインストール
# Auto-detect agents in your project and install everything
archcore hooks install
# Or target a specific agent
archcore mcp install --agent opencode
archcore hooks install --agent cursor
コマンド
| コマンド | 説明 |
|---|---|
archcore init | .archcore/ ディレクトリを対話的に初期化 |
archcore doctor | archcoreのセットアップを確認し問題を修正 |
archcore status | .archcore/ 構造とドキュメントの健全性を確認 |
archcore config | 設定の表示または変更 |
archcore hooks install | 検出されたAIエージェントのフックをインストール |
archcore update | Archcoreを最新バージョンに更新 |
archcore mcp | MCP stdioサーバーを実行 |
archcore mcp install | 検出されたエージェントのMCP設定をインストール |
更新
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 に追加します。インストール後、PATH の変更が反映されるように新しいPowerShellウィンドウを開いてください。
Windows (WSL)
WSL をインストールし、その中で以下を実行します:
curl -fsSL https://archcore.ai/install.sh | bash
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のトラブルシューティングについては、docs.archcore.aiの完全なインストールガイド を参照してください。
設定
設定は .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
開発
前提条件
- Go 1.24+
ビルドとテスト
# Build
go build -o archcore .
# Run all tests
go test ./...
# Run a specific package
go test ./cmd/
# Run a single test
go test ./cmd/ -run TestConfigCmd
プロジェクト構造
├── cmd/ # Cobra commands (init, doctor, config, status, hooks, mcp, ...)
├── internal/
│ ├── agents/ # Supported AI agents with hooks/MCP capabilities
│ ├── api/ # HTTP client for archcore server
│ ├── config/ # Settings management and directory init
│ ├── display/ # Terminal output formatting (lipgloss)
│ ├── update/ # Self-update logic (version check, download, verify, replace)
│ ├── mcp/ # MCP stdio server, tools, and prompts
│ └── sync/ # Sync logic
├── templates/ # Document type templates
├── install.sh # Install script
└── .goreleaser.yaml # Release configuration
ArchcoreはBMAD / Spec Kit / Memory Bankのようなものですか?
いいえ — これらは異なる問題を解決します。簡単な比較表:
| ツール | カテゴリ | 概要 | Archcoreとの違い |
|---|---|---|---|
| BMAD | 方法論 | エージェント型SDLC方法論 — 12以上の役割、34以上のワークフロー | Archcoreは_成果物_を保存; BMADは_プロセス_を規定 |
| Spec Kit | 方法論 | 仕様駆動ワークフロー: specify → plan → tasks → implement、ワンショット | Spec Kitはワンショットの引き継ぎ; Archcoreはコードベースと共に進化する生きたグラフを維持 |
| Agent OS | 方法論 | コードベース標準の抽出 + 仕様駆動開発 | 最も近い位置付け。Archcoreは型付きドキュメント、検証済み関連、オプションのISOカスケードを追加 |
| claude-mem / Mem0 | メモリ | セッションメモリの自動キャプチャ、クロスエージェントリコール | メモリツールは_あなたが何をしたか_を記憶; Archcoreは_システムがどのように構築され、何が決定されたか_を保存 |
| Cline Memory Bank | ドキュメント | 固定スキーマのmarkdownファイル (projectbrief、activeContext、systemPatterns…) | 同じ精神、より少ない形式的要素。Archcoreは型付き関連、MCP検証、マルチステップカスケードを追加 |
| CLAUDE.md / .cursorrules | 指示 | エージェントがセッション開始時に読み取る単一のフラットファイル | Archcoreは増大する指示ファイルを、型付きで関連付けられクエリ可能なドキュメントに置き換えます |
意見の強い開発フローには方法論ツールを選択してください。セッションの継続性にはメモリツールを選択してください。型付きでクエリ可能な_プロジェクトの真実_ — このリポジトリの決定、ルール、アーキテクチャ — をコーディングエージェントがすべてのリクエストで尊重するようにしたい場合は、Archcoreを選択してください。
リンクとライセンス
- ドキュメント: docs.archcore.ai
- ウェブサイト: archcore.ai
- プラグイン (Claude Code, Cursor): github.com/archcore-ai/archcore-plugin
- 課題: github.com/archcore-ai/cli/issues
- ライセンス: Apache 2.0