BuyWhere商务API的设计复盘:去掉销售 gating、文档不一致、免费额度虚标、401错误不透明四个反模式,实现真正的自助接入和透明定价,附MCP集成示例。
一篇关于移除 AI Agent 与可用商务 API 之间所有门槛后发生了什么的小记。
如果现在接入 Claude Desktop、Cursor 或任何兼容 MCP 的运行时,就能在不到一分钟内让 BuyWhere 返回真实的商户数据:
POST https://api.buywhere.ai/v1/auth/register
→ {"api_key": "bw_live_..."}
GET https://api.buywhere.ai/mcp
→ 3 tools, auto-discovered, free
三个工具:search_catalog、lookup_merchant、normalize_product。覆盖 SG / MY / PH / AU 区域约 3.86 亿件商品和 89.5 万个商户,并在各 marketplace 间做了标准化。每天前 1,000 次请求免费;超过后按透明的分层定价,无隐晦的 401 报错。
我们刻意不推送的四个反模式:
销售拦截式 onboarding。 Agent 要等人工批准企业合同后才能拿到第一条数据。我们改为程序化注册,密钥在响应中立即生效。
未公开的端点。 REST 存在但只文档化了 MCP(或反之,或两者都有过时示例)。我们让两个接口面同步文档化。
失效的分层映射。 文档页写"免费:10次/天",实际返回"ERROR: quota exceeded"。我们的免费层是真的:1000次/天,不需要跟进邮件验证。
不透明的 401。 通用的认证失败,没有任何解决指引。当无密钥时,我们在 401 响应体中返回注册配方。
针对 Claude Desktop,只需将以下配置写入 claude_desktop_config.json:
{
"mcpServers": {
"buywhere": {
"command": "npx",
"args": ["-y", "@buywhere/mcp"],
"env": { "BUYWHERE_API_KEY": "<register from /v1/auth/register>" }
}
}
}
完整的改动记录、权衡取舍,以及前三次迭代中我们踩过的坑,都写在我们的博客上:https://buywhere.ai/blog/true-zero-human-self-serve-mcp-2026?utm_source=devto&utm_medium=post&utm_campaign=zero-human-mcp-launch&from=dev-community
如果你接入了但遇到了真实的 bug,我真的很想在评论区听到。诚实的权衡也在那篇文章里:1000次/天很慷慨但并非无限,企业级规模(每天数百万次调用、自定义目录、合同级 SLA)仍然需要联系我们。