newegg-pc-compatibility-checker

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

PC Compatibility Checker

PC兼容性检查工具

Verify hardware compatibility via Newegg's MCP endpoints over HTTP using standard JSON-RPC. Use the
bash
tool to call the endpoints — no MCP client registration required.
This skill does one thing: route the user's parts through Newegg's PC Builder compatibility endpoint and report what it says. It does not recommend new builds from scratch — that is outside scope.
通过HTTP调用Newegg的MCP端点,使用标准JSON-RPC验证硬件兼容性。使用
bash
工具调用端点——无需注册MCP客户端。
本工具仅负责一件事:将用户提供的硬件信息传入Newegg的PC Builder兼容性端点,并返回结果。它不提供从零开始的装机推荐——这超出了本工具的范围。

Agent Execution Rules

Agent执行规则

  • Reply in the user's language. Detect the language of the user's question and produce the entire response in that language — headings, explanations, fix proposals, everything. Chinese question → Chinese reply. English question → English reply. Japanese question → Japanese reply. Do not mix unless the user mixes first. The only exception is that raw data (item numbers, model names, the original English
    reasonTraces
    string in parentheses) stays as-is.
  • Do not guess compatibility from your own hardware knowledge. That is the exact failure mode this skill exists to prevent.
  • Do not ask for clarification when the user already gave you the parts. Infer item numbers / names from their message and call immediately.
  • Use the
    bash
    tool to run the curl commands below.
  • On curl failure or invalid JSON, report the error directly. Do not fall back to your own knowledge to produce a verdict.
  • 使用用户的语言回复。检测用户问题的语言,并以该语言生成完整回复——包括标题、说明、修复建议等所有内容。中文问题→中文回复,英文问题→英文回复,日文问题→日文回复。除非用户先混合使用多种语言,否则请勿混用。唯一例外是原始数据(商品编号、型号名称、括号内的英文
    reasonTraces
    字符串)保持原样。
  • 请勿凭借自身硬件知识猜测兼容性。这正是本工具要避免的错误模式。
  • 当用户已提供硬件信息时,请勿要求澄清。从用户消息中推断商品编号/名称并立即调用接口。
  • 使用**
    bash
    **工具运行以下curl命令。
  • 若curl调用失败或返回无效JSON,直接报告错误。请勿凭借自身知识给出兼容性结论。

Endpoints

接口端点

Required header on every request: all calls to
apis.newegg.com/ex-mcp/...
must carry
x-skill: newegg-pc-compatibility-checker
in addition to
Content-Type
. It identifies the calling skill to the endpoint — include it even when you assemble a request by hand rather than copying an example below.
PurposeEndpoint
Compatibility check
https://apis.newegg.com/ex-mcp/endpoint/ext-pc-builder
Product search
https://apis.newegg.com/ex-mcp/endpoint/product-search
product-search is only needed when the user gives you a model name without an item number — it resolves
name → ItemNumber
. When the user already gave item numbers, go straight to pc-builder.
每个请求必须携带的请求头:所有对
apis.newegg.com/ex-mcp/...
的调用,除
Content-Type
外,必须携带
x-skill: newegg-pc-compatibility-checker
。它用于向端点标识调用工具——即使手动组装请求而非复制示例,也需包含该请求头。
用途端点
兼容性检查
https://apis.newegg.com/ex-mcp/endpoint/ext-pc-builder
产品搜索
https://apis.newegg.com/ex-mcp/endpoint/product-search
仅当用户提供型号名称但未提供商品编号时,才需要使用product-search接口——它可将
名称
解析为
ItemNumber
。若用户已提供商品编号,直接调用pc-builder接口即可。

The flow

流程

Step 1 — Get every part as an item number

步骤1 — 获取所有硬件的商品编号

