保持适配器
MCP服务器+OpenClaw技能,通过 保持API.18个MCP工具,涵盖价格、BSR趋势、购买框变化、变体系列、月度销售额、优惠券/交易跟踪、卖家统计、类别查找以及100多个ASIN的促销影响。
设置
git clone https://github.com/your-org/keepa-adapter.git
cd keepa-adapter
npm install
cp .env.example .env
# Edit .env and add your Keepa API key通过克劳德桌面MCPB安装
最简单的Claude Desktop安装路径是 .mcpb GitHub发布的捆绑包。
- 下载
keepa-adapter-vX.Y.Z.mcpb从最新版本。 - 打开
.mcpb使用Claude Desktop创建文件。 - 当Claude要求时,输入您的Keepa API密钥
Keepa API Key. - 如果Claude Desktop提示您,请启用或重新启动扩展。
- 开始新的Claude聊天,并确认Keepa工具可用。
该捆绑包将您的密钥传递给本地MCP服务器,如下所示 KEEPA_API_KEY。可选设置,如 KEEPA_TOKENS_PER_MINUTE, KEEPA_DEFAULT_DOMAIN,以及 KEEPA_DB_PATH 仍然可用于手动MCP安装。
捆绑包使用 sql.js,因此它不会在Claude Desktop中加载本机Node插件。这避免了Node ABI重建问题和SQLite的macOS Electron代码签名失败。
构建本地MCPB
npm install
npm run mcpb:validate
npm run mcpb:pack包装好的捆绑包写在:
release/keepa-adapter-v1.1.1.mcpb
release/keepa-adapter.mcpb为网站下载链接使用稳定的文件名:
https://github.com/BWB03/keepa-adapter/releases/latest/download/keepa-adapter.mcpb环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
KEEPA_API_KEY | 是 | - | 您的Keepa API密钥 |
KEEPA_TOKENS_PER_MINUTE | 没有 | 5 | Keepa计划的代币充值率 |
KEEPA_DEFAULT_DOMAIN | 没有 | com | 默认亚马逊市场(例如。 uk, de, jp, ca, au) |
KEEPA_DB_PATH | 没有 | ~/.keepa-adapter/keepa.db | SQLite数据库的路径 |
国际市场
所有工具都通过以下方式支持国际亚马逊市场 domain 参数。集 KEEPA_DEFAULT_DOMAIN 在你的 .env 为了避免在每次通话中传递它:
# .env
KEEPA_DEFAULT_DOMAIN=uk # All tools now default to Amazon.co.uk支持的域名: com (美国), uk, de, fr, jp, ca, cn, it, es, in, mx, br, au
您仍然可以通过传递来覆盖每次呼叫 domain 明确地指向任何工具。
用法
作为MCP服务器(克劳德桌面)
如果您更喜欢手动JSON配置而不是 .mcpb 安装程序,将此服务器添加到Claude Desktop的MCP配置中(claude_desktop_config.json):
{
"mcpServers": {
"keepa-adapter": {
"command": "node",
"args": ["/path/to/keepa-adapter/dist/index.js"],
"env": {
"KEEPA_API_KEY": "your_key_here"
}
}
}
}或者以开发模式运行:
npm run dev克劳德代码/法典设置
Claude Code、Codex和其他stdio MCP客户端在从源代码构建后可以使用相同的本地服务器命令:
{
"mcpServers": {
"keepa": {
"command": "node",
"args": ["/absolute/path/to/keepa-adapter/dist/index.js"],
"env": {
"KEEPA_API_KEY": "your_key_here"
}
}
}
}对于Codex CLI样式的配置,请使用客户端支持的等效命令/args/env shape:
[mcp_servers.keepa]
command = "node"
args = ["/absolute/path/to/keepa-adapter/dist/index.js"]
[mcp_servers.keepa.env]
KEEPA_API_KEY = "your_key_here"作为OpenClaw技能(适用于机器人)
import { KeepaSkill } from "keepa-adapter";
const skill = new KeepaSkill({ apiKey: "your_key" });
// Fetch product data
const products = await skill.getProduct(["B0012ZQPKG"]);
// Get daily alerts for Telegram/Slack/etc.
const alerts = await skill.getAlerts();
const summary = await skill.getDailySummary();每日收集(日程安排)
一次性收集所有跟踪的ASIN:
# Via npm
npm run collect
# Or directly
npx tsx src/scheduler/runner.ts使用cron安排日常监控:
0 6 * * * cd /path/to/keepa-adapter && KEEPA_API_KEY=xxx npm run collectMCP工具参考
阅读工具
| 工具 | 说明 |
|---|---|
keepa_get_product | 获取1-100个ASIN的当前产品数据(标题、品牌、价格、BSR、评级、购买框、图片、功能、变化、每月销售额、报价计数、缺货率、订阅和保存状态) |
keepa_get_price_history | 获取价格/排名/评论时间序列历史记录(包括标价、闪电交易、FBA/FBM价格、报价计数) |
keepa_get_buy_box | 获取购买箱所有权、卖家信息和优惠 |
keepa_get_variations | 获取变异家谱(父/子关系) |
keepa_check_tokens | 检查剩余的API令牌和刷新率 |
监控工具
| 工具 | 说明 |
|---|---|
keepa_track_asins | 将ASIN添加到监控列表中 |
keepa_take_snapshot | 获取+存储快照,返回与之前相比的更改 |
keepa_get_changes | 按ASIN、严重性或日期范围查询检测到的更改 |
keepa_analyze_bsr_trend | 分析BSR趋势并标记恶化 |
keepa_check_variations | 检查孤儿、父母变更、属性漂移 |
市场情报工具
| 工具 | 说明 |
|---|---|
keepa_get_sales_history | 获取月度销售量时间序列(随时间推移的销售量) |
keepa_get_deals | 获取优惠券历史记录、活动促销和闪电交易数据 |
keepa_get_seller_stats | 获取每个卖家的购买箱获胜百分比、平均价格和FBA状态 |
keepa_get_best_sellers | 获取某一类别的最畅销ASIN列表 |
keepa_get_category | 查找类别详细信息(姓名、家长、孩子、产品数量) |
促销工具
| 工具 | 说明 |
|---|---|
keepa_add_promo | 注册促销活动(优惠券、闪电优惠等) |
keepa_list_promos | 列出ASIN的促销活动 |
keepa_analyze_promo_impact | 在促销之前、期间和之后衡量排名/价格上涨 |
示例提示
通过Claude Desktop连接后,请尝试:
- “显示ASIN B0012ZQPKG的产品数据”
- “跟踪这些ASIN:B0012ZQPKG、B001234567”
- “拍摄所有跟踪的ASIN的快照,并向我展示发生了什么变化”
- “分析B0012ZQPKG过去10天的BSR趋势”
- “检查我跟踪的任何产品是否丢失了购买框”
- “从今天开始为B0012ZQPKG添加优惠券促销”
- “显示B0012ZQPKG的销售历史记录”
- “B0012ZQPKG有哪些优惠或优惠券?”
- “按卖家显示B0012ZQPKG的购买箱统计数据”
- “3760911类别中最畅销的是什么?”
- “查找类别3760911”
- “我还剩下多少API令牌?”
价格格式
所有价格字段(amazon_price, new_price, buy_box_price)返回 美元不是美分。适配器会自动转换Keepa的原始分数值。
snapshot.new_price → 35.99 (dollars, ready to display)做 不 除以100——转换已经完成。Keepa的API以美分为单位返回价格(例如。 3599),但适配器在内部处理。
变更检测严重性
比较快照时,会对更改进行分类:
| 严重性 | 触发器 |
|---|---|
| 关键的 | 标题更改,购买框卖家更改,父母ASIN丢失/更改(孤儿) |
| 警告 | 图片发生变化,BSR恶化>20%,亚马逊价格变化>10%,评级下降,月销售额下降>30%,新报价数量变为0,缺货率增加≥10分 |
| 信息 | 评论计数已更改,功能已更改,描述已更改,新优惠计数更改>50%,订阅和保存状态已更改 |
发展
npm run build # Build with tsup
npm test # Run unit tests
npm run mcpb:validate # Validate MCPB bundle
npm run mcpb:pack # Build release/keepa-adapter-vX.Y.Z.mcpb
npm run test:watch # Watch mode
npm run test:integration # Integration tests (requires KEEPA_API_KEY)
npm run discover # Hit live API and save raw response for schema modelingMCPB释放流
版本标签创建带有打包的GitHub版本 .mcpb 附属的:
git tag v1.1.1
git push origin v1.1.1发布工作流运行测试、构建适配器、验证MCPB清单、打包捆绑包并上传 release/*.mcpb 作为一种释放资产。
MCPB测试检查表
- 跑
npm test. - 跑
npm run build. - 跑
npm run mcpb:validate. - 跑
npm run mcpb:pack. - 确认
release/keepa-adapter-v1.1.1.mcpb存在。 - 确认
release/keepa-adapter.mcpb存在稳定的网站下载链接。 - 打开
.mcpb使用Claude Desktop创建文件。 - 进入
KEEPA_API_KEY在安装表单中。 - 确认Keepa工具出现在Claude Desktop中。
- 进行低成本通话,例如
keepa_check_tokens. - 使用丢失的密钥或无效的密钥临时安装,并确认适配器返回一个明确的API-key错误,而不是崩溃。
- 推送版本标签并确认GitHub Action附加了
.mcpb释放。
故障排除
- Claude Desktop不显示工具: 重新启动Claude Desktop,确认扩展已启用,然后重新安装
.mcpb如果需要的话。 - 缺少API密钥错误: 重新安装或编辑扩展配置,并输入有效的Keepa API密钥。
- Keepa密钥或令牌错误无效: 验证密钥是否直接与Keepa兼容,并有足够的令牌预算。
- 节点/运行时错误: 使用
.mcpb尽可能安装路径。对于手动安装,请确认node --version是18或更新。 - 生成输出看起来过时: 跑
npm run build那么npm run mcpb:pack再一次。 - 网络/API故障: 确认运行Claude Desktop的机器可以访问
https://api.keepa.com. - 手动JSON配置不起作用: 使用绝对路径
dist/index.js,保持command作为node,并在编辑配置后重新启动MCP客户端。
代币预算
Keepa对每个API调用收取令牌费用。5个令牌/分钟(默认计划):
- 7200个代币/天 --每天100个ASIN是舒适的
- 每次呼叫最多可批量处理100个ASIN,以提高效率
- 令牌成本在每次响应中都会浮出水面,这样克劳德/机器人就可以提前计划
- 速率限制器通过API响应头进行自调整
升级您的Keepa计划,以实现更快的扫描和按需历史提取。
许可证
麻省理工学院
