接入 MCP 有两条路。一条是在本机装安装器,客户端通过 stdio 调用;另一条是客户端直接连远程地址,用浏览器授权。
不写代码用 Claude Code 查亚马逊数据 走的是第一条。这篇走第二条。
什么时候必须走远程这条
本地安装器要求你能在客户端所在的机器上运行命令。有三种情况做不到:
- ChatGPT 网页端——它在浏览器里,没有本机进程可以装
- 团队共用——你不想让每个人都在自己电脑上装一遍,也不想分发密钥
- 不想让密钥落到配置文件里——本地方式要把密钥写进本机配置,远程方式不会
第三条是这条路最实际的理由。OAuth 连接绑定的是账号、所选 Key ID 和当前凭据指纹,不向客户端发送 API Key 原文。 客户端手里没有密钥可泄露。
客户端支持矩阵
| 客户端 | 远程浏览器 OAuth | 本地 stdio | 推荐 |
|---|---|---|---|
| ChatGPT 网页端 | 支持 | 不适用 | 远程 OAuth |
| Claude Code | 支持 | 支持 | 两者都行 |
| WorkBuddy | 兼容时首选 | 取决于是否支持 | 远程 OAuth |
| Hermes | 取决于是否支持 Streamable HTTP OAuth | 取决于是否支持 stdio | 支持时用 OAuth |
Claude Code 两条路都通,所以它既可以按上一篇装本地的,也可以按这篇连远程的。其他三个基本只有远程这一条路。
端点是 https://ecommercedataapi.com/mcp,Streamable HTTP,OAuth 2.1 + PKCE。
在 ChatGPT 网页端接入
- 打开网页设置,启用 Developer mode
- 添加远程 MCP 服务器,填入上面的地址,认证方式选 OAuth
- 登录 Ecommerce Data API
- 选一把现有 Key 并确认,或明确创建并授权一把
第 4 步有个容易踩的地方:即使你只有一把 Key、页面已经默认选中,仍然需要点确认。 授权页不会替你决定用哪把。
第一条提问:先验证连接,不花钱
接完之后不要直接查数据。先发这一条:
连接验证提问
只查账户余额,不消耗任何调用额度。把它发给刚接好的客户端。
使用 ecommerce_account 查询我的剩余积分,暂时不要调用付费数据接口。
如果它返回了余额,说明 OAuth 打通、工具已加载、账号绑定正确。三件事一次验完,而且没花额度。
如果返回的是登录提示或者工具找不到,问题在授权环节,不在数据接口——不要去改接口参数。
加载进来的是哪些工具
远程连接会加载 49 个工具:45 个业务接口,加 4 个通用工具。
| 通用工具 | 作用 |
|---|---|
ecommerce_api_search | 搜索接口目录 |
ecommerce_api_describe | 查看某个接口的说明和参数 |
ecommerce_api_call | 按接口 code 和 input 调用 |
ecommerce_account | 查询账户积分 |
这四个是你真正需要记住的。业务接口不用背——让模型用 ecommerce_api_search 自己找,用 ecommerce_api_describe 自己读参数,然后 ecommerce_api_call 调用。
这也是为什么 MCP 这条路不需要你记接口路径:目录本身是可查询的。
远程 MCP 接入文档各客户端的完整步骤、可复制配置,以及授权失败时的排查顺序计费和撤销:两件需要分清的事
计费按调用走,和接入方式无关。 远程 OAuth 不会比本地 stdio 更贵或更便宜,消耗的是同一个账户余额。ecommerce_account 和账户页看到的是同一个数。
撤销 MCP 连接不等于停用 REST 密钥。 这两件事是分开的:
- 在设置里断开 MCP 连接 → 那个客户端不能再调用了,但密钥本身还能用于直接的 REST 请求
- 停用密钥 → 密钥全线失效,包括绑定它的 MCP 连接
团队场景下这个区别很重要:有人离职时你要想清楚是收回某个客户端的授权,还是让那把密钥彻底作废。
什么时候不该用 MCP
MCP 适合探索式的查询——你不确定要查什么、或者每次要查的东西都不一样。
不适合定时任务。 每天固定跑一遍的监控流程,应该直接调 REST 接口,而不是让一个模型每天重新决定调哪个接口。模型每次的选择不完全一致,而定时任务需要的恰恰是一致。
也不适合大批量。 一次要处理几百个 ASIN 时,让模型逐个调用既慢又贵。那种场景应该写脚本。
分界线大概是:要判断的用 MCP,要重复的用 REST。
如果你的场景是后者,亚马逊数据 API 完全指南 按业务场景拆了 46 个接口,说明每类解决什么问题。
常见问题
必须开发者模式吗? ChatGPT 网页端目前需要。其他客户端各自不同,按客户端配置文档来。
能不能不走 OAuth,直接用密钥?
部分客户端支持在配置里加 Authorization: Bearer 头作为回退方式。但那样密钥就落到配置文件里了,失去了这条路的主要好处。
一个账号能连几个客户端? 可以连多个。每个连接绑定自己选的那把 Key,在设置里能分别看到和断开。
接完之后模型还是说找不到工具? 先确认连接状态是已授权,再新建一个对话——已有对话不会自动加载新连接的工具。