context-first-mcp について
context-first-mcpは、複数ターンにわたるAIエージェントのコンテキスト、永続メモリー、推論、真実性の追跡を支援するMCPサーバーです。`context_loop`で複数のチェックを指示にまとめ、研究やファイル出力のツールも提供します。
主な機能
- 01`context_loop`によるコンテキストチェックの統合
- 02逸脱・矛盾・曖昧さ・実行上のずれの検出
- 03永続メモリーの保存・呼び出し・整理
- 04推論と真実性のチェック
- 05研究の調整とファイルのディスク出力
活用シーン
- 01長い会話でエージェントの当初の目的を再確認
- 02矛盾の検出と不明確な要件の確認
- 03タスクをまたいだ知見の保存と取得
- 04構造化された研究フローを実行して成果を保存
MCP 対応
`context_loop`オーケストレーターを含む37個のツールをMCPクライアントに提供します。ローカルのstdio接続とリモートのStreamable HTTPエンドポイントに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| check | enum | いいえ | 上書き:指定したチェックを実行します。省略した場合は、パラメーターに基づいて自動選択されます。clear_state は get_state とパラメーターを共有するため、この上書きで区別してください。recap | conflict | ambiguity | verify | entropy | abstention | grounding | drift | depth | get_state | set_state | clear_state | history |
| params | object | いいえ | 基盤となるツールのパラメーター(sessionId を除く)。複数のツールに一致するパラメーターがある場合、複数のチェックを実行します。recap:{messages[], lookbackTurns?};conflict:{newMessage};ambiguity:{requirement, context?};verify:{goal, output, expectedIndicators?};entropy:{outputs[], threshold?, autoReset?};abstention:{claim, requiredKeys[], threshold?};grounding:{assistantOutput, claim?};drift:{windowSize, turn?, health?, breakdown?};depth:{content, minDepthWords?, minDepthSentences?};get_state:{keys?};set_state:{key, value, source?};clear_state:(check の上書きを使用);history:{maxTokens} |
| sessionId | string | いいえ | セッション識別子 |
詳細
Context-First MCP
あらゆるターンで、AI の文脈を正確かつ一貫性のある状態に保ち、誠実な応答を支える MCP サーバーです。
npx context-first-mcp
Claude Desktop · Cursor · VS Code · あらゆる MCP クライアント · Vercel リモートで即座に利用できます。API キーは不要です。
7 層にわたる、研究に裏付けられた 37 個のツール — コンテキストの健全性、状態、サンドボックス化、永続メモリ、高度な推論、真実性の検証、オーケストレーション、構造化リサーチ、自律的なファイルエクスポートに対応します。
context_loopを 1 回呼び出すだけで、個別のツール 6~7 個を置き換え、統一されたアクション指示を返します。
AI との会話が破綻する理由
長い AI との会話は、予測可能な形で失敗します。Context-First は、次の 4 つすべてに対処します。
| 失敗の種類 | 問題の内容 | Context-First による解決策 |
|---|---|---|
| コンテキストのドリフト | 会話が長くなるにつれて、AI が以前の決定や意図を忘れてしまいます | context_loop と detect_drift が各ターンで継続的に再確認します |
| 気付かれない矛盾 | 新しい入力が確立済みの事実をひそかに上書きし、AI がそれに気付きません | detect_conflicts がすべての入力をロック済みの正解データと照合します |
| 曖昧な実行 | 要件が十分に明確でないまま AI が処理を進め、意図とずれた出力を生成します | check_ambiguity と abstention_check が推測する代わりに、確認の質問をします |
| 成功の幻覚 | ツールの出力は成功したように見えても、実際には目標を達成していません | verify_execution が結果が明示された意図と一致しているかを再確認します |
利用できる機能
本番環境ですぐに使える 37 個のツールを 7 層に分類。さらに、すべてを実行するオーケストレーターが 1 つあります。
context_loop ─────────────────────────────────────────────────────────────────
├─ Layer 1 · Context Health (9 tools) recap, conflict, ambiguity, depth …
├─ Layer 2 · Sandbox (3 tools) discover_tools, quarantine, merge
├─ Layer 3 · Persistent Memory(6 tools) store, recall, compact, graph …
├─ Layer 4 · Advanced Reasoning(5 tools) InftyThink, Coconut, KAG, MindEvo …
├─ Layer 5 · Truthfulness (7 tools) NCB, IOE, verify_first, self_critique…
└─ State + Research Pipeline + Export (7 tools)
1 回の呼び出し。1 つの指示。1 つのスコア。
{
"directive": {
"action": "clarify",
"contextHealth": 0.62,
"instruction": "Resolve with the user: (1) Is this a firm requirement? (2) Which framework?",
"autoExtractedFacts": { "deploy_to": "Vercel" },
"suggestedNextTools": ["verify_execution", "quarantine_context"]
}
}
クイックスタート
npx — インストール不要
npx context-first-mcp
Claude Desktop
{
"mcpServers": {
"context-first": {
"command": "npx",
"args": ["-y", "context-first-mcp"]
}
}
}
Cursor / VS Code
{
"mcp": {
"servers": {
"context-first": {
"command": "npx",
"args": ["-y", "context-first-mcp"]
}
}
}
}
リモート(Streamable HTTP)
{
"mcpServers": {
"context-first": {
"url": "https://context-first-mcp.vercel.app/api/mcp"
}
}
}
Vercel インスタンスを独自にデプロイする
ツールリファレンス
レイヤー 1:コアコンテキストの健全性(9 個のツール)
| ツール | 目的 |
|---|---|
context_loop | 1 回呼び出しのオーケストレーター。 8 つの段階(ingest→recap→conflict→ambiguity→entropy→abstention→discovery→synthesis)を実行し、action、contextHealth スコア、抽出した事実、推奨される次のツールを含む単一の directive を返します |
recap_conversation | 隠れた意図や重要な決定を抽出し、統合された状態の要約を作成します |
detect_conflicts | 新しい入力を正解データと照合し、矛盾を明らかにします |
check_ambiguity | 要件の不足している点を特定し、確認の質問を生成します |
verify_execution | ツールの出力が実際に明示された目標を達成したか検証します |
entropy_monitor | 語彙の多様性、矛盾の密度、ヘッジ表現の頻度、n-gram の反復(ERGO)を通じて、エントロピーの代理スコアを算出します |
abstention_check | 5 つの次元で信頼度を評価し、幻覚を起こす代わりに質問をして回答を保留します(RLAAR) |
detect_drift | 会話が元の意図から逸脱していないか検出します |
check_depth | 質問の複雑さに照らして、回答の深さを評価します |
レイヤー 1b:状態管理(4 ツール)
| ツール | 目的 |
|---|---|
get_state | 確認済みの事実とタスクのステータスを取得します |
set_state | 確定した事実を固定します。以降の競合チェックでは、これらの値と照合します |
clear_state | 指定したキー、またはすべての状態をリセットします |
get_history_summary | 意図の注釈を付けた、圧縮済みの会話履歴です |
レイヤー 2:サンドボックスと探索(3 ツール)
| ツール | 手法 | 目的 |
|---|---|---|
discover_tools | MCP-Zero + ScaleMCP | 自然言語によるツールのルーティングです。意味的に関連するツールのみを返し、コンテキストの肥大化を最大 98%抑制します |
quarantine_context | Multi-Agent Quarantine | サブタスク用に隔離されたメモリの領域を作成し、意図の希薄化を防ぎます |
merge_quarantine | Multi-Agent Quarantine | ノイズをフィルタリングしながら領域の結果を統合します。昇格されたキーのみがメインコンテキストに戻ります |
レイヤー 3:永続メモリ(6 ツール)
| ツール | 目的 |
|---|---|
memory_store | メタデータとともに、調査結果、判断、中間結果を保存します |
memory_recall | 意味的なクエリに基づき、関連するメモリを取得します |
memory_compact | メモリエントリを圧縮し、統合します |
memory_graph | 保存されたメモリからナレッジグラフを構築して照会します |
memory_inspect | メモリストアの内容と統計情報を確認します |
memory_curate | メモリエントリの重複を排除し、整理します |
レイヤー 4:高度な推論(5 ツール)
| ツール | 手法 | 目的 |
|---|---|---|
inftythink_reason | InftyThink | 適応的な停止機能を備えた、無限深度の推論です |
coconut_reason | Coconut | 潜在空間における、連続思考の連鎖です |
extracot_compress | ExtraCoT | 推論の忠実性を維持しながら、思考の連鎖を圧縮します |
mindevolution_solve | MindEvolution | 解空間における進化的探索です |
kagthinker_solve | KAG-Thinker | 構造化された思考による、知識拡張生成です |
レイヤー 5:真実性と検証(7 ツール)
| ツール | 目的 |
|---|---|
probe_internal_state | 言い換えたプロンプト間で、モデルの一貫性を調べます |
detect_truth_direction | モデルの推論が真実に近づいているか、遠ざかっているかを検出します |
ncb_check | 意味的に同等な入力間で、一貫性をチェックします |
check_logical_consistency | 推論の連鎖における論理的な一貫性を検証します |
verify_first | 主張を確定する前に、事前検証を行います |
ioe_self_correct | 内在的・外在的な自己修正を行います |
self_critique | 改善案を提示する、構造化された自己批評です |
調査パイプラインとエクスポート(2 ツール)
| ツール | 目的 |
|---|---|
research_pipeline | init → gather → analyze → verify → finalize の各段階に沿って、調査を構造化して統括します。状態管理、サンドボックス化、メモリ、推論、真実性、コンテキストの健全性に関する、基盤となる 34 個のツール相当機能をすべて網羅します。パイプラインの実行中に、ファイルを自律的にディスクへ書き込みます。ファイル出力に LLM の協力は不要です。 |
export_research_files | 検証済みのレポートの各チャンク、および/または生のエビデンスの各バッチを、1 回の呼び出しでディスクに書き込みます。 |
査読済み研究に基づく実装
すべての中核アルゴリズムは、公開済みの論文に基づいています。
| アルゴリズム | 論文 | arXiv | ツール |
|---|---|---|---|
| MCP-Zero | アクティブなツールリクエスト | 2506.01056 | discover_tools |
| ScaleMCP | セマンティックなツールグルーピング | 2505.06416 | discover_tools レジストリ |
| ERGO | エントロピーベースの品質評価 | 2510.14077 | entropy_monitor |
| RLAAR | キャリブレーション済みの回答保留 | 2510.18731 | abstention_check |
実装の主な特長:
- プロキシエントロピー(ERGO): アクセスできないトークンレベルの対数確率を、応答レベルの4つのプロキシシグナル(語彙の多様性、矛盾の密度、ヘッジ語の頻度、n-gramの反復)で置き換えます。複合スコアがしきい値を超えると、適応的なコンテキストリセットが実行されます。
- TF-IDFによる検出(MCP-Zero): TypeScriptのみで実装され、外部依存関係はありません。起動時にすべてのツールの説明をインデックス化し、コサイン類似度を使ってクエリを関連性の高い上位k個のツールのみに振り分けます。
- 推論時の回答保留(RLAAR): RLトレーニングループを、5次元の信頼度スコアリングで置き換えます。信頼度がしきい値を下回ると、対象を絞った質問をして回答を保留します。幻覚による代替回答はありません。
エクスポートヘルパー(1ツール)
| ツール | 説明 |
|---|---|
export_research_files | 研究成果物をディスクに直接書き込みます。LLMに手動で finalize を繰り返させることなく、検証済みのレポートの各チャンクを自動的に展開して書き込めます。また、verify に合格していない場合でも、収集した生のエビデンスの各バッチを書き込めます。 |
context_loop パイプライン
context_loop (single MCP tool call)
├── Stage 1: INGEST — Store messages to session history
├── Stage 2: RECAP — Extract intents, decisions, summaries
├── Stage 3: CONFLICT — Detect contradictions against ground truth
├── Stage 4: AMBIGUITY — Check for underspecified requirements
├── Stage 5: ENTROPY — Monitor output quality degradation (ERGO)
├── Stage 6: ABSTENTION — Multi-dimensional confidence check (RLAAR)
├── Stage 7: DISCOVERY — Suggest relevant next tools (MCP-Zero)
└── Stage 8: SYNTHESIS — Combine signals → action recommendation + LLM directive
統合の優先順位: abstain > reset > clarify > proceed
各ステージは独立してエラーを分離して実行されるため、あるステージの失敗が他のステージを妨げることはありません。結果には、可観測性を確保するため、ステージごとの実行時間、ステータス、詳細な結果が含まれます。
LLM ディレクティブ(新機能)
context_loop の応答には、LLMでの利用を想定したトップレベルの directive オブジェクトが含まれます。これは、ネストされたステージ結果を解析する必要性に代わる、簡潔で実行可能な指示です。
{
"directive": {
"action": "clarify",
"instruction": "Before proceeding, resolve these issues with the user:\n1. Could you specify exactly what you mean?\n2. Is this a firm requirement or still open for discussion?",
"questions": ["Could you specify exactly what you mean?", "Is this a firm requirement?"],
"contextHealth": 0.62,
"autoExtractedFacts": { "framework": "React", "deploy_to": "Vercel" },
"suggestedNextTools": ["verify_execution", "quarantine_context"]
}
}
context_loop の仕組み
context_loop (single MCP tool call)
├── Stage 1: INGEST — Store messages to session history
├── Stage 2: RECAP — Extract intents, decisions, summaries
├── Stage 3: CONFLICT — Detect contradictions against ground truth
├── Stage 4: AMBIGUITY — Check for underspecified requirements
├── Stage 5: ENTROPY — Monitor output quality degradation (ERGO)
├── Stage 6: ABSTENTION — Multi-dimensional confidence check (RLAAR)
├── Stage 7: DISCOVERY — Suggest relevant next tools (MCP-Zero)
└── Stage 8: SYNTHESIS — Combine signals → action + directive
統合の優先順位: abstain > reset > clarify > proceed
各ステージは独立してエラーを分離して実行されます。応答の directive フィールドには、LLMが必要とする情報がすべて含まれています。
| フィールド | 説明 |
|---|---|
action | proceed · clarify · reset · abstain |
instruction | LLMの次のステップに関する平易な言葉でのガイダンス |
questions | 集約された確認質問(曖昧さ+回答保留+競合) |
contextHealth | 0~1の複合スコア。1 = 健全、0 = 劣化 |
autoExtractedFacts | ユーザーメッセージから自動抽出され、正解情報として保存されたキーと値の事実 |
suggestedNextTools | 次に検討すべき関連ツール |
スマートデフォルト: currentInput は最後のユーザーメッセージから自動推定されます。「Reactを使用する」といった事実は自動的に抽出され、保存されます。
使用プロトコル:Context-First を最大限に活用する
最大の間違い: LLMが
context_loopを任意のものとして扱うことです。任意ではありません。これは基盤となる仕組みです。
組み込みの適用機能(v1.2.1以降)
サーバーには、設定不要のコンプライアンス機構が4つ組み込まれています。
- サーバーの指示 —
ServerOptions.instructionsを介して、MCPハンドシェイク時に使用プロトコル全体を注入します - ブートストラップゲート — 最初の
context_loop以外の呼び出しに、強力なリダイレクトのリマインダーを追加します - ツール間のリマインダー —
context_loopを呼び出さずに3回連続で呼び出すと、ツールの応答にリマインダーが表示されます - MCPプロンプト —
context-first-protocolとresearch-protocolのプロンプトテンプレートを、必要に応じて利用できます
システムプロンプトで補強する(任意)
When using Context-First MCP:
1. Call context_loop BEFORE any complex task
2. Call context_loop every 2–3 tool calls
3. Call context_loop AFTER generating long-form output
4. ALWAYS follow directive.action (proceed/clarify/reset/abstain/deepen/verify)
5. Use memory_store to save findings; memory_recall to retrieve them
リサーチタスクのワークフロー
research_pipeline は、メモリ、フェーズ制御、推論、自律的なファイル書き込みを統合します。これはウェブクローラーではありません。ウェブ検索、GitHub、取得ツール、PDF、その他の MCP から、ソースを自由に用意してください。
Phase 1 · Init research_pipeline(init) → sets up state, enables autonomous file writing
Phase 2 · Gather ONE web search → research_pipeline(gather) → file written to disk → repeat
Phase 3 · Analyze research_pipeline(analyze) → reasoning engines produce clean analysis file
Phase 4 · Verify research_pipeline(verify) → context health gate (non-blocking)
Phase 5 · Finalize research_pipeline(finalize) → synthesis.md + all batch files on disk
Automation shortcut:
export_research_files(outputDir, exportVerifiedReport=true) → write all report chunks
export_research_files(outputDir, exportRawEvidence=true) → write all evidence batches
自律的なファイル書き込みは常に有効です。 ファイルはデフォルトで ./context-first-research-output/ に書き込まれ、LLM の協力は必要ありません。変更するには outputDir を渡してください。
アーキテクチャ
┌──────────────────────────────────────────────────────────────┐
│ @xjtlumedia/context-first-mcp-server │
│ (Core — shared logic) │
│ │
│ Layer 1: Context Health (9 tools) │
│ Layer 2: Sandbox (3 tools) │
│ Layer 3: Persistent Memory (6 tools) │
│ Layer 4: Advanced Reasoning(5 tools) │
│ Layer 5: Truthfulness (7 tools) │
│ State (4) · Orchestrator · Pipeline · Export │
└──────────────┬───────────────────────┬──────────────────────┘
│ │
┌──────▼──────┐ ┌──────▼────────┐
│ stdio-server │ │ remote-server │
│ (npx local) │ │ (Vercel) │
│ stdio │ │ Streamable │
│ 37 tools │ │ HTTP │
└──────────────┘ │ 37 tools │
└───────────────┘
- コアライブラリ(
@xjtlumedia/context-first-mcp-server):すべてのツール実装です。外部 API キーは不要で、デフォルトではヒューリスティックに基づいて動作します。 - stdio-server(
context-first-mcp):npxのエントリーポイント、stdio トランスポート、37 個のツールです。 - remote-server:Vercel のサーバーレス、Streamable HTTP トランスポート、37 個のツールです。
フロントエンドデモ
context-first-mcp.vercel.app で、ブラウザーから 37 個すべてのツールをお試しください。
開発
git clone https://github.com/XJTLUmedia/Context-First-MCP.git
cd Context-First-MCP
pnpm install
# Build everything
pnpm build
# Run stdio server
cd packages/stdio-server && pnpm start
# Run frontend
cd packages/frontend && pnpm dev
# Tests
pnpm test
貢献
CONTRIBUTING.md をご覧ください。
ライセンス
Context-First MCP · @xjtlumedia/context-first-mcp-server · context-first-mcp
AI が話の筋を見失うのを見続けることにうんざりした、すべての開発者のために。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。