cohort-mcp について
cohort-mcpは、GitHub上のMarkdownナレッジベースをチームの共有AIメモリとして扱うローカルMCPサーバーとCLIです。範囲を絞ったチーム情報を読み込み、安全チェックと人の承認を経て更新を提案します。
主な機能
- 01GitHubで共有するMarkdownメモリ
- 02検証済み情報を優先した読み込み
- 03スキャンと人の承認を伴う更新提案
- 04ナレッジベース検索と状態確認
- 05Git履歴による記録の出所追跡
活用シーン
- 01チームメンバーのAIセッション間で決定事項を共有
- 02事実を保存する前に更新案を確認
- 03閲覧範囲に応じて検証済み記録を検索
- 04Git履歴から記録の出所を確認
MCP 対応
ローカルのstdio MCPサーバーとして、ナレッジベースの読み込みと検索、ゲート付き更新提案、状態・ポリシー照会、記録の出所確認を行うツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| scope | string | いいえ | 任意のスコープヒントです。将来の使用のために予約されています。 |
| topics | array | いいえ | 読み込むコンテキストを絞り込むための任意のトピックフィルターです。 |
詳細
GitHub 上の共有 Markdown ボルトは 1 つ。アカウント、プラン、プラットフォームに関係なく、チームメンバー全員の AI が同じメモリを読み書きし、
変更はすべて人間が承認します。
クイックスタート · 仕組み · 内容 · エンジン · セキュリティ · ドキュメント全文
Cohort を選ぶ理由
チームの AI アシスタントは、セッションを始めるたびに記憶が空の状態です。あるチームメンバーのアシスタントが学んだこと(決定事項、記録した事実、未解決のままにしたスレッド)は、ほかのメンバーには見えません。同じコンテキストを何度も貼り付けるか、失ってしまうことになります。
Cohort はチームに共有メモリを提供します。1 つの Git リポジトリに、事実、決定事項、未解決のスレッドをプレーンな Markdown で保存します。各チームメンバーの AI はセッション開始時に範囲を限定した情報を読み込み、終了時に更新を提案します。変更が反映される前に、必ず人間が承認します。ホスト型サーバーも、当社のアカウントも必要ありません。リポジトリそのものが製品であり、お客様自身の GitHub 上に置かれます。
仕組み
- 読み込み。 セッション開始時に、AI はボルトから範囲を限定した、検証済みの情報を優先するデータを取得します。これはデータとして区切られており、指示として扱われることはありません。
- 提案。 セッション終了時に、新しいレコードを提案します。すべての書き込みはローカルゲート(シークレットと PII のスキャン、インジェクションリンター、矛盾のチェック)を通過し、人間による確認のために保留されます。
- 承認。 人間がターミナルからレコードを検証します。それを経て初めて、信頼できるメモリになります。転送手段は Git のみで、ボルトはお客様のものです。
動作を見る
内容
ボルト、エンジン、そして強みの源となる要素は無料で、Apache-2.0 のもとでオープンソースとして提供され、お客様自身のマシン上で完全に動作します。Cohort はお客様自身の GitHub リポジトリのみを使用します。メンテナーがボルト、セッション、テレメトリーを受け取ることはありません。Cohort は人間がすべての書き込みを承認する仕組みのもと、お客様の管理下でローカルにボルトを読み書きします。処理は当社ではなく、お客様のマシン上で行われます。
エンジン
cohort-mcp はローカルで動作する stdio の Model Context Protocol サーバーで、あらゆる MCP クライアントが実行できる、クライアントに依存しないエンジンです。範囲を限定し、フェンスで囲んだコンテキストを読み込み、サーバーが強制するゲートを通じて、人間が承認した書き戻しを実行します。
| MCP ツール | 機能 |
|---|---|
cohort_load | トークン予算内で、検証済みの情報を優先し、範囲を限定したチームのコンテキストをデータとしてフェンスで囲んで返します。 |
cohort_propose | 提案されたレコードを、サーバーが強制する書き込みゲートに通します。 |
cohort_status | 適用されるポリシー、レコード数、隔離キュー、古くなったレコードを報告します。 |
cohort_policy_get | 呼び出し元に適用される読み取り専用のポリシー制限を返します。 |
cohort_search | 読み取り可能な範囲を尊重して、ボールトを検索します。既定では検証済みの情報のみが対象です。 |
cohort_why | git の履歴から読み取ったレコードの来歴(誰が、どのモデルで、いつ)を返します。 |
モデルがレコードを提案して読み取ることはできても、昇格や廃止は決してできないように、一部の操作は意図的に人間がターミナルで実行します。
| CLI | 機能 |
|---|---|
cohort init | ポリシーを初期設定し、クライアントを接続して、次の手順を表示します。 |
cohort verify | レコードを隔離状態から検証済みに昇格させます(人間のみ実行可能)。 |
cohort supersede | レコードが置き換えられたことを示します。レコードは読み込み対象から外れますが、git の履歴には残ります。 |
cohort index | コミットされ、差分を確認できる検索インデックスを構築します(検証するには --check を指定します)。 |
cohort stats | レコード数、書き戻し、古くなったレコード、現在の読み込みサイズを報告します。 |
cohort bridge / reabsorb | AGENTS.md、CLAUDE.md、Cursor ルールを生成し、手動編集をゲート付きの提案として取り込みます。 |
cohort export / import | ポータブルなスキーマを使って、ボールト全体を損失なく移動します。 |
エンジンと CLI は cohort-mcp/ にあります。npm では cohort-mcp として公開されており、MCP Registry には io.github.magnusmage/cohort-mcp として登録されているため、次のコマンドひとつで実行できます。
claude mcp add cohort -- npx -y cohort-mcp # register with Claude Code
# or just run it: npx -y cohort-mcp
Claude Desktop にはワンクリックでインストールできる拡張機能があります。desktop-extension/ から .mcpb をビルドし、ダブルクリックしてインストールしてください。または、このリポジトリをプラグインマーケットプレイスとして追加し、同梱のプラグインをインストールしてください。
claude plugin marketplace add magnusmage/cohort
claude plugin install cohort@cohort
クイックスタート
Cohort は、ディスクと git にアクセスできる AI クライアント(Kimi Code CLI、Kimi Work desktop、ZCode、または Claude Code(CLI、デスクトップ、IDE 拡張機能))内で動作します。ディスクにアクセスできないウェブチャットでは実行できません。
コネクターをインストールします(1 分以内):
curl -fsSL https://raw.githubusercontent.com/magnusmage/cohort/v0.3.0/install.sh | sh
インストーラーはリリースのチェックサムを検証した後、お使いのマシン上にある各クライアントのスキルフォルダーへコネクタースキルをコピーします。先に内容を確認したい場合は、curl -fsSLO .../install.sh を実行して内容を読み、その後 sh install.sh を実行してください。
次に、クライアントのチャット入力欄で(ターミナルではありません)、/cohort と入力します(Kimi Code CLI では /skill:cohort、Kimi Work desktop では / Skills メニューを使用します)。または、「チームボールトをセットアップして」と伝えてください。コネクターはデータの取り扱いを説明して、あなたの承認を待ちます。その後、GitHub へのサインインとボールトの作成を案内し、3 つの同意事項について確認します。すべての手順で、あなたの操作を待ちます。
クライアントの対応状況、手順ごとのセットアップ、開発者向け手順
対応しているクライアントは?
| クライアント | Cohort を利用できますか? |
|---|---|
| Kimi Code CLI | はい。セットアップと日常的な利用に完全対応しています。 |
| Kimi Work desktop | はい。ボールトのフォルダーをワークスペースとして追加し、同じ手順に従ってください。 |
| ZCode | はい。セットアップと日常的な利用に完全対応しています。 |
| Claude Code(CLI、デスクトップ、または IDE 拡張機能) | はい。セットアップと日常的な利用に完全対応しています。 |
| Kimi Chat、Claude.ai web、その他ディスクにアクセスできないチャット | いいえ。ディスクや git にアクセスできません。チームメイトはボールトのファイルをチャットプロジェクトに読み取り専用の参考資料としてエクスポートできますが、同期し直すことはできません。 |
手順
- ターミナルを開きます。 Windows:クライアント内のターミナル、または Git Bash を使います。Mac:ターミナルアプリを使います。Linux:ターミナルアプリを使います。
- インストールします: 上記の
curlの行を貼り付けて Enter キーを押します。クライアントごとにinstalled cohort skill to ...という行が 1 つ表示されます。 - 正しく配置されたか確認します(任意):
ls ~/.claude/skills/cohort(または~/.kimi-code/skills/cohort、~/.zcode/skills/cohort)。 - 任意のプロジェクトフォルダーでクライアントを起動し、 上記の手順でスキルを読み込みます。
- チャットでコネクターの質問に答えます。 コネクターが Vault リポジトリを作成するか、ブラウザーで作成した空のリポジトリにリンクし、その後、いつコンテキストを読み込むか、いつ更新を提案するか、どのコンテンツを読み取るかを尋ねます。
curl または sh がない場合は、最新リリースからスキルの zip ファイルをダウンロードして展開し、クライアントのスキル設定で cohort フォルダーをアップロードしてください(Assets 内のスキル zip を使用し、Source code は使用しないでください)。
開発者向けの手順
git clone https://github.com/magnusmage/cohort.git
sh cohort/scripts/setup.sh # seed a vault, ask consent, install the redaction hook
cp -R cohort/connectors/claude ~/.claude/skills/cohort # or connectors/kimi, connectors/zcode
次の 1 つのコマンドで MCP エンジンを登録します:cohort init --vault <dir> --agent <id>。
毎日の使い方
| やりたいこと | 操作 |
|---|---|
| セッション開始時にチームのコンテキストを読み込む | スキルを読み込むか、「load team context」と頼みます(プロジェクトのスコープで自動的に読み込まれます) |
| 決定事項、事実、未解決のスレッドを保存する | コネクターに書き戻しを提案するよう頼み、下書きを編集して承認します |
| チームメンバーを追加する | Vault リポジトリの GitHub コラボレーターに追加します。これが共有の仕組みのすべてです |
ロードマップ
フェーズ 1 から 5 は構築、テスト、リリースが完了し、main にあります。これらがプロダクトのすべてです。Vault、エンジン、そして堀はすべて、ユーザー自身のマシン上で動作します。
- フェーズ 1:ウォーキングスケルトン。 ポリシーエンジン、レコードスキーマ、Git トランスポート、書き込みゲート、最初の 4 つのツール。
- フェーズ 2:信頼と安全性の中核。 信頼レベル、人間のみが行える検証、敵対的テストスイート。
- フェーズ 3:セッションの記録と検索。 セッションのメモをゲート付きの下書きに変換し、Vault を検索します。
- フェーズ 4:導入の橋渡し。 AGENTS.md / CLAUDE.md / Cursor ルールを生成して再取り込みし、ポータブルなエクスポートとインポートを行います。
- フェーズ 5:堀。 Git ネイティブのインデックス、トークン予算に基づく検証済み情報の優先取得、矛盾の検出、古さと置き換えの管理、決定論的なマージ、
cohort_why。 - フェーズ 6:エンタープライズ(進行中、保留)。 SSO を備えたレビューおよび監査ダッシュボードに加え、複数 Vault へのアクセス、保存データの暗号化、保持期間の設定を行います。これは意図的にリリース済みプロダクトには含めず、
phase-6-control-planeブランチに保管しています。後日リリースする場合、ダッシュボードは任意で、自身のインフラストラクチャ上で動作し、独自のプライバシー声明を備えます。メンテナーがユーザーのデータを受け取ることは、引き続きありません。
全計画は docs/planning にあります。
セキュリティ
Cohort は多くのエージェントが読み書きする共有メモリであるため、メモリ自体が攻撃対象領域になります。汚染されたレコードが、別のチームメンバーのエージェントに対する指示として読み返される可能性があります。このプロジェクトでは、あらゆる変更にセキュリティが備わっていることを重視しています。保存されたメモリとモデルは信頼できないものとして扱います。承認され、スキャンされた書き込みのみが反映されます。読み込まれたメモリはデータとして区切られ、指示として扱われません。矛盾する事実は、検証済みの事実を上書きするのではなく、人間による確認のために保留されます。また、コミットを行うコンポーネントはサーバーだけです。テレメトリーはなく、ユーザー自身の Git リモート以外へのネットワーク呼び出しもないため、メンテナーが Vault、セッション、その他の情報を受け取ることはありません。
脅威モデル、編集ルール、同意モデルについては、セキュリティモデルをご覧ください。脆弱性を見つけましたか? 公開イシューとしてではなく、このリポジトリの GitHub の非公開脆弱性報告機能から、非公開で報告してください。
詳しくはこちら
- Cohort の解説:ループ、各コマンド、同意の選択肢、セキュリティモデルを1ページで説明しています
- 仕様書:アーキテクチャ、vault のスキーマ、コネクターの契約
- セキュリティモデル:脅威モデル、編集ルール、同意モデル
- 10分間のウォークスルー
- 対象ユーザーと正直な制限事項
- 意思決定記録とリリース履歴
リポジトリの構成
├── cohort-mcp/ The MCP server and CLI: the engine and the moat
├── connectors/ Kimi, ZCode, and Claude connectors (Agent Skills standard)
├── vault-template/ Blank vault scaffold (copied into your own repo)
├── example-vault/ Synthetic demo vault (CC0, all content fictional)
├── scripts/ Setup wizard and vault validator
├── security/ Versioned gitleaks redaction rules
├── install.sh Pinned-tag installer for the connector skill
└── docs/ The public spec, decision records, and diagrams
コントリビューション
CONTRIBUTING.mdを参照してください。コミットには Conventional Commits と DCO の
署名(git commit -s)を使用します。セキュリティ上の問題は、公開イシューではなく、GitHub の
非公開の脆弱性報告機能から非公開で報告してください。
ライセンスと作者
コードは Apache-2.0、ドキュメントは CC BY 4.0、サンプル vault のコンテンツは CC0 です。作成者および メンテナーは Sarmad です。引用情報については CITATION.cffを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。