Look at what the user provided:
  • They gave item numbers (e.g.
    19-113-938
    ) → use them directly and skip straight to Step 2. No lookup needed. Always use the short hyphenated format (
    19-113-938
    ), never the long URL form (
    N82E16819113938
    ).
  • They gave model names (e.g. "Ryzen 9 9950X3D" + "ASUS B760M-AYW WIFI D4") → call product-search once per part (in parallel) to resolve each name into an
    ItemNumber
    .
  • Mixed → only search for the parts that do not already have item numbers.
product-search returns
ItemNumber
directly in the short-hyphenated format — that is everything you need to hand to pc-builder. Do not call any other endpoint for the name → item-number step.
If a search returns multiple candidates, pick the one whose
WebDescription
most closely matches the user's wording. Only ask the user to disambiguate when it is truly ambiguous (e.g. "DDR4 or DDR5 version of this kit?"). Do not ask three clarifying questions when one will do.
If product-search returns
total: 0
for a part
, do NOT silently substitute a similar part and proceed. The correct action is:
  1. Tell the user plainly that the part was not found in Newegg's catalog (likely out of stock or not carried). Name the specific part the user asked for.
  2. Offer to try a close substitute and describe what the substitute would be (same platform / generation / price tier), but wait for the user's confirmation before calling pc-builder with the substitute.
  3. If the user declines the substitute, stop. Do not fabricate an item number from your own knowledge — pc-builder will reject it and the verdict will be meaningless.
Silently swapping in a different part is a worse failure mode than reporting the search gap, because the user will not realize the final compatibility report is about a part they did not ask about.
查看用户提供的信息:
  • 用户提供了商品编号(例如
    19-113-938
    )→ 直接使用,跳过步骤2。无需查询。始终使用短连字符格式
    19-113-938
    ),切勿使用长URL格式(
    N82E16819113938
    )。
  • 用户提供了型号名称(例如“Ryzen 9 9950X3D” + “ASUS B760M-AYW WIFI D4”)→ 为每个硬件单独调用product-search接口(可并行调用),将名称解析为
    ItemNumber
  • 混合提供→ 仅对未提供商品编号的硬件进行搜索。
product-search接口直接返回短连字符格式的
ItemNumber
——这就是传入pc-builder接口所需的全部信息。名称→商品编号的步骤无需调用其他接口。
若搜索返回多个候选结果,选择
WebDescription
与用户描述最匹配的那个。仅当确实存在歧义时(例如“该内存套件是DDR4还是DDR5版本?”),才要求用户澄清。避免一次提出多个澄清问题。
若某硬件的product-search返回
total: 0
,请勿静默替换为类似硬件并继续操作。正确的处理方式是:
  1. 明确告知用户该硬件未在Newegg目录中找到(可能缺货或未上架),并指明用户询问的具体硬件。
  2. 提供相近替代硬件的选项,并说明替代硬件的情况(相同平台/世代/价格层级),但需等待用户确认后,再使用替代硬件调用pc-builder接口。
  3. 若用户拒绝替代硬件,停止操作。请勿凭借自身知识编造商品编号——pc-builder会拒绝该编号,导致结论毫无意义。
静默替换硬件比报告搜索失败的后果更严重,因为用户不会意识到最终的兼容性报告针对的并非他们询问的硬件。

Step 2 — Call pc-builder once with every item

步骤2 — 一次性调用pc-builder接口传入所有硬件

Call
comboCompatibleAll
with a space-separated list of short-hyphenated item numbers in a single
itemNumber
string. Do not call pairwise — pc-builder accepts the full set and computes conflicts internally.
curl -sS -X POST "https://apis.newegg.com/ex-mcp/endpoint/ext-pc-builder" \
  -H "Content-Type: application/json" \
  -H "x-skill: newegg-pc-compatibility-checker" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "comboCompatibleAll",
      "arguments": {
        "businessId": 2,
        "itemNumber": "<ITEM1> <ITEM2> <ITEM3>"
      }
    }
  }'
  • businessId
    is always
    2
    (fixed).
  • itemNumber
    is a space-separated string of short-hyphenated item numbers — e.g.
    "19-113-938 13-144-674"
    .
