Skip to main content
Glama
LZMW

Aurai Advisor (上级顾问 MCP)

by LZMW

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AURAI_MODELNo模型名称 (Model name)
AURAI_API_KEYNoAPI 密钥 (API Key)
AURAI_BASE_URLNoAPI 地址 (API Base URL, required when AURAI_PROVIDER is 'custom')
AURAI_PROVIDERNo提供商 (AI Provider: zhipu, openai, anthropic, gemini, custom)
AURAI_LOG_LEVELNo日志级别 (Log level)INFO
AURAI_MAX_TOKENSNo最大tokens (Max tokens)100000
AURAI_MAX_HISTORYNo对话历史最大保存数 (Max history messages)50
AURAI_TEMPERATURENo温度参数 (Temperature)1.0
AURAI_HISTORY_PATHNo历史文件路径 (History storage path)~/.mcp-aurai/history.json
AURAI_MAX_ITERATIONSNo最大迭代次数 (Max iterations)10
AURAI_ENABLE_PERSISTENCENo对话历史持久化 (Enable persistence)true

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
consult_aurai

请求上级AI的指导(支持交互对齐机制与多轮对话)

这是核心工具,当本地AI遇到编程问题时调用此工具获取上级AI的指导建议。


🔗 相关工具

  • sync_context:需要上传文档或代码时使用

    • 📄 上传文章、说明文档(.md/.txt)

    • 💻 上传代码文件(避免内容被截断) ⭐ 重要

    • .py/.js/.json 等代码文件复制为 .txt 后上传

  • report_progress:执行上级 AI 建议后,使用此工具报告进度并获取下一步指导

  • get_status:查看当前对话状态、迭代次数、配置信息

💡 重要提示:避免内容被截断

如果 code_snippetcontext 内容过长,请使用

# 步骤 1:将代码文件复制为 .txt
shutil.copy('script.py', 'script.txt')

# 步骤 2:上传文件
sync_context(operation='incremental', files=['script.txt'])

# 步骤 3:告诉上级顾问文件已上传
consult_aurai(
    error_message='请审查已上传的 script.txt 文件'
)

优势

  • ✅ 避免代码在 contextanswers_to_questions 字段中被截断

  • ✅ 利用文件读取机制,完整传递内容

  • ✅ 支持任意大小的代码文件


[重要] 何时开始新对话?

系统会自动检测,但你也可以手动控制:

  • 自动清空:当上一次对话返回 resolved=true 时,系统会自动清空历史

  • 手动清空:如果你要讨论一个完全不同的新问题,设置 is_new_question=true

何时设置

  • [OK] 切换到完全不相关的项目/文件

  • [OK] 之前的问题已解决,现在遇到全新的问题

  • [OK] 发现上下文混乱,想重新开始

  • [X] 不要在同一个问题的多轮对话中使用

交互协议

1. 多轮对齐机制

  • 不要期待一次成功:上级顾问可能会认为信息不足,返回反问问题

  • 仔细阅读 questions_to_answer 中的每个问题

  • 主动搜集信息(读取文件、检查日志、运行命令)

  • 再次调用 此工具,将答案填入 answers_to_questions 参数

2. 首次调用

必须提供:

  • problem_type:问题类型(runtime_error/syntax_error/design_issue/other)

  • error_message:清晰描述问题或错误

  • context:相关上下文(代码片段、环境信息、已尝试的方案)

  • code_snippet:相关代码(如果有)

3. 后续调用(当返回 status="need_info" 时)

必须提供:

  • answers_to_questions:对上级顾问反问的详细回答

  • 保持其他参数不变(除非有新信息)

4. 诚实原则

  • 禁止瞎编:如果不知道答案,诚实说明"未找到相关信息"

  • 禁止臆测:不要在没有证据的情况下假设解决方案

  • 提供具体证据(文件路径、日志内容、错误堆栈)

响应格式

信息不足时 (status="need_info")

{
  "status": "need_info",
  "questions_to_answer": ["问题1", "问题2"],
  "instruction": "请搜集信息并再次调用"
}

提供指导时 (status="success")

{
  "status": "success",
  "analysis": "问题分析",
  "guidance": "解决建议",
  "action_items": ["步骤1", "步骤2"],
  "resolved": false  // 是否已完全解决
}

问题解决后

resolved=true 时,对话历史会自动清空,下次查询将开始新对话。

