mcpField
L
labelproof

labelproof

本地服务
github.com/CloudCorpRecords法律与政务02 天前更新

关于 labelproof

labelproof 用于只读查询 EPREL 公共登记册中的供应商申报能效标签数据,并生成记录查询过程的回执。它适用于产品上架或发货前检查;结果仅证明申报数据,不作合规或安全判定。

主要功能

  1. 01搜索 EPREL 产品记录
  2. 02获取结构化产品档案
  3. 03查看申报的标签数据
  4. 04比较共有产品指标
  5. 05生成签名查询回执

适用场景

  1. 01上架产品前检查标签记录
  2. 02查看申报的产品说明数据
  3. 03比较不同产品的记录
  4. 04留存预检查询回执

MCP 相关

它将一组已捕获的工具作为本地 MCP 服务提供,并将调用转发至托管预检服务,原样传递上游结果。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-labelproof": {
"command": "npx",
"args": [
"-y",
"@reneturcios/labelproof"
]
}
}
}
启动命令npx -y @reneturcios/labelproof

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/labelproof0.1.0
ocighcr.io/cloudcorprecords/labelproof:0.1.0

工具

5

收录的工具列表 · 更新于 2 天前

参数类型必填说明
productGroupstring否用于缩小搜索范围的产品组(必须受所查询的来源支持)。官方实时来源一次只搜索一个组:文本搜索(型号/品牌)必须指定产品组;注册号查询则不需要。
modelIdentifierstring否要搜索的供应商型号标识符。
supplierOrBrandstring否用于缩小搜索范围的供应商或贸易品牌。
registrationNumberstring否已知时填写公开注册号。

详细介绍

labelproof

labelproof 可帮助你在发布或上架产品前,查看公共 EPREL 注册库中关于其能效标签的实际记录,并保存你具体查询过哪些内容的凭证。

EPREL 保存的是由供应商申报的记录:品牌、型号、申报的标签和产品信息表数值。这些内容均未经独立核验,本工具也会据此处理。搜索会报告候选记录,并明确标注匹配类型;因此,未找到结果表示“在所查询的来源中没有匹配项”,绝不表示“未注册”。比较结果仅以普通表格列出共同的申报数值,不会选出优胜者。凭证工具会将你自己的查询汇总为一条带签名且幂等的记录,说明查询了什么以及何时查询。此处所有内容都只是预检证据:本软件包中的任何内容都不会判定合规性、CE 标志、GPSR 或安全问题,也不会判定市场准入资格。

查询本身由托管的预检服务处理。本软件包是本地部分:它根据该服务接口的留存副本响应 tools/list,并将每次调用转发至上游,原样返回答复。

工具

  • search_eprel_products — 通过 modelIdentifier、registrationNumber 或经 productGroup 限定的 supplierOrBrand 查找公共候选记录。文本搜索必须指定产品组,因为实时来源一次只搜索一个组;注册号查询则不需要。留存的架构中所有参数均为可选。匹配结果会标记为 exact_public_record、possible_match、multiple_matches 或 no_match_in_queried_source;如果来源无法正常应答,还会标记为 unavailable、source_schema_unverified 或 stale。
  • get_eprel_product_record — 通过 publicRecordId 展开一条候选记录,获取结构化记录:申报的供应商和组、申报字段、文档、缺失字段、来源信息和时效性。
  • get_eprel_energy_label_data — 获取一条 publicRecordId 对应的申报标签和产品信息表数值。答复会明确说明这些数据由供应商申报,未经独立核验。
  • compare_eprel_product_metrics — 对照两到五条记录(publicRecordIds,可选择用 metricKeys 缩小范围)共有的指标。不同产品组的记录会安全地返回 incompatible_comparison;可用标识符少于两个时会返回 insufficient_identifiers。
  • prepare_energy_label_preflight_receipt — 为一组查询出具证明。需要提供 bundle(待证明的指纹化结果,不含原始查询值)和 createdAt(汇总该 bundle 时的 ISO 时间戳)。签名凭证会记录输入、记录引用、来源、时效性和判定状态——它是检查过程的证据,而非检查结果的证据。

配置

  • EU_ENERGY_MCP_URL(可选)— 替换上游端点;默认值为 https://energy.mcp.jithox.com/mcp。此重建版本标注了这一覆盖接口。
  • EU_ENERGY_API_KEY(可选)— 设置后,每次请求都会将其值作为 Authorization: Bearer <value> 发送至上游;未设置时,不会有密钥请求头离开本机。原始服务的注册记录中声明了 Authorization 请求头名称,但该记录没有列出任何软件包环境变量,且接口是在无密钥的情况下留存的,因此环境变量名称、Bearer 格式以及转发行为均标注为重建内容。
转发工作原理

首次调用会在上游打开一个可流式传输的 HTTP JSON-RPC 会话:发送一个 initialize 请求 (protocolVersion 为 2025-03-26,clientInfo name 为 labelproof),一个 notifications/initialized 通知,然后发送携带原样参数的 tools/call 请求。如果上游 发出 Mcp-Session-Id,后续所有请求都会携带该 ID,并在 进程剩余时间内复用此会话。普通 JSON 格式和 服务器发送事件格式的响应均可解析。

上游结果会原样传递,包括上游设置的 isError 标志。本地中继故障——上游 JSON-RPC 错误、 非 2xx 响应、无法读取的响应正文,或未能完成的请求——会以 isError 结果的形式返回,其文本以 labelproof error: 开头 (对这次重建的标注式还原)。

CLI

每个工具也可以作为子命令使用,并接受一个 JSON 字符串参数:

npx @reneturcios/labelproof search_eprel_products '{"modelIdentifier":"WM-100","productGroup":"washingmachines"}'
npx @reneturcios/labelproof get_eprel_product_record '{"publicRecordId":"rec-42"}'
npx @reneturcios/labelproof prepare_energy_label_preflight_receipt '{"bundle":{"lookups":[]},"createdAt":"2026-10-28T09:00:00Z"}'
npx @reneturcios/labelproof --version

退出码:非错误结果为 0,isError 结果为 1,用法错误为 2。

MCP 服务

npx -y @reneturcios/labelproof mcp

MCP 客户端配置:

{
  "mcpServers": {
    "labelproof": {
      "command": "npx",
      "args": ["-y", "@reneturcios/labelproof", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/labelproof
docker run --rm ghcr.io/cloudcorprecords/labelproof --version

镜像默认执行 mcp 命令,因此第一种形式会运行 stdio MCP 服务;其他参数则传递给 CLI。

开发

npm install
npm run build
npm test
npm run dev

测试会模拟上游 JSON-RPC 服务;测试套件不会发起实时网络调用。

许可证

MIT——详见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。