If the call returns a tool-not-found error, first run
tools/list
to discover the correct tool name:
curl -sS -X POST "https://apis.newegg.com/ex-mcp/endpoint/ext-pc-builder" \
  -H "Content-Type: application/json" \
  -H "x-skill: newegg-pc-compatibility-checker" \
  -d '{"jsonrpc":"2.0","id":0,"method":"tools/list"}'
调用
comboCompatibleAll
方法,在单个
itemNumber
字符串中传入以空格分隔的短连字符格式商品编号列表。请勿成对调用——pc-builder支持接收完整的硬件集合并在内部计算冲突。
curl -sS -X POST "https://apis.newegg.com/ex-mcp/endpoint/ext-pc-builder" \
  -H "Content-Type: application/json" \
  -H "x-skill: newegg-pc-compatibility-checker" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "comboCompatibleAll",
      "arguments": {
        "businessId": 2,
        "itemNumber": "<ITEM1> <ITEM2> <ITEM3>"
      }
    }
  }'
  • businessId
    固定为**
    2
    **。
  • itemNumber
    是以空格分隔的短连字符格式商品编号字符串——例如
    "19-113-938 13-144-674"
若调用返回工具未找到的错误,请先运行
tools/list
以获取正确的工具名称:
curl -sS -X POST "https://apis.newegg.com/ex-mcp/endpoint/ext-pc-builder" \
  -H "Content-Type: application/json" \
  -H "x-skill: newegg-pc-compatibility-checker" \
  -d '{"jsonrpc":"2.0","id":0,"method":"tools/list"}'

pc-builder response shape

pc-builder响应结构

Parse the path:
response → result.content[0].text → (parse as JSON) → verdict
Fields on the verdict object:
FieldDescription
isCompatible
true
→ all parts compatible.
false
→ at least one conflict
incompatibleItems[]
Present only when
isCompatible: false
. One entry per conflicting pair
incompatibleItems[].itemNumber
One side of the conflict
incompatibleItems[].relatedItemNumber
The other side of the conflict
incompatibleItems[].reason
Single summary line of the conflict
incompatibleItems[].uncompatibleInfo
Usually duplicates
reason
incompatibleItems[].reasonTraces[]
Array of every specific rule that failed. Always read this, not just
reason
解析路径:
response → result.content[0].text → (解析为JSON) → 结论
结论对象的字段:
字段描述
isCompatible
true
→所有硬件兼容;
false
→至少存在一处冲突
incompatibleItems[]
仅当
isCompatible: false
时存在。每个条目对应一组冲突硬件
incompatibleItems[].itemNumber
冲突的其中一方硬件
incompatibleItems[].relatedItemNumber
冲突的另一方硬件
incompatibleItems[].reason
冲突的单行总结
incompatibleItems[].uncompatibleInfo
通常与
reason
重复
incompatibleItems[].reasonTraces[]
所有未通过规则的数组。务必查看该字段,而非仅依赖
reason

Step 3 — Report the verdict honestly

步骤3 — 如实报告结论

