expert-router
Spawns a dedicated Brave browser instance with an isolated profile and CDP debug port, used to reach a ChatGPT web session for expert consultations.
Routes compressed project briefings to the ChatGPT web interface at the highest reasoning setting via browser automation, and returns the expert response body to Claude Code without exposing the conversation URL.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@expert-routerask an expert to review the deadlock in our job queue concurrency"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
expert-router
给 Claude Code 用的按项目开通的专家咨询层:便宜模型在本地读仓库、跑测试;真正难的问题才压缩成 briefing,交给 ChatGPT 网页版(极高档)回答。
传输层使用 ai-browser-bridge(或你自己的 fork)。本仓库不 fork 那套浏览器适配器,只做路由、压缩、开通开关和防重试。
条款风险(必读)
用浏览器自动化抓取 ChatGPT 网页的回答,可能违反 OpenAI 现行使用条款。这是个人技术实验,不是生产方案。账号风险自负。长期依赖请走官方 API。
它做什么、不做什么
做:
默认所有仓库关闭。只有你对某个 git 仓库跑开通脚本后,该仓库的 Claude Code 会话才会出现
expert_consult。调用必须带闭集
reason、绝对路径repo_root、结构化 briefing(有体积上限)。摘录路径必须留在仓内,不能把仓外文件送进专家。
进程内同时只允许一次咨询;
follow-up仅在同一次 MCP 进程已有会话时允许。返回给 Claude 的是专家正文,不回 ChatGPT conversation URL。
不做:
不自动切 ChatGPT 模型(v1 请你自己把专用窗口拧到「极高」)。
不把原始
bridge ask暴露给 Claude(开通后也只有expert_consult)。不启动、不关闭日常浏览器。专用 Brave 由你手动拉起。
Related MCP server: mcp-gemini-assistant
架构
某个已开通的 git 仓库
│
▼
Claude Code(本地调查、改代码、跑测试)
│ 仅当 reason 命中闭集
▼
expert_consult MCP(本仓库)
│ 校验开通标记 + briefing
▼
ai-browser-bridge CLI(本机 spawn)
│ --debug-port(默认 9333)
▼
专用 Brave(独立 profile + CDP)
│
▼
ChatGPT 网页(极高档)机器配置在 ~/.ai-browser-bridge/expert.json(不要提交)。
项目开通标记在该仓库的 .claude/expert-consult.json(脚本会写入 .git/info/exclude)。
环境要求
Windows 10/11(开通脚本是 PowerShell)
Node.js ≥ 22
已安装并登录过的 Brave(也可用其它 Chromium,但脚本默认 Brave)
已构建的
ai-browser-bridge(dist/bridge.js)Claude Code CLI(
claude在 PATH 里)
Windows 上系统的 IP Helper 经常占用 9222。本项目默认 CDP 端口是 9333。
上游 bridge serve 默认仍找 9222,因此你需要一份支持 --debug-port 的构建(见下文「与 ai-browser-bridge 的关系」)。
安装(只需一次)
在本仓库目录:
npm install
npm run build
powershell -ExecutionPolicy Bypass -File .\scripts\install.ps1如果 ai-browser-bridge 和本仓库是同级目录,且已经 npm run build 过,install.ps1 会自动填上 bridgeBinary。否则:
powershell -ExecutionPolicy Bypass -File .\scripts\install.ps1 -BridgeRoot "D:\path\to\ai-browser-bridge"安装结果:
路径 | 含义 |
| 启动 / 开通 / 关闭脚本的本机副本 |
| 本机路径,勿提交、勿分享 |
| 专用浏览器登录态 |
| 咨询记录(本机) |
打开 expert.json,确认:
routerBinary指向本仓库的dist/index.jsbridgeBinary指向ai-browser-bridge的dist/bridge.jsdebugPort与专用 Brave 一致(默认9333)braveExe是本机 Brave 路径
启动专用浏览器(每次开工)
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.ai-browser-bridge\start-brave.ps1"看到 CDP 已在 9333 就绪 后,在这一扇窗口里:
登录 ChatGPT
把推理档设为 极高 / Extra High
窗口保持开着(可最小化)
不要把 debug port 打到你正在用的日常 Brave 上。
冒烟测试(可选):
node <ai-browser-bridge>/dist/bridge.js ask "Reply with exactly: pong" --provider chatgpt --debug-port 9333 --json给某个项目开通(默认关闭)
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.ai-browser-bridge\enable-expert.ps1" -RepoRoot "D:\path\to\your\repo"然后在该仓库开一个新的 Claude Code 会话。其他仓库仍然没有 expert_consult。
开通写入(均不进 git):
<repo>/.claude/expert-consult.json
<repo>/.claude/settings.local.json
<repo>/.claude/skills/expert-consult/SKILL.md
<repo>/.git/info/exclude关掉:
powershell -ExecutionPolicy Bypass -File "$env:USERPROFILE\.ai-browser-bridge\disable-expert.ps1" -RepoRoot "D:\path\to\your\repo"没有开通标记时,即使有人把 MCP 配进项目,调用也会被拒绝。
Claude 应如何调用
Skill 会随开通复制进项目。要点:
先本地调查,再升级。
reason只能是:architecture·concurrency·security·destructive-migration·local-failed-twice·unclear-tradeoff·low-confidence-after-evidence·user-explicit同会话续问用
follow-up(只发增量)。必填:
repo_root(git 根绝对路径)、question、established、excerpts、attempts、desired_output。整份 briefing ≤ 24000 字符;单条 excerpt ≤ 4000 字符。
陈述用英文,源码不翻译。
不要因为慢就重试。不要把专家回复当可应用补丁直接打进去。
与 ai-browser-bridge 的关系
本仓库 spawn:
node <bridgeBinary> ask <prompt> --provider chatgpt --timeout 900 --debug-port <debugPort> --jsonWindows 上请使用支持 --debug-port 的 bridge serve / bridge ask 构建。上游默认端口 9222;本机若被 IP Helper 占用,用 9333。
建议流程:
构建你的
ai-browser-bridgefork(含--debug-port)。install.ps1 -BridgeRoot <该 fork>。不要把
bridge serve注册成 Claude 的全局 MCP,以免模型直接ask。
不要提交这些
内容 | 原因 |
| 本机绝对路径 |
| 浏览器登录态、Cookie |
| 咨询正文 |
项目里的 | 本机开通状态 |
ChatGPT 页面截图、账号相关调试脚本 | 隐私 |
本仓库的 .gitignore 已忽略 expert.json 和常见本机 Claude 文件。开通脚本还会把项目侧文件写入 .git/info/exclude。
故障排除
开通后工具列表里没有 expert_consult
在该仓库新开 Claude Code 会话。claude mcp list(在该仓库目录下)应显示 expert-router。
调用报 off / marker
确认 <repo>/.claude/expert-consult.json 存在且 "enabled": true,repo_root 是 git 根的绝对路径。
Brave 起不来 / CDP 超时
检查 expert.json 的 braveExe、debugPort。http://127.0.0.1:9333/json/version 应能打开。9222 被占用时不要改回 9222。
ask 超时或找不到输入框
确认专用窗口已登录 ChatGPT。v1 不切模型,窗口应停在极高档。
两个 Claude 同时咨询
v1 只做进程内互斥。不要对同一专用窗口开两个会咨询的会话。
开发
npm install
npm run build
npm run dev入口:src/index.ts(stdio MCP)。脚本:scripts/。Skill 模板:skills/expert-consult/SKILL.md。
Available Tools
1 toolexpert_consultA
本地调查之后,把难题交给 ChatGPT 极高档。仅在本仓库已开通时可用(标记文件 .claude/expert-consult.json)。reason 必须是闭集之一。已有咨询在进行时不要重试。briefing 用英文填写,源码保持原样。
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | 为什么这是专家级问题。follow-up 仅在本 MCP 进程已有会话时可用。 | |
| attempts | Yes | 已经尝试过的方案(英文)。 | |
| excerpts | Yes | 关键代码摘录,不要整文件粘贴。 | |
| question | Yes | 要专家回答的具体问题(英文)。 | |
| repo_root | Yes | 已开通仓库的 git 根绝对路径。 | |
| constraints | No | 硬性约束(英文,可选)。 | |
| established | Yes | 本地已确认的事实(英文)。 | |
| desired_output | Yes | 希望专家产出什么(英文)。 | |
| timeout_seconds | No | 等待专家回复的秒数。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
由于未提供任何注解,描述承担了全部行为披露责任。它涵盖了启用检查、状态竞争(进行中不重试)、输入语言要求(briefing 用英文,源码保持原样)。缺失了对返回形式、潜在延迟或超时行为的说明,但相对于同类工具已属充实。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
四句话,没有多余信息,条件、枚举约束、并发警告和格式要求全部前置。紧凑而可执行。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
对于一个有9个参数、7个必填、无输出架构的复杂工具,描述覆盖了启用状态、并发、参数闭集和语言要求等关键决策信息。考虑复杂度,信息量足够启动调用,但缺少对超时等待体验的说明。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
架构描述覆盖率达到 100%,每个参数都有详细的描述,描述本身只额外给出了英文填写要求和源码原样保留的格式提示。基线为 3,因为架构承担了绝大部分参数含义,描述的价值增量有限。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
描述以清晰的中文动宾短语开头,指明是将本地调查后的难题升级给达到极高能力的 ChatGPT 专家。它说明了工具是什么,但没有明确区分同类工具(兄弟工具缺失),与usage指南部分有重叠。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
明确说明适用条件:仅在本仓库已开通时可用(标记文件 .claude/expert-consult.json);reason 必须是闭集之一;已有咨询进行时不要重试。这些排他性条件为智能体提供了完整的调用语境。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
expert_consult
TDQS
Scored across 1 tool
With only a single tool, there is no possibility of confusion or ambiguous overlap between tools. The purpose of expert_consult is clearly distinct by virtue of being the only operation exposed.
The single tool name 'expert_consult' follows a clean verb_noun convention. With no other tools to compare against, naming consistency is trivially maintained.
One tool feels thin for a server named 'expert-router', which implies a broader routing or expert-selection purpose. However, the tool is domain-specific and non-trivial, so it falls in the borderline range rather than being an extreme mismatch.
The server exposes only a single consult action with no way to inspect active consultations, list available experts, or manage the feature flag. The description references state ('已有咨询在进行时不要重试') and an enumeration ('reason 必须是闭集之一') but provides no supporting tools, leaving significant workflow gaps.
Maintenance
Related MCP Connectors
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Share context and questions between Claude instances — VS Code, claude.ai web, and mobile.
Project memory, semantic code search, and grounded agent context.
Related MCP Servers
- AlicenseAqualityBmaintenanceProvides comprehensive session management for Claude Code with automatic initialization/cleanup, quality checkpoints, and local conversation memory with semantic search for capturing learnings across coding sessions.6336 PyPI2BSD 3-Clause
- AlicenseNot gradedqualityDmaintenanceEnables Claude Code to consult Gemini for complex coding problems with session management, file attachments, and conversation persistence.105MIT

LLM Council MCPofficial
AlicenseNot gradedqualityDmaintenanceEnables Claude Code to consult external LLMs (GPT, Gemini) through multi-turn sessions for second opinions, parallel consultations, and web-grounded research.MIT- AlicenseNot gradedqualityAmaintenanceEnables Codex chat to use the Claude Code harness for repository consultation and editing, routing through GPT models via a local proxy.5 npmMIT