Aurai Advisor (上级顾问 MCP)
上級アドバイザー MCP(Aurai Advisor)
ローカルAIが複雑なプログラミング問題に直面した際、リモートの大規模言語モデルに相談を継続するためのMCPサービス。
現在のリポジトリは「長期利用可能」なバージョンに対応しており、以下の重要な機能が実装されています:
マルチターン相談と進捗報告
sync_contextファイル同期コード/設定ファイルの自動テキスト変換・アップロード
セッション分離(
session_id)履歴の永続化、ファイルロック、アトミック書き込み
履歴の自動要約
コンテキストウィンドウのトリミング
今回の更新内容
今回のメインライン更新では、主に以下の点を強化しました:
履歴をクリアした後に再起動すると「復活」してしまう問題を修正
session_idによるセッション分離を追加し、異なる問題間でコンテキストが混ざるのを防止AURAI_TEMPERATURE、AURAI_MAX_ITERATIONS、AURAI_LOG_LEVELなどの設定を実際に反映project_infoや補足回答などのコンテキストを上級アドバイザーに確実に送信履歴ファイルのロックとアトミック書き込みを追加し、同時書き込みによる履歴破損のリスクを低減
履歴の自動要約を追加し、長時間のセッションでも肥大化を防止
コンテキストウィンドウのトリミングを追加し、
AURAI_CONTEXT_WINDOWが実際に機能するように変更sync_contextがコードや設定などのテキストファイルを自動的に送信可能なテキストに変換する機能をサポート(手動で.txtにコピーする必要は不要)README、インストールガイド、ユーザーマニュアルを書き直し、インストール手順をより目立つ位置に配置
初めてこのリポジトリに触れる方は、以下の2点が最も重要です:
下記の「インストール手順」を確認する
コードファイルは直接
sync_contextに渡すことができる
用途
このMCPは、Claude Codeやstdio方式をサポートする他のMCPクライアントでの使用に適しています。
典型的なシナリオ:
ローカルAIが試行錯誤したが、問題が解決しない場合
エラーログ、コード、ドキュメント、設定をまとめて「上級アドバイザー」に渡したい場合
複雑な調査を「質問 -> 実行 -> 報告 -> 次のステップ」というマルチターンのプロセスにしたい場合
機能概要
consult_aurai主要な相談ツール。問題、コードスニペット、コンテキスト、試行済みの解決策を提出し、上級アドバイザーの分析と次のステップの提案を取得します。sync_contextコードとドキュメントのコンテキストを同期します。.txt/.mdだけでなく、.py/.js/.ts/.json/.yaml/.toml/.iniなどのテキストファイルを自動的に送信可能なテキスト形式に変換します。report_progress実行結果を上級アドバイザーに報告し、次のイテレーションに進みます。get_status現在のセッション状態、履歴数、モデルおよび履歴ファイルのパスを確認します。
インストール手順
詳細なインストール手順は以下を参照してください:
ここでは、最も一般的なインストールフローを記載します。
1. 環境準備
# 需要 Python 3.10+
python --version
# 进入仓库目录
cd G:\codex\mcp-aurai-server2. 仮想環境の作成と依存関係のインストール
python -m venv venv
venv\Scripts\activate
pip install -e ".[all-dev]"3. Claude Code への MCP 登録
claude mcp add --scope user --transport stdio aurai-advisor ^
--env AURAI_API_KEY="your-api-key" ^
--env AURAI_BASE_URL="https://api.example.com/v1" ^
--env AURAI_MODEL="gpt-4o" ^
-- "G:\codex\mcp-aurai-server\venv\Scripts\python.exe" "-m" "mcp_aurai.server"説明:
AURAI_BASE_URLはOpenAI互換のAPIアドレスである必要があります現在のバージョンでは
custom方式のみを保持し、古いAURAI_PROVIDERは使用しません--scope userはすべてのプロジェクトで使用可能にすることを意味し、最も手間がかかりません
4. インストールの検証
claude mcp list
pytest期待される結果:
claude mcp listでaurai-advisorが表示されるpytestが通過する
クイックスタート
シナリオ 1:直接質問する
consult_aurai(
problem_type="runtime_error",
error_message="启动时报 KeyError: api_key",
code_snippet="config = load_config()\napi_key = config['api_key']",
context={
"file_path": "src/config.py",
"terminal_output": "Traceback ...",
}
)シナリオ 2:先にコードファイルをアップロードしてから質問する
sync_context(
operation="incremental",
files=["src/main.py", "config/settings.json", "README.md"],
project_info={
"project_name": "My Project",
"tech_stack": "Python + FastAPI"
}
)
consult_aurai(
problem_type="runtime_error",
error_message="请结合已同步文件帮我排查启动失败"
)注意:
main.pyを手動でmain.txtにコピーする必要はありませんテキストコードファイルは自動的にテキストとして送信されます
バイナリファイルはスキップされます
シナリオ 3:複数の問題を並行して扱う(セッション分離)
consult_aurai(
problem_type="runtime_error",
error_message="问题 A",
session_id="issue-a"
)
consult_aurai(
problem_type="design_issue",
error_message="问题 B",
session_id="issue-b"
)これにより、異なる問題間でコンテキストが混ざるのを防げます。
sync_context ファイルアップロードルール
直接送信されるもの
.md、.markdown、.mdx.txt各種コードおよび設定テキストファイル(例:
.py.js.ts.tsx.json.yaml.yml.toml.ini.cfg.env.java.go.rs.cpp.cs
自動変換されるもの
.txt/.mdではないが、内容がテキストであるファイル自動的に
.txtまたは.mdの送信名が生成されます内容の前に「元のファイルパス」と「自動変換後の送信名」が付記されます
スキップされるもの
画像
圧縮ファイル
音声・動画
実行ファイル
明らかなバイナリコンテンツ
ファイル群の中にコードと画像が混在している場合:
コードは通常通りアップロードされます
画像は
skipped_filesとして記録されます同期プロセス全体は成功します
環境変数
必須
変数 | 説明 |
| APIキー |
| OpenAI互換APIアドレス |
| モデル名 |
一般的なオプション
変数 | 説明 | デフォルト値 |
| 温度 |
|
| 最大イテレーション回数 |
|
| セッションごとの履歴保持上限数 |
|
| 合計コンテキストウィンドウサイズ |
|
| 単一の巨大ファイルメッセージ上限 |
|
| 最大出力長 |
|
| ログレベル |
|
| 履歴を永続化するかどうか |
|
| デフォルトのセッション履歴ファイルパス |
|
| 履歴ファイルロック待機時間(秒) |
|
| 履歴要約を有効にするかどうか |
|
| 要約後に保持する直近の元履歴数 |
|
| 要約をトリガーする元レコードの閾値 |
|
現在のバージョンの重要な挙動
1. セッション分離
各
session_idは独自の履歴を持ちます指定がない場合は
defaultが使用されます異なるセッションは異なる履歴ファイルに保存され、混ざるのを防ぎます
2. 履歴要約
古い履歴は自動的に「履歴要約」として圧縮されます
直近の数ラウンドと最新の
sync_contextは可能な限りそのまま保持されますこれによりコンテキスト消費を抑え、現在の問題のためのスペースを確保します
3. コンテキストウィンドウのトリミング
システムプロンプトを優先的に保持します
最新の
sync_contextを優先的に保持します次に、直近の履歴ラウンドを可能な限り保持します
必要に応じて今回の出力長を自動的に縮小し、合計ウィンドウサイズを超えないようにします
4. 履歴ファイルの安定性
履歴保存時にロックファイルを使用して同時書き込みによる破損を防ぎます
一時ファイルに書き込んでから置換する方式を採用し、JSONが途中で切れるのを防ぎます
テスト
pytest現在のメインラインでカバーしている重点項目:
履歴のクリアと永続化
セッション分離
自動テキスト変換アップロード
履歴ロックとアトミック書き込み
履歴要約
コンテキストウィンドウのトリミング
ドキュメント
よくある質問
なぜ上級アドバイザーがアップロードしたコードファイルを受け取れないのですか?
旧バージョンでは手動で .txt に変換する必要がありましたが、現在のバージョンではテキストファイルの自動変換をサポートしています。
それでも受け取れない場合は、以下を確認してください:
ファイルパスが存在するか
ファイルがバイナリではないか
sync_contextの戻り値にあるuploaded_files/skipped_files
なぜ異なる問題が互いに影響するのですか?
完全に分離したい場合は、異なる問題に対して異なる session_id を渡してください。
なぜ履歴ファイルが短くなったように見えるのですか?
これは履歴要約機能が働いているためです。古い履歴は要約として圧縮されており、失われたわけではなく、コンテキストを節約する「会議議事録」に置き換わっています。
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest 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/LZMW/mcp-aurai-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server