MI25调谐MCP
面向MI25/gfx900 multi_llm-client 用于运行的MCP服务器。
______________________________________________________________________
目的和责任
MI25-tuning-MCP 啊 客户端实验工作流层 扛。
|负责|不负责| |----------|-----------| | multi_llm-client 的设置变更(安全的部分更新)|GPU/ROCm/Ollama的基础设施观测| |推理执行、日志读取、摘要|→ ROCm-ollama-mcp 负责 |注释记录|
______________________________________________________________________
安装,安装
cd /home/limonene/ROCm-project/MI25-tuning-MCP
python3 -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -e .起动:
mi25-tuning-mcp______________________________________________________________________
工具列表
工具概述 |--------|------| | ping |确认健康检查路径| | get_gpu_metrics 通过rocm-smi获取MI25的VRAM/温度/利用率(即使未导入也未返回错误) | list_presets 设置名称和默认参数列表 | get_config | config.json 的读取 | update_config 通过部分合并更新allowlist密钥(.bak 自动作成)| | run_inference 在运行客户机上运行单镜头推理 | run_client_bench 运行客户端的 --bench ,然后单击phase_summary 在生成之前返还 | run_client_bench_compare 两个 phase_summary.tsv 中描述的场景,使用下列步骤创建明细表,以便在概念设计中分析体量的周长 multi_llm-client/worklog 自动添加) | run_client_bench_report 从现有bench TSV生成mode summary报告(tsv/markdown/json/all) | | read_perf_log 获取JSONL日志的末尾N条 | read_inference_logs | read_perf_log の別名(広域履歴参照用) | | summarize_perf_log 统计TTFT/tok/s/错误率等 | list_dir |目录一览(项目根目录属下)| | read_text / read_file |文本文件读取(项目根目录属下)| | write_file 在注释中写入(Agents-note/ 配下限定) | | run_client_check | cargo check 执行以确认构建错误 | set_config_raw 设置的整体覆盖(MI25_ENABLE_SET_CONFIG_RAW=1 启用,默认值禁用
______________________________________________________________________
环境变数
| 变数 | 既定値 | 说明 |
|---|---|---|
MI25_CLIENT_ROOT | ../multi_llm-client 运行客户机目录 | |
MI25_NOTES_ROOT | ../Agents-note | write_file 的写入路径 |
MI25_MCP_AUDIT_LOG | ./logs/tool-calls.jsonl |审计日志的输出目的地| | |
MI25_ENABLE_SET_CONFIG_RAW | 0 | set_config_raw 启用标志 |
______________________________________________________________________
安全制约
update_config:拒绝allowlist外的密钥。更新前.bak保存write_file:Agents-note/仅限下属可写入read_file/read_text/list_dir:仅适用于项目根目录run_inference:要求超时,运行后config.json恢复run_client_bench:mode强制allowlist--bench仅运行固定模板run_client_bench_compare:输入输出TSV路径CLIENT_ROOT/PROJECT_ROOT仅限属下run_client_bench_report:输入输出TSV/报告路径CLIENT_ROOT/PROJECT_ROOT仅限属下set_config_raw:既定无效。明示的な环境变数が必要- 子进程:仅使用固定命令模板(禁止free-form shell)
- 所有工具:在审计日志JSONL中记录tool call
______________________________________________________________________
连接Claude Code
~/.claude/settings.json 的,之 mcpServers 添加到:
{
"mcpServers": {
"mi25_tuning": {
"command": "/home/limonene/ROCm-project/MI25-tuning-MCP/.venv/bin/mi25-tuning-mcp",
"args": [],
"cwd": "/home/limonene/ROCm-project/MI25-tuning-MCP",
"env": {
"MI25_CLIENT_ROOT": "/home/limonene/ROCm-project/multi_llm-client",
"MI25_NOTES_ROOT": "/home/limonene/ROCm-project/Agents-note"
}
}
}
}或 mcp-config.json 的 ollama-mcp-bridge 中所述修改相应参数的值。
______________________________________________________________________
Antigravity MCP设定
在Antigravity中使用的情况下 ~/.gemini/antigravity/mcp_config.json 的 mcpServers 中所述修改相应参数的值。 复制模板并展开实际路径:
export ROCM_PROJECT_ROOT="/home/limonene/ROCm-project"
cp "${ROCM_PROJECT_ROOT}/MI25-tuning-MCP/mcp_config.template.json" \
"${HOME}/.gemini/antigravity/mcp_config.json"
sed -i "s##${ROCM_PROJECT_ROOT}#g" \
"${HOME}/.gemini/antigravity/mcp_config.json"command请使用绝对路径- 反映后重新启动Antigravity语言服务器(或窗口Reload)
- 与Claude Code一起使用时
.mcp.json和内容齐备的话管理会很轻松
______________________________________________________________________
动作确认
安装后,按以下顺序确认沟通:
ping → get_config → update_config → run_inference → read_perf_log → summarize_perf_logbench 系统标准流:
run_client_bench (baseline) -> run_client_bench (side) -> run_client_bench_compare -> run_client_bench_report将交付项默认保存到(MI25_CLIENT_ROOT= /multi_llm-client ):
- 基线/侧TSV: `
/multi_llm-client/worklog/mcp_bench_*`
- 比较TSV: `
/multi_llm-client/worklog/mcp_bench_compare_*`
- 报告TSV/MD/JSON: `
/multi_llm-client/worklog/*_mode_summary.(tsv|md|json)`
- compare成功追记: `
/multi_llm-client/worklog/mcp_bench_compare_auto_summary_YYYY-MM-DD.md`
- compare失败追记: `
/multi_llm-client/worklog/mcp_bench_compare_fail_YYYY-MM-DD.jsonl`
______________________________________________________________________
测试运行
cd /home/limonene/ROCm-project/MI25-tuning-MCP
source .venv/bin/activate
./tests/smoke.sh
# LLM 統合テストも実行する場合
MI25_RUN_LLM_INTEGRATION=1 ./tests/smoke.sh
# bench -> phase_summary -> compare の MCP 統合テストも実行する場合
MI25_RUN_BENCH_INTEGRATION=1 ./tests/smoke.shsmoke.sh 运行的测试:
- 编译检查+工具形状检查
tests/unit_direct_test.py-MCP单体/失败/砂箱集成tests/protocol_tools_test.py—stdio MCP协议(tools/list/tools/call)tests/llm_bridge_integration_test.py-桥接LLM集成(MI25_RUN_LLM_INTEGRATION=1启用)tests/bench_flow_integration_test.py— MCP 経由bench -> phase_summary -> compare(MI25_RUN_BENCH_INTEGRATION=1启用)
______________________________________________________________________
相关文档
文档|内容| |------------|------| | 规格.md |仕样书(设计决定・安全制约・DoD)| | MI25-调音-MCP_TODO.md |実装状况・残课题(MI25_TODO集约)| | docs/tool-spec.md 工具规格详细信息 | vega_optimized.md Vega/gfx900优化的定性战略注释 | vega_优化静态.md Vega/gfx900优化的定量备注(实测值) | 协议.md |正本合意书| | Rocm-Ollama-MCP |基础设施层MCP(GPU/ROCm/Ollama观测)|