[自动] 新对话检测

系统会自动检测新问题:

  • 如果上一次对话的 resolved=true,下次调用 consult_aurai 时会自动清空历史

  • 保证每个独立问题都有干净的上下文,避免干扰

[重要] 明确标注新问题(可选参数)

如果你想强制开始一个新对话,可以设置 is_new_question=true

  • 效果:立即清空所有之前的对话历史

  • 后果:上级AI将无法看到之前的任何上下文

  • 使用场景

    • 之前的对话已完全无关

    • 想重新开始讨论一个全新的问题

    • 发现上下文混乱,想重置

示例

# 第一次咨询(问题A)
consult_aurai(problem_type="runtime_error", error_message="...")

# 继续讨论问题A...
consult_aurai(answers_to_questions="...")

# 切换到问题B(标注为新问题,清空历史)
consult_aurai(
    problem_type="design_issue",
    error_message="...",
    is_new_question=True  # [注意] 会清空之前关于问题A的所有对话
)
sync_context

同步代码上下文(支持上传 .md 和 .txt 文件,避免内容被截断)

在第一次调用或上下文发生重大变化时使用,让上级AI了解当前项目的整体情况。


🎯 典型使用场景

场景 1:上传文章供上级顾问评审

sync_context(
    operation='full_sync',
    files=['文章.md'],
    project_info={
        'task': 'article_review',
        'target_platform': 'GLM Coding 知识库'
    }
)
consult_aurai(
    problem_type='other',
    error_message='请评审以下投稿文章...',
    context={'请查看已上传的文章文件': '已通过 sync_context 上传'}
)

场景 2:上传代码文件(避免内容被截断)⭐ 重要

# 问题:代码太长,在 context 字段中可能被截断
# 解决:将代码转换为 .txt 文件后上传

import shutil

# 步骤 1:将代码文件复制为 .txt
shutil.copy('src/main.py', 'src/main.txt')

# 步骤 2:上传文件
sync_context(
    operation='incremental',
    files=['src/main.txt'],
    project_info={
        'description': '需要调试的代码',
        'language': 'Python'
    }
)

# 步骤 3:告诉上级顾问文件已上传
consult_aurai(
    problem_type='runtime_error',
    error_message='请审查已上传的 src/main.txt 文件,帮我找出bug',
    context={
        'file_location': '已通过 sync_context 上传',
        'expected_behavior': '应该输出...',
        'actual_behavior': '实际输出...'
    }
)

优势

  • ✅ 避免代码在 contextanswers_to_questions 字段中被截断

  • ✅ 利用 sync_context 的文件读取机制,完整传递内容

  • ✅ 上级顾问可以完整读取代码文件

场景 3:项目首次初始化

sync_context(
    operation='full_sync',
    files=['README.md', 'docs/说明文档.md'],
    project_info={
        'project_name': 'My Project',
        'tech_stack': 'Python + FastAPI'
    }
)

[注意] 文件上传限制

files 参数只支持 .txt 和 .md 文件!

  • [OK] 支持:README.md, docs.txt, notes.md 等文本和Markdown文件

  • [X] 不支持:.py, .js, .json, .yaml 等代码文件

使用场景

  1. full_sync: 完整同步,适合首次调用或项目重大变更

  2. incremental: 增量同步,适合添加新文件或更新

  3. clear: 清空对话历史

Token优化

当 project_info 中的单个字段超过 800 tokens 时,会自动:

  • 缓存到临时文件

  • 在对话历史中记录文件路径

  • 发送给上级AI时仍会读取完整内容

参数说明

  • operation: 操作类型(full_sync/incremental/clear)

  • files: 文件路径列表,只能是 .txt 或 .md 文件

  • project_info: 项目信息字典,可包含任意字段

report_progress

报告执行进度,请求下一步指导

在执行了上级AI的建议后,调用此工具报告结果,获取下一步指导。


使用场景:执行上级 AI 建议后,报告执行结果并获取后续指导 参数:actions_taken(已执行的行动)、result(success/failed/partial)、new_error(新错误)、feedback(反馈)

get_status

获取当前状态

返回当前对话状态、迭代次数、配置信息等。


返回内容:conversation_history_count(对话历史数量)、max_iterations(最大迭代次数)、max_history(最大历史条数)、provider(AI提供商)、model(模型名称)

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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