If
isCompatible: true
:
Say so plainly, list what was checked, and stop. Do not invent caveats from your own knowledge.
Exception — PSU wattage disclosure. pc-builder's rules cover sockets, chipsets, memory type, physical fit, and electrical interfaces — but they do not validate that a PSU's wattage meets the GPU manufacturer's recommended minimum. So a 750W PSU paired with an RTX 5090 will return
isCompatible: true
even though Nvidia recommends 1000W.
Whenever a PSU is among the checked items AND
isCompatible: true
, append one neutral line to the report:
⚠️ pc-builder does not verify PSU recommended wattage against the GPU's requirements. Please cross-check your PSU against your GPU manufacturer's official wattage recommendation before assembling.
This is not "adding a caveat from your own knowledge" — it is a known, documented limitation of the MCP, and the user needs to know the compatibility engine's scope.
If
isCompatible: false
:
Walk through
incompatibleItems[]
one entry at a time. For each entry:
  1. Refer to the two conflicting items using whatever the user gave you in their original question:
    • User gave model names → use those names (e.g. "Ryzen 9 9950X3D ↔ ASUS B760M-AYW").
    • User gave bare item numbers → use the item numbers (e.g. "19-113-938 ↔ 13-144-674").
    • User gave a mix → use names where they gave names, item numbers where they gave item numbers. Do not do a lookup just to pretty-print.
  2. List every entry in
    reasonTraces
    — not just
    reason
    . Each trace is a separate failed rule and the user deserves to see all of them.
  3. Translate each
    reasonTrace
    into the user's language (per the top-level "Reply in the user's language" rule), with the original English string in parentheses for reference. The MCP returns slightly stilted English (
    "doesn't support with Socket AM5"
    ) that reads better translated — but the user still benefits from seeing the original so they can look up the exact rule if needed.
isCompatible: true
:直接说明结果,列出已检查的硬件,然后停止。请勿凭借自身知识添加额外注意事项。
例外——PSU功率披露。pc-builder的规则涵盖插槽、芯片组、内存类型、物理尺寸和电气接口,但不验证PSU功率是否满足GPU制造商推荐的最低要求。因此,750W PSU搭配RTX 5090会返回
isCompatible: true
,尽管英伟达推荐1000W功率。
当已检查的硬件包含PSU且
isCompatible: true
时,需在报告末尾添加一条中立提示:
⚠️ pc-builder未验证PSU推荐功率是否符合GPU的要求。组装前请对照GPU制造商的官方功率推荐交叉检查您的PSU。
这并非“凭借自身知识添加注意事项”——这是MCP的已知文档限制,用户需要了解兼容性引擎的适用范围。
isCompatible: false
:逐个遍历
incompatibleItems[]
条目。对于每个条目:
  1. 使用用户原始问题中提供的信息指代冲突的两组硬件:
    • 用户提供了型号名称→使用该名称(例如“Ryzen 9 9950X3D ↔ ASUS B760M-AYW”)。
    • 用户提供了商品编号→使用该编号(例如“19-113-938 ↔ 13-144-674”)。
    • 用户混合提供→在用户提供名称的地方使用名称,提供编号的地方使用编号。无需为了美观而额外查询。
  2. 列出所有
    reasonTraces
    条目——而非仅
    reason
    。每个条目对应一条未通过的规则,用户有权了解全部信息。
  3. 将每个
    reasonTrace
    翻译为用户使用的语言(遵循“使用用户的语言回复”规则),并在括号中保留原始英文字符串供参考。MCP返回的英文表述略显生硬(例如
    "doesn't support with Socket AM5"
    ),翻译后可读性更好,但用户仍可通过原始字符串查阅具体规则。

Step 4 — Suggest a fix and re-verify

步骤4 — 提出修复建议并重新验证

After explaining the conflict, propose a concrete fix:
  • Socket / chipset / DDR-generation mismatch → swap the smaller/cheaper side (usually the motherboard or RAM, not the CPU).
  • PSU undersized vs GPU → suggest a specific replacement PSU.
  • Physical fit (case clearance, cooler height) → swap a part of the same category.
Use product-search to find the replacement part, then call pc-builder again with the updated item list to verify. Do not declare the fix valid from your own reasoning — re-run pc-builder. Iterate until
isCompatible: true
or the user changes scope.
解释冲突后,提出具体的修复方案:
  • 插槽/芯片组/DDR世代不匹配→更换更小/更便宜的组件(通常是主板或内存,而非CPU)。
  • PSU功率相对于GPU不足→建议具体的替代PSU。
  • 物理尺寸不兼容(机箱空间、散热器高度)→更换同类别组件。
使用product-search接口查找替代硬件,然后再次调用pc-builder接口传入更新后的硬件列表进行验证。请勿凭借自身推理判定修复方案有效——需重新运行pc-builder。重复此过程直到
isCompatible: true
或用户更改需求范围。

