# Manual Review MCP Server [English](#english) | [中文](#中文) --- ## What it does A human-in-the-loop MCP server for ARIS cross-model review. Instead of calling Codex/GPT API automatically, it opens a browser page where you copy the review prompt to a **different** model family and paste the response back. **Zero API cost. Works with any text model.** ## When to use - You don't have a Codex/GPT Plus subscription - You want to use free models (ChatGPT free tier, DeepSeek, Kimi, Gemini, etc.) - You prefer to choose which model reviews each time - You're on a budget but still want cross-model review quality ## Installation ```bash # Register with Claude Code claude mcp add manual-review -s user -- python3 /path/to/mcp-servers/manual-review/server.py # Then use in any skill: /auto-review-loop "topic" — reviewer: manual /research-review "paper/" — reviewer: manual ``` ## Modes ### Browser mode (default) Opens a local web page. Works on Windows, macOS, and Linux with a desktop environment. ### File mode (headless Linux) For SSH/headless environments without a browser: ```bash export MANUAL_REVIEW_MODE=file ``` The server writes the prompt to a per-thread directory with a **cross-model warning** at the top of `prompt.md`. Read `.aris/pending_review/pending_review.json` — the `prompt_file` field tells you where to read the prompt, the `response_file` field tells you where to write the model's response. The file must be non-empty and stable (unchanged across two reads) before it's accepted. ## Environment Variables | Variable | Default | Description | |----------|---------|-------------| | `MANUAL_REVIEW_SERVER_NAME` | `manual-review` | MCP server name | | `MANUAL_REVIEW_TIMEOUT_SEC` | `86400` (24h) | Max wait time for response | | `MANUAL_REVIEW_MODE` | `browser` | `browser` or `file` | | `MANUAL_REVIEW_AUTO_OPEN` | `true` | Auto-open browser on review | | `MANUAL_REVIEW_PORT` | `17900` | Fixed HTTP port (increments if occupied) | | `MANUAL_REVIEW_PENDING_DIR` | `.aris/pending_review` | Directory for state/prompt/response files | | `MANUAL_REVIEW_DEBUG_LOG` | (empty) | Debug log file path | ## Recovery If you accidentally close the browser tab, open `.aris/pending_review/pending_review.json` and reopen the exact `url` value. It includes a one-session token — copy it in full (e.g., `http://127.0.0.1:17900?token=abc123`). Do not type the bare `http://127.0.0.1:17900` as it will return 403. ## Future Work - Image generation support (manual alternative to `codex-image2`) - Image review loop for paper illustrations --- ## 功能说明 ARIS 跨模型评审的人工中转 MCP 服务器。不自动调用 Codex/GPT API,而是打开浏览器页面,让你将评审提示词复制到**不同**模型家族,再将回复粘贴回来。 **零 API 成本。支持任何文本模型。** ## 适用场景 - 没有 Codex/GPT Plus 订阅 - 想使用免费模型(ChatGPT 免费版、DeepSeek、Kimi、Gemini 等) - 希望每次自行选择评审模型 - 预算有限但仍想获得跨模型评审质量 ## 安装 ```bash # 注册到 Claude Code claude mcp add manual-review -s user -- python3 /path/to/mcp-servers/manual-review/server.py # 在任意技能中使用: /auto-review-loop "topic" — reviewer: manual /research-review "paper/" — reviewer: manual ``` ## 模式 ### 浏览器模式(默认) 打开本地网页。适用于 Windows、macOS 和有桌面环境的 Linux。 ### 文件模式(无桌面 Linux) 适用于 SSH/无桌面环境: ```bash export MANUAL_REVIEW_MODE=file ``` 服务器将提示词写入按线程隔离的子目录,`prompt.md` 顶部包含**跨模型警告**。读取 `.aris/pending_review/pending_review.json` — `prompt_file` 字段指向提示词文件,`response_file` 字段指向你应写入回复的位置。文件必须非空且稳定(两次读取内容不变)才会被接受。 ## 环境变量 | 变量 | 默认值 | 说明 | |------|--------|------| | `MANUAL_REVIEW_SERVER_NAME` | `manual-review` | MCP 服务器名称 | | `MANUAL_REVIEW_TIMEOUT_SEC` | `86400`(24h) | 最大等待时间 | | `MANUAL_REVIEW_MODE` | `browser` | `browser` 或 `file` | | `MANUAL_REVIEW_AUTO_OPEN` | `true` | 是否自动打开浏览器 | | `MANUAL_REVIEW_PORT` | `17900` | 固定 HTTP 端口(被占用时递增) | | `MANUAL_REVIEW_PENDING_DIR` | `.aris/pending_review` | 状态/提示词/回复文件目录 | | `MANUAL_REVIEW_DEBUG_LOG` | (空) | 调试日志文件路径 | ## 恢复 如果不小心关闭了浏览器标签,打开 `.aris/pending_review/pending_review.json`,复制完整的 `url` 值(包含一次性 token,如 `http://127.0.0.1:17900?token=abc123`)重新打开。不要手动输入裸地址 `http://127.0.0.1:17900`,会返回 403。 ## 后续计划 - 图片生成支持(`codex-image2` 的手动替代方案) - 论文插图的图片评审循环