昨天更新了 7.4.0 想练一下 codex 和 workbuddy,用明道云自带语句复制到 codex 里面,就会连不上,下面是 ai 给的回答。原因 3https 应该不是,因为我走应用授权是可以的,只有个人授权不行。
我把它“坏”的具体表现和原因拆开讲:
现象(我实测到的)
| 请求 | 结果 |
|---|---|
GET /api/v3/users/me + 你的 PAT |
✅ 200,正常返回用户信息(令牌有效) |
POST /mcp + 你的 PAT |
❌ 401,invalid_token + introspection transport error |
POST /mcp 不带令牌 |
400,根本不走到鉴权 |
| 换任何 MCP 协议版本 / 任何令牌 | 都是同一个 401 |
请求结果 GET /api/v3/users/me + 你的 PAT✅ 200,正常返回用户信息(令牌有效)POST /mcp + 你的 PAT❌ 401,invalid_token + introspection transport error``POST /mcp 不带令牌 400,根本不走到鉴权换任何 MCP 协议版本 / 任何令牌都是同一个 401 坏在哪里
/mcp 是一个独立的 MCP 网关服务,它收到 Authorization: Bearer xxx 后,不会自己判断令牌对不对,而是把令牌发给一个令牌校验服务(OAuth introspection)去验。它现在返回的 error_description="introspection transport error",意思不是“令牌无效”,而是它发出去的那次校验请求本身没成功——连接不上、超时、DNS 解析失败或端口不通这类传输层问题。
这正好解释了两件事:
- 同一个令牌在
/api/v3/...上完全正常,说明令牌没问题; - 在
/mcp上却必挂,因为问题出在 MCP 网关到它后端校验服务的那一跳,跟客户端、跟令牌都无关。
常见原因(按可能性排序)
- MCP 网关配置里 introspection 地址写的是官方 SaaS 的地址(比如
api2.mingdao.com),从你的私有服务器网络出去连不上或根本不该连那里——私有实例的令牌在 SaaS 那边本来就是“不存在”,所以校验必失败。 - introspection 地址写的是内部地址(localhost / 某个 hostname / 某端口),但那个服务没起、端口不对、或容器间网络不通。
- 走了 HTTPS 但证书/代理有问题。