Response format

回复格式

Use this structure when reporting the verdict to the user:
Compatible:
undefined
向用户报告结论时,请使用以下结构:
兼容:
undefined

Compatibility check: ✅ Compatible

兼容性检查:✅ 兼容

Checked:
  • <user's name for item 1> (<item number>)
  • <user's name for item 2> (<item number>)
  • ...
All parts are compatible according to Newegg PC Compatibility Checker.

**Incompatible:**
已检查硬件:
  • <用户对硬件1的称呼> (<商品编号>)
  • <用户对硬件2的称呼> (<商品编号>)
  • ...
根据Newegg PC兼容性检查工具,所有硬件均兼容。

**不兼容:**

Compatibility check: ❌ Incompatible

兼容性检查:❌ 不兼容

Conflict 1: <name1><name2>
  • <reasonTraces[0]>
  • <reasonTraces[1]>
  • ...
Conflict 2: ...
冲突1:<名称1> ↔ <名称2>
  • <reasonTraces[0]的翻译>(原始英文:<reasonTraces[0]>)
  • <reasonTraces[1]的翻译>(原始英文:<reasonTraces[1]>)
  • ...
冲突2:...

Suggested fix

建议修复方案

<specific replacement part with item number>
<带商品编号的具体替代硬件>

Re-verification

重新验证结果

[call pc-builder again → report new isCompatible]

All headings, labels, and explanations in the response template above must be translated into
the user's language. The English text shown in the template is a structural placeholder — do not
ship English section headers (`## Compatibility check`, `### Suggested fix`, etc.) to a
non-English-speaking user.
[再次调用pc-builder接口→报告新的isCompatible状态]

上述回复模板中的所有标题、标签和说明均需翻译为用户使用的语言。模板中的英文文本仅为结构占位符——请勿向非英语用户发送英文章节标题(如`## Compatibility check`、`### Suggested fix`等)。

Hard rules

硬性规则

  • Item numbers go to pc-builder in short hyphenated format (
    19-113-938
    ), not the long form (
    N82E16819113938
    ).
  • Never claim compatibility without an
    isCompatible: true
    from pc-builder. No verdicts derived from your own knowledge. Ever.
  • Never claim incompatibility without an
    isCompatible: false
    from pc-builder. Even for "obvious" cases (AMD CPU + Intel motherboard), still call pc-builder so the user sees the authoritative verdict and the specific reasons.
  • Read
    reasonTraces
    , not just
    reason
    — the array has more detail than the summary string.
  • Reuse whatever the user gave you when reporting conflicts — names if they gave names, item numbers if they gave item numbers. Do not run extra lookups to pretty-print.
  • Re-verify after any fix by calling pc-builder again with the updated set.
  • 传入pc-builder的商品编号必须为短连字符格式
    19-113-938
    ),而非长格式(
    N82E16819113938
    )。
  • 仅当pc-builder返回
    isCompatible: true
    时,才可声明硬件兼容
    。绝不凭借自身知识给出结论。
  • 仅当pc-builder返回
    isCompatible: false
    时,才可声明硬件不兼容
    。即使是“明显”的情况(如AMD CPU + Intel主板),仍需调用pc-builder,以便用户查看权威结论和具体原因。
  • 查看
    reasonTraces
    而非仅依赖
    reason
    ——该数组包含比总结字符串更详细的信息。
  • 报告冲突时复用用户提供的信息——用户提供名称则用名称,提供编号则用编号。无需额外查询以美化输出。
  • 任何修复方案提出后都需重新验证——所有建议更换的硬件必须再次通过pc-builder接口验证,才可作为解决方案呈现。

Out of scope

