🚀 Athena Protocol MCP Server: コンテキストオーケストレーションプロトコル の先駆け

このインテリジェントなMCPサーバーは、コーディングエージェントに対するAI技術リードとして機能します。コード変更前に専門的な検証、影響分析、戦略的なガイダンスを提供します。シニアエンジニアがアプローチをレビューするように、Athena ProtocolはAIエージェントが早期に重大な問題を発見し、実際のコードベースに対して仮定を検証し、問題解決戦略を最適化するのを支援します。結果として、高品質なコード、少ないリグレッション、より慎重なアーキテクチャ決定が得られます。
主な特徴: analysisTargetsによる高精度なファイル分析 - ターゲットを絞ったコード分析により、トークンを70 - 85%削減し、パフォーマンスを3 - 4倍向上させます。詳細は拡張ファイル分析(新機能)を参照してください。
コンテキストオーケストレーションプロトコル: AI支援開発の未来
LLMが非常に洗練されたコンテキストで動作し、推測を排除し、エラーを80%削減し、熟練したアーキテクトのような精度でコードを生成する光景を想像してみてください。これにより、AIエージェントが複雑なコードベースを理解し、強化する方法が変革されます。
🚀 クイックスタート
以下の目次を参考に、Athena Protocol MCP Serverの使い方や設定方法を確認できます。
目次
- セキュリティ
- 背景
- インストール
- 使い方
- API
- コントリビュート
- ライセンス
セキュリティ
このサーバーは複数のLLMプロバイダーのAPIキーを扱います。.envファイルを適切に保護し、バージョン管理システムにコミットしないようにしてください。サーバーは起動時にすべてのAPIキーを検証し、設定問題に関する詳細なエラーメッセージを提供します。
背景
Athena Protocol MCP Serverは、AIコーディングエージェントに対して体系的な思考検証を提供します。14のLLMプロバイダーをサポートし、思考検証、影響分析、仮定チェック、依存関係マッピング、思考最適化などのさまざまな検証ツールを提供します。
主な特徴:
- スマートクライアントモード での高精度なコード分析(トークンを70 - 85%削減)
- ハードコードされたデフォルト値のない環境駆動型の設定
- 自動フォールバック機能を備えた複数プロバイダーのLLMサポート(14プロバイダー)
- 複数のモード(フル、先頭、末尾、範囲)による拡張ファイル読み取り
- パフォーマンスを3 - 4倍向上させる並列ファイル操作
- セッションベースの検証履歴とメモリ管理
- 包括的な設定検証とヘルスモニタリング
- 効率的な検証ワークフローのためのデュアルエージェントアーキテクチャ
📦 インストール
このモジュールはNode.jsとnpmの知識を前提としています。
npm install
npm run build
前提条件
設定
Athena Protocolは100%環境駆動型の設定を使用しており、ハードコードされたプロバイダー値やデフォルト値はありません。すべての設定を.envファイルを通じて行ってください。
- サンプル設定をコピーする:
cp .env.example .env
-
.envを編集し、プロバイダーを設定する:
DEFAULT_LLM_PROVIDERを設定します(例: openai, anthropic, google)
- 選択したプロバイダーのAPIキーを追加します
- モデルとパラメータを設定します(オプション)
-
検証とテスト:
npm install
npm run build
npm run validate-config
npm test
完全な設定オプションとサポートされている14のプロバイダーについては、.env.exampleを参照してください。
重要な設定要件
PROVIDER_SELECTION_PRIORITYは必須です - プロバイダーを優先順にリストしてください
- ハードコードされたフォールバックはありません - すべての設定は
.envに明示的に記述する必要があります
- 即時失敗検証 - 無効な設定は起動時に即座に失敗させます
- 完全なプロバイダー設定が必要 - 各プロバイダーのAPIキー、モデル、パラメータ
サポートされているプロバイダー
Athena Protocolは14のLLMプロバイダーをサポートしています。OpenAIが一般的に使用されますが、以下のいずれかを設定することができます。
主要なクラウドプロバイダー:
- OpenAI - GPT - 5(思考機能付き)、GPT - 4o、GPT - 4 - turbo
- Anthropic - Claude Opus 4.1、Claude Sonnet 4.5、Claude Haiku 4.5
- Google - Gemini 2.5(Flash/Pro/Ultra)
- Azure OpenAI - エンタープライズグレードのGPTモデル
- AWS Bedrock - Claude、Llamaなど
- Google Vertex AI - エンタープライズ機能付きのGemini
特殊なプロバイダー:
- OpenRouter - 400以上のモデルにアクセス
- Groq - 超高速推論
- Mistral AI - オープンソースモデル
- Perplexity - 検索強化モデル
- XAI - Grokモデル
- Qwen - アリババの高性能LLM
- ZAI - GLMモデル
ローカル/セルフホスト:
クイック切り替えの例:
ANTHROPIC_API_KEY=sk-ant-your-key-here
DEFAULT_LLM_PROVIDER=anthropic
npm run build && npm start
プロバイダーの切り替え
完全なセットアップ手順については、詳細なプロバイダーガイドを参照してください。
💻 使い方
MCPクライアントの設定
詳細でテスト済みのMCPクライアント設定については、CLIENT_MCP_CONFIGURATION_EXAMPLES.mdを参照してください。
ローカルインストール(.envファイルを使用)
.envファイルを使用したローカルインストールは、引き続き完全に機能し、変更されません。単にリポジトリをクローンして実行してください。
npm install
npm run build
次に、MCPクライアントをローカルインストール先に設定します。
{
"mcpServers": {
"athena-protocol": {
"command": "node",
"args": ["/absolute/path/to/athena-protocol/dist/index.js"],
"type": "stdio",
"timeout": 300
}
}
}
NPMインストール(MCP環境変数を使用 - 推奨)
npm/npxを使用する場合は、MCPクライアントを環境変数で設定してください。CLIENT_MCP_CONFIGURATION_EXAMPLES.mdの設定のみがテストされ、動作が保証されています。
GPT - 5の例:
{
"mcpServers": {
"athena-protocol": {
"command": "npx",
"args": ["@n0zer0d4y/athena-protocol"],
"env": {
"DEFAULT_LLM_PROVIDER": "openai",
"OPENAI_API_KEY": "your-openai-api-key-here",
"OPENAI_MODEL_DEFAULT": "gpt-5",
"OPENAI_MAX_COMPLETION_TOKENS_DEFAULT": "8192",
"OPENAI_VERBOSITY_DEFAULT": "medium",
"OPENAI_REASONING_EFFORT_DEFAULT": "high",
"LLM_TEMPERATURE_DEFAULT": "0.7",
"LLM_MAX_TOKENS_DEFAULT": "2000",
"LLM_TIMEOUT_DEFAULT": "30000"
},
"type": "stdio",
"timeout": 300
}
}
}
完全な動作設定については、CLIENT_MCP_CONFIGURATION_EXAMPLES.mdを参照してください。
設定に関する注意事項:
- NPMインストール:
npx @n0zer0d4y/athena-protocolをenvフィールドとともに使用すると、最も簡単にセットアップできます
- ローカルインストール: ローカルの
.envファイルを使用した実行は、引き続き完全に機能し、変更されません
- 環境変数の優先順位: MCPの
env変数は.envファイルの変数よりも優先されます
- GPT - 5のサポート: GPT - 5モデルに特化したパラメータが含まれています
- タイムアウト設定: デフォルトのタイムアウトは300秒(5分)で、GPT - 5のような推論モデルに設定されています。より高速なLLM(GPT - 4、Claude、Gemini)の場合は、60 - 120秒に短縮できます
- GPT - 5のパラメータに関する注意:
LLM_TEMPERATURE_DEFAULT、LLM_MAX_TOKENS_DEFAULT、LLM_TIMEOUT_DEFAULTのパラメータは、現在GPT - 5モデルに必要ですが、モデル自体は使用しません。これは一時的な制限であり、将来のリファクタリングで対応されます
- セキュリティ: APIキーをバージョン管理システムにコミットしないでください - 代わりにMCPクライアントの環境変数を使用してください
将来のリファクタリング計画
GPT - 5のパラメータ最適化
現在の問題: GPT - 5モデルは、標準のLLMパラメータ(LLM_TEMPERATURE_DEFAULT、LLM_MAX_TOKENS_DEFAULT、LLM_TIMEOUT_DEFAULT)を必要としますが、これらのパラメータはモデルによって使用されません。
計画されている解決策:
getTemperature()関数を修正して、GPT - 5以上のモデルに対してハードコードされたデフォルト値ではなくundefinedを返すようにする
- AIプロバイダーインターフェースを更新して、
undefinedの温度値を処理できるようにする
- GPT - 5以上のモデルに対して標準パラメータをスキップする条件付きパラメータ検証を実装する
- OpenAIプロバイダーを更新して、GPT - 5 APIと通信する際に使用されないパラメータを省略する
メリット:
- GPT - 5ユーザーの設定が簡素化される
- モデルの機能がより正確に表現される
- OpenAIのGPT - 5 API仕様により適合する
予定: v0.3.0での実装を目指しています。
サーバーモード
MCPサーバーモード(本番環境での使用)
npm start
npm run dev
npx @n0zer0d4y/athena-protocol
スタンドアロンモード(テスト用)
npm run start:standalone
npm run dev:standalone
設定ツール
npm run validate-config
node dist/index.js
主な特徴
複数プロバイダーのLLMサポート
Athena Protocolは、以下を含む14のプロバイダーをサポートしています。
- クラウドプロバイダー: OpenAI、Anthropic、Google、Azure OpenAI、AWS Bedrock、Vertex AI
- 特殊なプロバイダー: OpenRouter(400以上のモデル)、Groq、Mistral、Perplexity、XAI、Qwen
- ローカル/セルフホスト: Ollama、ZAI
すべてのプロバイダーはAPIキーを必要とします(ローカルモデルのOllamaを除く)。設定については、設定セクションを参照してください。
インテリジェントな思考検証
- 集中的な検証: 合理化された通信により、推論の重要な側面を検証します
- デュアルエージェントアーキテクチャ: 主要エージェントと検証エージェントが協力して動作します
- 信頼度スコア: 意思決定を支援するための明示的な信頼度レベル
- ループ防止: 各タスクにつき最大3回のやり取りで、分析麻痺を防止します
体系的なアプローチ
- 必要な情報のみ共有: 効果的な検証に必要な情報のみを共有します
- 実行可能な出力: すぐに適用できる明確で具体的な推奨事項
- 段階的な改良: 広い範囲から始め、必要なときにのみ詳細に入ります
- セッション管理: 複数の試行にわたって永続的な検証セッションを維持します
デュアルモード動作
- MCPサーバーモード: MCPクライアント(Claude Desktop、Clineなど)との完全な統合
- スタンドアロンモード: MCPクライアントなしでの独立したテストと検証
📚 API
Athena Protocol MCP Serverは、思考検証と分析のための以下のツールを提供します。
thinking_validation
主要エージェントの思考プロセスを、集中的で重要な情報で検証します。
必須パラメータ:
thinking (文字列): アプローチと推論の簡単な説明
proposedChange (オブジェクト): 提案された変更の詳細
description (文字列、必須): 変更される内容
code (文字列、オプション): 実際のコード変更
files (配列、オプション): 影響を受けるファイル
context (オブジェクト): 検証のコンテキスト
problem (文字列、必須): 簡単な問題の説明
techStack (文字列、必須): テクノロジースタック(react|node|pythonなど)
constraints (配列、オプション): 重要な制約条件
urgency (文字列): 緊急度レベル(low, medium, または high)
projectContext (オブジェクト): ファイル分析のためのプロジェクトコンテキスト
projectRoot (文字列、必須): プロジェクトルートの絶対パス
workingDirectory (文字列、オプション): 現在の作業ディレクトリ
analysisTargets (配列、必須): ターゲットを絞った読み取りを行う特定のコードセクション
file (文字列、必須): ファイルパス(相対または絶対)
mode (文字列、オプション): 読み取りモード - full, head, tail, または range
lines (数値、オプション): 行数(head/tailモードの場合)
startLine (数値、オプション): 開始行番号(rangeモードの場合、1から始まるインデックス)
endLine (数値、オプション): 終了行番号(rangeモードの場合、1から始まるインデックス)
priority (文字列、オプション): 分析の優先度 - critical, important, または supplementary
projectBackground (文字列): 幻覚を防止するための簡単なプロジェクト説明
オプションパラメータ:
sessionId (文字列): コンテキストを保持するためのセッションID
provider (文字列): LLMプロバイダーの上書き(openai, anthropic, googleなど)
出力:
信頼度スコア、重大な問題、推奨事項、テストケースを含む検証結果を返します。
impact_analysis
提案された変更の主要な影響をすばやく特定します。
必須パラメータ:
change (オブジェクト): 変更の詳細
description (文字列、必須): 変更される内容
code (文字列、オプション): コード変更
files (配列、オプション): 影響を受けるファイル
projectContext (オブジェクト): プロジェクトコンテキスト(thinking_validationと同じ構造)
projectRoot (文字列、必須)
analysisTargets (配列、必須): 読み取りモードで分析するファイル
workingDirectory (オプション)
projectBackground (文字列): 簡単なプロジェクト説明
オプションパラメータ:
systemContext (オブジェクト): システムアーキテクチャのコンテキスト
architecture (文字列): 簡単なアーキテクチャの説明
keyDependencies (配列): 主要なシステム依存関係
sessionId (文字列): コンテキストを保持するためのセッションID
provider (文字列): LLMプロバイダーの上書き
出力:
全体的なリスク評価、影響を受ける領域、連鎖的なリスク、実行するクイックテストを返します。
assumption_checker
過度な分析なしに主要な仮定を迅速に検証します。
必須パラメータ:
assumptions (配列): 検証する仮定の文字列のリスト
context (オブジェクト): 検証のコンテキスト
component (文字列、必須): コンポーネント名
environment (文字列、必須): 環境(production, development, staging, testing)
projectContext (オブジェクト): プロジェクトコンテキスト(thinking_validationと同じ構造)
projectRoot (文字列、必須)
analysisTargets (配列、必須): 読み取りモードで分析するファイル
projectBackground (文字列): 簡単なプロジェクト説明
オプションパラメータ:
sessionId (文字列): コンテキストを保持するためのセッションID
provider (文字列): LLMプロバイダーの上書き
出力:
有効な仮定、緩和策付きの危険な仮定、クイック検証手順を返します。
dependency_mapper
重要な依存関係を効率的に特定します。
必須パラメータ:
change (オブジェクト): 変更の詳細
description (文字列、必須): 簡単な変更の説明
files (配列、オプション): 変更されるファイル
components (配列、オプション): 変更されるコンポーネント
projectContext (オブジェクト): プロジェクトコンテキスト(thinking_validationと同じ構造)
projectRoot (文字列、必須)
analysisTargets (配列、必須): 読み取りモードで分析するファイル
projectBackground (文字列): 簡単なプロジェクト説明
オプションパラメータ:
sessionId (文字列): コンテキストを保持するためのセッションID
provider (文字列): LLMプロバイダーの上書き
出力:
重要な依存関係と二次的な依存関係、影響分析、テストの焦点領域を返します。
thinking_optimizer
問題の種類に基づいて思考アプローチを最適化します。
必須パラメータ:
problemType (文字列): 問題の種類 (bug_fix, feature_impl, または refactor)
complexity (文字列): 複雑度レベル (simple, moderate, または complex)
timeConstraint (文字列): 時間制約 (tight, moderate, または flexible)
currentApproach (文字列): 現在の思考の簡単な説明
projectContext (オブジェクト): プロジェクトコンテキスト(thinking_validationと同じ構造)
projectRoot (文字列、必須)
analysisTargets (配列、必須): 読み取りモードで分析するファイル
projectBackground (文字列): 簡単なプロジェクト説明
オプションパラメータ:
sessionId (文字列): コンテキストを保持するためのセッションID
provider (文字列): LLMプロバイダーの上書き
出力:
以下を含む包括的な最適化戦略を返します。
- optimizedStrategy: 推奨されるアプローチ、使用するツール、時間配分の内訳、成功確率、重要な焦点領域
- tacticalPlan: 問題分類、grep検索戦略、重要な発見の仮説、決定ポイント、段階的な実装計画、テスト戦略、リスク緩和、進捗チェックポイント、価値/努力評価を含む詳細な実装ガイダンス
- metadata: 使用されたプロバイダーとファイル分析のメトリクス
athena_health_check
Athena Protocolサーバーのヘルスステータスと設定を確認します。
パラメータ: なし
出力:
デフォルトのプロバイダー、有効なAPIキーを持つアクティブなプロバイダーのリスト、設定ステータス、システムのヘルス情報を返します。
session_management
思考検証セッションを管理して、コンテキストを保持し、進捗を追跡します。
必須パラメータ:
action (文字列): セッションアクション - create, get, update, list, または delete
オプションパラメータ:
sessionId (文字列): セッションID(get, update, deleteアクションの場合必須)
tags (配列): セッションを分類するためのタグ
title (文字列): セッションのタイトル/説明(create/updateの場合)
出力:
アクションに応じて、セッション情報またはセッションのリストを返します。
拡張ファイル分析(新機能)
すべてのツールがanalysisTargetsを使用したスマートクライアントモードをサポートするようになりました。
メリット:
- 70 - 85%のトークン削減: 関連するコードセクションのみを読み取ることで、トークンを大幅に削減します
- 3 - 4倍の高速化: 並列ファイル読み取りにより、パフォーマンスを向上させます
- モードベースの読み取り: フル、先頭(最初のN行)、末尾(最後のN行)、範囲(X - Y行)
- 優先度処理: 重要度の高いものから順に処理されます
例:
{
"projectContext": {
"projectRoot": "/path/to/project",
"analysisTargets": [
{
"file": "src/auth.ts",
"mode": "range",
"startLine": 45,
"endLine": 78,
"priority": "critical"
},
{
"file": "src/config.ts",
"mode": "head",
"lines": 20,
"priority": "supplementary"
}
]
}
}
注意: すべてのツールはファイル分析にanalysisTargetsを必要とします。適切な読み取りモード(full, head, tail, または range)で少なくとも1つのファイルを指定してください。
重要な注意事項
メモリシステムの状態
永続的なメモリシステム (thinking-memory.json) は現在レビュー中で、リファクタリングが待機中です。機能していますが、以下の点に注意してください。
- プロジェクトルートディレクトリにメモリファイルを作成します
- セッションをまたいで検証履歴を保持します
- テスト/開発中に手動でクリーンアップする必要がある場合があります
計画されている改善点:
- ストレージを
.gitignoreで除外されたディレクトリ(例: athena-memory/)に移動する
- 自動クリーンアップメカニズムを追加する
- セッション管理を強化する
- ファイルパスの処理を改善する
本番環境での使用については、リファクタリングが完了するまでこの機能を実験的なものとして扱ってください。
設定方法
Athena Protocolは、明確な優先順位で2つの設定方法をサポートしています。
- MCPクライアントの環境変数(最も高い優先度 - npmインストールに推奨)
- ローカルの.envファイル(フォールバック - ローカル開発用)
- システム環境変数(最も低い優先度)
npmで公開されたバージョンを使用する場合は、すべての設定をMCPクライアントのenvフィールドに直接設定してください。ローカル開発の場合は、引き続き.envファイルを使用してください。
プロバイダーのテスト状況
Athena Protocolは14のLLMプロバイダーをサポートしていますが、以下のプロバイダーのみが十分にテストされています。
- OpenAI
- Google
- ZAI
- Mistral
- OpenRouter
- Groq
その他のプロバイダー(Anthropic、Qwen、XAI、Perplexity、Ollama、Azure、Bedrock、Vertex)は設定されており、動作するはずですが、十分にテストされていません。いずれかのプロバイダーで問題が発生した場合は、以下の情報を添えてissueを作成してください。
- プロバイダー名とモデル
- エラーメッセージまたは予期しない動作
- あなたのMCP設定または
.env設定(APIキーは伏せてください)
コントリビュート
このサーバーはLLMコーディングエージェント向けに設計されています。コントリビューションは以下の点に焦点を当てるべきです。
- 新しいLLMプロバイダーの追加
- 検証の有効性の向上
- コンテキスト認識の強化
- 検証の範囲の拡大
- メモリ管理の最適化
- 新しい検証戦略の追加
📄 ライセンス
MITライセンス - 詳細はLICENSEファイルを参照してください。