loading…
Search for a command to run...
loading…
An MCP server that enables local AI models to receive guidance from remote 'senior' AI providers like OpenAI, Anthropic, and Gemini to solve programming problem
An MCP server that enables local AI models to receive guidance from remote 'senior' AI providers like OpenAI, Anthropic, and Gemini to solve programming problems. It features intelligent multi-turn dialogue management, context synchronization, and automated session history tracking.
让本地 AI(Claude Code)在遇到复杂编程问题时,向远程大模型继续请教的 MCP 服务。
工作原理: 本地 AI 通过 sync_context 上传代码文件 → consult_aurai 提交问题 → 远程顾问返回分析 + 可执行步骤 → 本地 AI 用 report_progress 汇报进展 → 循环直到解决。
关键约束: 远程顾问无法直接访问你的文件系统。它只能看到你通过 sync_context 上传的文件内容和 consult_aurai 描述的信息。
git clone https://github.com/LZMW/mcp-aurai-server.git
cd mcp-aurai-server
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # macOS / Linux
pip install -e .
claude mcp add --scope user --transport stdio aurai-advisor \
--env AURAI_API_KEY="你的API密钥" \
--env AURAI_BASE_URL="https://你的API地址/v1" \
--env AURAI_MODEL="模型名称" \
-- "完整路径\venv\Scripts\python.exe" "-m" "mcp_aurai.server"
Windows 实际示例:
claude mcp add --scope user --transport stdio aurai-advisor \
--env AURAI_API_KEY="sk-xxxxxxxxxxxxxxxx" \
--env AURAI_BASE_URL="https://api.openai.com/v1" \
--env AURAI_MODEL="gpt-4o" \
-- "D:\mcp-aurai-server\venv\Scripts\python.exe" "-m" "mcp_aurai.server"
--scope user 表示在所有项目中可用。
claude mcp list
看到 aurai-advisor: ✓ Connected 即成功。
claude mcp remove "aurai-advisor" -s user
所有参数通过环境变量设置,在 claude mcp add 时用 --env 传入。
| 环境变量 | 说明 | 示例 |
|---|---|---|
AURAI_API_KEY |
API 密钥 | sk-xxxxxxxx |
AURAI_BASE_URL |
OpenAI 兼容接口地址 | https://api.openai.com/v1 |
AURAI_MODEL |
模型名称 | gpt-4o / claude-opus-4-1-20250805-thinking |
| 环境变量 | 默认值 | 范围 | 说明 |
|---|---|---|---|
AURAI_TEMPERATURE |
0.7 |
0.0–2.0 | 生成温度。越低越确定,越高越随机 |
AURAI_MAX_TOKENS |
32000 |
≥1 | 远程顾问单次回复的最大输出长度(tokens) |
AURAI_CONTEXT_WINDOW |
200000 |
≥1 | 模型上下文窗口大小(tokens)。输入 + 输出的总上限 |
AURAI_MAX_MESSAGE_TOKENS |
150000 |
≥1 | 单个文件超过此值会自动拆分成多段发送 |
AURAI_MAX_ITERATIONS |
50 |
1–200 | 单个问题最多对话轮数。50 轮内解决 → 自动清空历史;超限 → 清空历史并返回 requires_human_intervention |
上下文预算 & Token 监控:
| 环境变量 | 默认值 | 范围 | 说明 |
|---|---|---|---|
AURAI_CONTEXT_HIGH_WATERMARK |
0.85 |
0.5–1.0 | 上下文高水位线。输入 tokens 超过此比例时返回预警并主动压缩历史 |
每次 consult_aurai / report_progress 响应中均包含 token_usage 字段,实时展示输入 tokens、使用率、是否触发预警。当超过高水位线时,会主动压缩历史为输出腾空间。本地 AI 可根据 warning=true 提示调用 sync_context(operation='clear') 清空历史。
上下文预算分配策略: 优先保证 AURAI_MAX_TOKENS 的输出预算。输入过大时裁剪历史消息,不压缩输出。仅当基础消息(系统提示词 + 当前问题)本身就超过窗口时才缩减输出。
| 环境变量 | 默认值 | 范围 | 说明 |
|---|---|---|---|
AURAI_MAX_HISTORY |
50 |
1–200 | 每个会话在本地最多保留多少条历史记录 |
AURAI_PROMPT_HISTORY_TURNS |
10 |
1–50 | 每次发送给远程顾问时附带最近多少轮原始对话(摘要不受此限制) |
AURAI_ENABLE_PERSISTENCE |
true |
bool | 是否将历史保存到磁盘。关闭后重启 Claude Code 历史丢失 |
AURAI_HISTORY_PATH |
~/.mcp-aurai/history.json |
— | 历史文件存储路径 |
AURAI_HISTORY_LOCK_TIMEOUT |
10 |
1–120s | 跨进程文件锁等待超时 |
AURAI_ENABLE_HISTORY_SUMMARY |
true |
bool | 是否启用历史摘要。仅在接近 max_history(80%)时触发,保留 60% 原始记录 |
历史机制说明:
AURAI_MAX_HISTORY(50 条)是本地存储上限——现代 200K 上下文下纯对话远填不满,真正的瓶颈是 sync_context 上传的大文件AURAI_CONTEXT_HIGH_WATERMARK)是实时防线,在每次请求前检查session_id 的历史互相隔离| 环境变量 | 默认值 | 范围 | 说明 |
|---|---|---|---|
AURAI_STDIO_IDLE_TIMEOUT_SECONDS |
600 |
0–86400 | 空闲多久后自动退出。0 = 永不退出(推荐) |
AURAI_STDIO_IDLE_CHECK_INTERVAL_SECONDS |
30 |
1–3600 | 空闲检查间隔 |
推荐设置 AURAI_STDIO_IDLE_TIMEOUT_SECONDS=0,避免 Claude Code 还在运行但 MCP 因空闲被误杀。空闲退出前会检查父进程是否存活,但如果不在意残留进程,直接禁用最省心。
| 环境变量 | 默认值 | 说明 |
|---|---|---|
AURAI_LOG_LEVEL |
INFO |
日志级别:DEBUG / INFO / WARNING / ERROR。调试时建议 DEBUG |
MCP 注册后,Claude Code 中自动出现 4 个工具:
1. sync_context(operation='sync', files=['src/bug.py'], project_info={...})
↑ 让顾问看到你的代码
2. consult_aurai(problem_type='runtime_error', error_message='...')
↑ 提交问题,获取分析
3. 如返回 status='need_info' → 搜集顾问反问的信息 → 再次 consult_aurai(answers_to_questions='...')
↑ 多轮对齐
4. 如返回 status='success' → 按 action_items 执行修改
5. report_progress(actions_taken='改了X', result='success')
↑ 汇报进展,获取下一步指导
6. 重复 4-5,直到 resolved=true
| 工具 | 用途 |
|---|---|
sync_context |
上传文件和项目背景。operation='sync' 追加,'clear' 清空 |
consult_aurai |
提交问题。支持多轮:收到反问→搜集信息→answers_to_questions 继续 |
report_progress |
按顾问指导执行后汇报结果,获取下一步 |
get_status |
查看会话状态(历史条数、模型、空闲时间) |
不同任务传不同的 session_id,避免上下文串扰:
consult_aurai(session_id='bug-123', ...) # 修 Bug A
consult_aurai(session_id='feature-456', ...) # 写功能 B
检查 sync_context 返回的 uploaded_files 和 skipped_files。二进制文件(图片、压缩包)会被自动跳过。代码文件(.py/.js/.ts 等)会自动转换为文本发送。
给不同问题传不同的 session_id。或设置 is_new_question=true 清空当前会话历史。
claude mcp list 确认状态AURAI_STDIO_IDLE_TIMEOUT_SECONDS,推荐设为 0 禁用空闲退出AURAI_LOG_LEVEL=DEBUG 可看到详细日志(输出到 stderr)历史摘要在自动工作。旧记录被压缩为纪要而非删除,可设置 AURAI_ENABLE_HISTORY_SUMMARY=false 完全禁用摘要(不推荐)。
claude mcp remove "aurai-advisor" -s user
claude mcp add --scope user --transport stdio aurai-advisor \
--env AURAI_API_KEY="sk-..." \
--env AURAI_BASE_URL="https://api.openai.com/v1" \
--env AURAI_MODEL="新模型名称" \
-- "D:\mcp-aurai-server\venv\Scripts\python.exe" "-m" "mcp_aurai.server"
Выполни в терминале:
claude mcp add aurai-advisor-mcp -- npx CSA PROJECT - FZCO © 2026 IFZA Business Park, DDP, Premises Number 31174 - 001
Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.