超出范围的场景

  • Building a new PC from scratch when the user has not picked specific parts. Tell them this skill is for verifying parts they already have in mind, and answer their build-recommendation question normally without this skill.
  • Recommending parts based on price / performance opinions when the user only asked about compatibility. Stay focused on the compatibility question.
  • Inventing compatibility rules pc-builder did not return. If the MCP says valid, do not add fake caveats; if invalid, do not expand on reasons it did not give.
  • 用户尚未选定具体组件,从零开始装机的推荐。告知用户本工具仅用于验证已选定的硬件,然后以常规方式回复装机推荐问题,无需使用本工具。
  • 用户仅询问兼容性时,基于价格/性能观点推荐硬件。专注于兼容性问题即可。
  • 编造pc-builder未返回的兼容性规则。若MCP判定有效,请勿添加虚假注意事项;若判定无效,请勿扩展其未提及的原因。

Common pitfalls

常见误区

  • Doing extra lookups to translate item numbers into names when the user already gave you item numbers and will recognize them. Wasteful and slow — just report what the user gave you.
  • Translating only
    reason
    and ignoring
    reasonTraces
    — the user loses information about every failed rule.
  • Using the long-form item number (
    N82E16819113938
    ). pc-builder expects the short form.
  • Skipping pc-builder for "obvious" cases like AMD CPU + Intel motherboard. The whole point of the skill is that the verdict comes from the MCP, not from you.
  • Suggesting a fix without re-verifying — every proposed swap must go through pc-builder again before being presented as a solution.
  • Silently substituting a part when product-search returns 0 results. If Newegg does not have the exact part the user asked about, you must tell the user and ask — not quietly proceed with a similar part. The final verdict must always be about the parts the user actually asked about.
  • Omitting the PSU wattage disclaimer when reporting an
    isCompatible: true
    build that includes a PSU. pc-builder does not check that the PSU is big enough for the GPU; tell the user that explicitly instead of letting them assume the green check covers it.
  • 当用户已提供商品编号时,额外查询将编号转换为名称——既浪费时间又无必要,直接报告用户提供的信息即可。
  • 仅翻译
    reason
    而忽略
    reasonTraces
    ——用户会丢失所有未通过规则的信息。
  • 使用长格式商品编号
    N82E16819113938
    )。pc-builder要求使用短格式。
  • 对于“明显”的情况跳过pc-builder调用,如AMD CPU + Intel主板。本工具的核心意义在于结论来自MCP,而非自身知识。
  • 提出修复方案但未重新验证——所有建议的更换必须再次通过pc-builder接口验证后,才可呈现给用户。
  • 当product-search返回0结果时,静默替换硬件。若Newegg没有用户询问的 exact硬件,必须告知用户并征得同意——切勿擅自使用类似硬件继续操作。最终结论必须始终针对用户实际询问的硬件。
  • 当包含PSU的配置返回
    isCompatible: true
    时,遗漏PSU功率提示
    。pc-builder不检查PSU功率是否满足GPU需求;需明确告知用户,避免其误以为绿色对勾涵盖了所有情况。

Edge cases

边缘情况

  • HTTP error or curl failure: Report status code and body. Do not retry silently and do not fall back to your own compatibility knowledge.
  • result.error
    in response
    : Display
    error.message
    to the user.
  • incompatibleItems
    empty but
    isCompatible: false
    : Treat as an upstream bug — tell the user the service returned an inconsistent response and ask them to retry.
  • incompatibleItems
    pairs the same
    itemNumber
    with multiple
    relatedItemNumber
    s
    : Report each pair separately; do not collapse them.
  • HTTP错误或curl调用失败:报告状态码和响应体。请勿静默重试,也请勿凭借自身兼容性知识给出结论。
  • 响应中包含
    result.error
    :向用户显示
    error.message
  • incompatibleItems
    为空但
    isCompatible: false
    :视为上游bug——告知用户服务返回了不一致的响应,并请用户重试。
  • incompatibleItems
    中同一
    itemNumber
    与多个
    relatedItemNumber
    配对
    :分别报告每一对冲突,请勿合并。