Alcove
Alcoveは、AIコーディングエージェントがプライベートなプロジェクトドキュメントにオンデマンドでアクセスできるようにするMCPサーバーです。すべてをコンテキストウィンドウに詰め込んだり、ドキュメントをパブリックリポジトリに漏洩させたり、使用するエージェントごとにプロジェクトごとの設定を行ったりする必要はありません。
デモ

Claude、Gemini、Codex — 検索 · プロジェクト切り替え · グローバル検索 · 検証と生成。一度の設定で。

alcove search· プロジェクト切り替え ·--scope global·alcove validate
問題点
これまで、2つの悪い選択肢しかありませんでした。
選択肢A: CLAUDE.md / AGENTS.md にドキュメントを入れる
実行のたびにすべてのファイルがコンテキストウィンドウに注入されます。
短い規約なら機能しますが、実際のプロジェクトドキュメントでは破綻します。
10個のアーキテクチャファイル = コンテキストの肥大化 = 回答の低速化、高コスト化、精度低下。
選択肢B: ドキュメントを入れない エージェントがすでに文書化済みの要件を勝手に作り出します。 すでに決定した制約を無視します。 セッションごとに同じ説明を求められます。
どちらの選択肢もスケールしません。さらに、5つのプロジェクトと3つのエージェントがあり、それぞれ設定が異なると考えてみてください。切り替えるたびにコンテキストを失います。
Alcoveによる解決策
Alcoveはドキュメントを注入しません。エージェントが必要なときに、必要なものを検索します。
~/projects/my-app $ claude "how is auth implemented?"
→ Alcove detects project: my-app
→ BM25 search: "auth" → ARCHITECTURE.md (score: 0.94), DECISIONS.md (score: 0.71)
→ Agent gets the 2 most relevant docs, not all 12~/projects/my-api $ codex "review the API design"
→ Alcove detects project: my-api
→ Same doc structure, same access pattern
→ Different project, zero reconfigurationいつでもエージェントを切り替え、いつでもプロジェクトを切り替えられます。ドキュメント層は標準化されたままです。
適切な使い分け
CLAUDE.md / AGENTS.md はエージェントの動作(避けるべき繰り返しのミス、コーディング規約、セッション固有の指示)のためのものです。200行以内に収めてください。
Alcove はプロジェクトの知識(アーキテクチャ、決定事項、ランブック、APIドキュメントなど、エージェントが理解する必要があるが、必ずしも毎回実行時に必要ではないもの)のためのものです。
パターン:
CLAUDE.md | AGENTS.md ← agent rules, coding conventions, recurring corrections
~/.config/alcove/docs/my-app/
ARCHITECTURE.md ← tech stack, data model, system design
DECISIONS.md ← why X was chosen over Y
DEBT.md ← known issues, workarounds
... ← agent searches here when it needs contextエージェントは search_project_docs("auth flow") を呼び出し、12個すべてではなく、最も関連性の高い2つのドキュメントを取得します。実際に必要でない限り、コンテキストウィンドウには何も入りません。
なぜAlcoveなのか
なぜ
CLAUDE.mdだけではいけないのか? 短い規約やエージェントの動作はそこに属します。プロジェクトドキュメント(アーキテクチャ、決定事項、ランブック、PRD)はコンテキストファイルではスケールしません。Alcoveは代替品ではなく、CLAUDE.mdが本来意図していなかった層を補完するものです。
Alcoveなし | Alcoveあり |
| BM25検索 — エージェントが必要なものだけを抽出 |
Notion、Google Docs、ローカルファイルに散らばる内部ドキュメント | プロジェクトごとに構造化された単一のドキュメントリポジトリ |
各AIエージェントでドキュメントアクセスを個別に設定 | 一度の設定ですべてのエージェントが同じアクセス権を共有 |
プロジェクトを切り替えるたびにコンテキストを再説明する必要がある | CWD自動検出、即時のプロジェクト切り替え |
エージェントの検索結果がランダムな一致行になる | ランク付けされた結果 — 最も一致するものから順に、ファイルごとに1つの結果 |
「OAuthに関するメモをすべて検索」 — 不可能 | 1つのクエリで全プロジェクトを横断検索 |
プロジェクトリポジトリに機密ドキュメントが残る | プライベートドキュメントはローカルに保持、パブリックリポジトリには一切触れない |
プロジェクトやチームメンバーごとにドキュメント構造が異なる |
|
ドキュメントが完全か確認する方法がない |
|
クイックスタート
# macOS
brew install epicsagas/alcove/alcove
# Linux / Windows — pre-built binary (fast, no compilation)
cargo install cargo-binstall
cargo binstall alcove
# Any platform — build from source
cargo install alcove
# Clone and build
git clone https://github.com/epicsagas/alcove.git
cd alcove
make install
alcove setup注: Linux (x86_64)、macOS (Apple Silicon & Intel)、Windows用のビルド済みバイナリが利用可能です。
setup コマンドが対話形式で以下を案内します:
ドキュメントの場所
追跡するドキュメントカテゴリ
推奨される図の形式
設定するAIエージェント(MCP + スキルファイル)
設定を変更したい場合は、いつでも alcove setup を再実行してください。以前の選択が記憶されています。
仕組み
flowchart LR
subgraph Projects["Your projects"]
A1["my-app/\n src/ ..."]
A2["my-api/\n src/ ..."]
end
subgraph Docs["Your private docs (one repo)"]
D1["my-app/\n PRD.md\n ARCH.md"]
D2["my-api/\n PRD.md\n ..."]
P1["policy.toml"]
end
subgraph Agents["Any MCP agent"]
AG["Claude Code · Cursor\nGemini CLI · Codex · Copilot\n+4 more"]
end
subgraph MCP["Alcove MCP server"]
T["search · get_file\noverview · audit\ninit · validate"]
end
A1 -- "CWD detected" --> D1
A2 -- "CWD detected" --> D2
Agents -- "stdio MCP" --> MCP
MCP -- "scoped access" --> Docsドキュメントは別のディレクトリ(DOCS_ROOT)に整理され、プロジェクトごとに1つのフォルダが作成されます。Alcoveはそこでドキュメントを管理し、stdio経由でMCP互換のAIエージェントに提供します。エージェントは search_project_docs("auth flow") のようなツールを呼び出し、どのエージェントを使用していても、ランク付けされたプロジェクト固有の結果を取得します。
機能
オンデマンドのドキュメント取得 — エージェントが検索して取得するため、コンテキストに事前ロードされません
BM25ランク付け検索 — tantivy を活用した高速な全文検索。最も関連性の高いドキュメントを優先し、自動インデックス化され、grepにフォールバックします
1つのドキュメントリポジトリ、複数のプロジェクト — プロジェクトごとに整理されたプライベートドキュメントを1か所で管理
一度の設定で、あらゆるエージェントに対応 — 一度設定すれば、すべてのMCP互換エージェントが同じアクセス権を取得
CWDからプロジェクトを自動検出 — プロジェクトごとの設定は不要
スコープ付きアクセス — 各プロジェクトは自身のドキュメントのみを参照
プロジェクト横断検索 —
scope: "global"を使用して全プロジェクトを一度に検索プライベートドキュメントは非公開 — ドキュメントはパブリックリポジトリに触れず、すべてローカルマシン上でstdio経由で実行
標準化されたドキュメント構造 —
policy.tomlがすべてのプロジェクトとチームで一貫したドキュメントを強制リポジトリ横断監査 — プロジェクトリポジトリ内に誤って配置された内部ドキュメントを見つけ、修正を提案
ドキュメント検証 — 不足ファイル、未記入のテンプレート、必須セクションをチェック
9種類以上のエージェントに対応 — Claude Code, Cursor, Claude Desktop, Cline, OpenCode, Codex, Copilot, Antigravity, Gemini CLI
MCPツール
ツール | 機能 |
| 分類とサイズを含むすべてのドキュメントをリストアップ |
| スマート検索 — BM25ランク付けまたはgrepを自動選択、プロジェクト横断検索用の |
| パスを指定して特定のドキュメントを読み込む(大きなファイル用に |
| ドキュメントリポジトリ内の全プロジェクトを表示 |
| リポジトリ横断監査 — ドキュメントリポジトリとローカルプロジェクトリポジトリをスキャンし、アクションを提案 |
| 新規プロジェクト用のドキュメントを構築(内部/外部ドキュメント、選択的なファイル作成) |
| チームポリシー ( |
| 全文検索インデックスを再構築(通常は自動) |
| 前回のインデックス構築以降に追加、変更、削除されたドキュメントを検出 |
CLI
alcove Start MCP server (agents call this)
alcove setup Interactive setup — re-run anytime to reconfigure
alcove doctor Check the health of your alcove installation
alcove validate Validate docs against policy (--format json, --exit-code)
alcove index Build or rebuild the full-text search index for ranked search
alcove search Search docs from the terminal
alcove uninstall Remove skills, config, and legacy files検索
Alcoveは自動的に最適な検索戦略を選択します。検索インデックスが存在する場合は、関連性スコア付きの結果を得るために tantivy による BM25ランク付け検索 を使用します。存在しない場合はgrepにフォールバックします。意識する必要はありません。
# Search the current project (auto-detected from CWD)
alcove search "authentication flow"
# Force grep mode if you want exact substring matching
alcove search "FR-023" --mode grepインデックスはMCPサーバー起動時にバックグラウンドで自動的に構築され、ファイルの変更を検知すると再構築されます。cronジョブや手動の手順は不要です。
エージェントの動作: エージェントはクエリを指定して search_project_docs を呼び出すだけです。Alcoveがランキング、重複排除(ファイルごとに1つの結果)、プロジェクト横断検索、フォールバックをすべて処理します。エージェントが検索モードを選択する必要はありません。
グローバル検索
すべてのアーキテクチャ決定、すべてのランブック、すべてのプロジェクトメモを、すべてのプロジェクトで一度に検索できます。
# Search across ALL projects
alcove search "rate limiting patterns" --scope global
alcove search "OAuth token refresh" --scope globalエージェントも search_project_docs で scope: "global" を使用して同様のことができます。1つのクエリですべてのプロジェクトを検索します。
プロジェクト検出
デフォルトでは、Alcoveはターミナルの作業ディレクトリ(CWD)から現在のプロジェクトを検出します。これは MCP_PROJECT_NAME 環境変数で上書きできます:
MCP_PROJECT_NAME=my-api alcoveこれは、CWDがドキュメントリポジトリ内のプロジェクト名と一致しない場合に便利です。
ドキュメントポリシー
ドキュメントリポジトリ内の policy.toml でチーム全体のドキュメント標準を定義します:
[policy]
enforce = "strict" # strict | warn
[[policy.required]]
name = "PRD.md"
aliases = ["prd.md", "product-requirements.md"]
[[policy.required]]
name = "ARCHITECTURE.md"
[[policy.required.sections]]
heading = "## Overview"
required = true
[[policy.required.sections]]
heading = "## Components"
required = true
min_items = 2ポリシーファイルは以下の優先順位で解決されます: プロジェクト (<project>/.alcove/policy.toml) > チーム (DOCS_ROOT/.alcove/policy.toml) > 組み込みデフォルト (config.toml コアファイル)。これにより、プロジェクトごとの上書きを許可しつつ、すべてのプロジェクトで一貫したドキュメント品質を確保します。
ドキュメント分類
Alcoveはドキュメントを以下の階層に分類します:
分類 | 場所 | 例 |
doc-repo-required | Alcove (プライベート) | PRD, アーキテクチャ, 決定事項, 規約 |
doc-repo-supplementary | Alcove (プライベート) | デプロイ, オンボーディング, テスト, ランブック |
reference | Alcove | 監査レポート, ベンチマーク, 分析 |
project-repo | GitHubリポジトリ (パブリック) | README, CHANGELOG, CONTRIBUTING |
audit ツールはドキュメントリポジトリとローカルプロジェクトディレクトリの両方をスキャンし、プライベートなPRDからパブリックなREADMEを生成したり、誤って配置されたレポートをAlcoveに戻したりするなどのアクションを提案します。
設定
設定は ~/.config/alcove/config.toml に保存されます:
docs_root = "/Users/you/documents"
[core]
files = ["PRD.md", "ARCHITECTURE.md", "PROGRESS.md", "DECISIONS.md", "CONVENTIONS.md", "SECRETS_MAP.md", "DEBT.md"]
[team]
files = ["ENV_SETUP.md", "ONBOARDING.md", "DEPLOYMENT.md", "TESTING.md", ...]
[public]
files = ["README.md", "CHANGELOG.md", "CONTRIBUTING.md", "SECURITY.md", ...]
[diagram]
format = "mermaid"これらはすべて alcove setup を通じて対話的に設定されます。ファイルを直接編集することも可能です。
ファイルリストは完全にカスタマイズ可能です。任意のカテゴリにファイル名を追加したり、チームのワークフローに合わせてカテゴリ間でファイルを移動したりできます:
[core]
files = ["PRD.md", "ARCHITECTURE.md", "DECISIONS.md", "MY_SPEC.md"] # added custom doc
[public]
files = ["README.md", "CHANGELOG.md", "PRD.md"] # PRD exposed as public for this project対応エージェント
エージェント | MCP | スキル |
Claude Code |
|
|
Cursor |
|
|
Claude Desktop | プラットフォーム設定 | — |
Cline (VS Code) | VS Code globalStorage |
|
OpenCode |
|
|
Codex CLI |
|
|
Copilot CLI |
|
|
Antigravity |
| — |
Gemini CLI |
|
|
スキル対応エージェントは、プロジェクトのアーキテクチャ、規約、決定事項、ステータスについて尋ねると自動的にAlcoveをアクティブにします。明示的に呼び出すことも可能です:
/alcove Summarize current project docs and status
/alcove search auth flow Search docs for a specific topic
/alcove what conventions apply? Ask a doc question directly対応言語
CLIは自動的にシステムのロケールを検出します。ALCOVE_LANG 環境変数で上書きすることも可能です。
言語 | コード |
English |
|
한국어 |
|
简体中文 |
|
日本語 |
|
Español |
|
हिन्दी |
|
Português (Brasil) |
|
Deutsch |
|
Français |
|
Русский |
|
~/projects/my-app $ claude "how is auth implemented?"
→ Alcove detects project: my-app
→ BM25 search: "auth" → ARCHITECTURE.md (score: 0.94), DECISIONS.md (score: 0.71)
→ Agent gets the 2 most relevant docs, not all 12Latest 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/epicsagas/alcove'
If you have feedback or need assistance with the MCP directory API, please join our Discord server