TracePass

eu.tracepass由 tracepass.eu 发布官方发布者v1.25.0更新于 Nov 7, 2026

Manage products, EU Digital Product Passports, operator parties, and GS1 EPCIS supply-chain events.

已验证Streamable HTTP可网页运行开发者工具数据与分析商业与电商

概览

AI 生成的概览

TracePass MCP 服务器,让 AI 助手管理产品、欧盟数字产品护照、经营者主体以及 GS1 EPCIS 供应链事件。

可以做什么
  • 列出、读取、创建和更新产品目录,支持批量创建
  • 按 ID 或序列号列出、读取、创建数字产品护照,并做合规差距检查,获取二维码、快照和条件标志
  • 更新护照数据字段,设置或移除制造商、进口商、回收商等经营者主体
  • 导出、采集和查询 GS1 EPCIS 2.0 供应链事件,并上传电池测量数据
  • 读取各护照类别的法规字段模板,判断某类产品是否需要护照
  • 执行面向公众的生命周期操作:投放市场、暂停、归档
适用场景
适用于在 TracePass 平台上开展数字产品护照工作的企业,希望助手起草护照、填写字段与主体信息、检查合规缺口或审阅供应链事件记录,而无需切换到网页后台。
运行要求
需要 TracePass 账户,以及 OAuth(仅托管端点)或作为 Authorization 承载令牌发送的 TracePass API 密钥。托管端点无需安装;本地 npm 包通过 npx 以 stdio 运行,密钥通过 TRACEPASS_API_KEY 环境变量提供。需要能访问 TracePass API 的网络。
安装前请注意
写入操作计入每日 API 配额,部分操作会产生费用或不可撤销:归档会永久使公开二维码失效,投放市场属于法律行为。调用生命周期操作前须与用户确认,避免批量创建护照。合规结论由人工依据法规编写,并非欧盟官方文件,也不构成法律意见。API 密钥拥有整个工作区的权限;OAuth 权限范围更窄且可撤销。

安装

在 SourceWeft 中

  1. 打开 控制台中的 TracePass,将其添加到工作区。
  2. 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/eu.tracepass%2Ftracepass/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "tracepass": {
      "type": "http",
      "url": "https://ai.tracepass.eu/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

TracePass MCP Server

[Listed on Glama] [smithery badge]

A Model Context Protocol server for TracePass — the EU Digital Product Passport platform. It lets AI assistants (Claude, Cursor, IDE agents) manage products, Digital Product Passports, economic-operator parties, and GS1 EPCIS 2.0 supply-chain events.

It speaks the full MCP protocol — tools, resources, resource templates, and prompts.

Two ways to use it

The same server core ships two ways:

  1. Hosted — point your MCP client at https://ai.tracepass.eu/mcp. Nothing to install; always current.
  2. Local (npm) — run tracepass-mcp-server via npx. The MCP client launches it as a subprocess and speaks MCP over stdio.

Authentication

The server accepts either of TracePass's two v1 auth methods on the same Authorization: Bearer … header — it forwards whatever you send to the API, which decides. Pick the one that fits how you're connecting:

API keyOAuth 2.0
Best forA single user, scripts, server-to-serverAI assistants / apps acting on a user's behalf
What you sendA static tp_… key as a Bearer tokenA scoped access token obtained via the OAuth flow
SetupMint at Developer → API KeysThe user clicks Connect and approves scopes
ScopeAll-or-nothing (the whole workspace)Exactly the scopes the user granted; revocable
Works withHosted and local (npx)Hosted endpoint only (needs a browser consent step)

Which should an AI assistant use? If your MCP client supports OAuth (Claude.ai, ChatGPT, and others), prefer OAuth — the user authorizes the connection once on a TracePass consent screen, you never handle a secret, and access is least-privilege and revocable. If your client only takes a header/token, use an API key.

OAuth 2.0 (recommended for hosted clients)

No config beyond pointing your client at the hosted endpoint — discovery is automatic. On the first unauthenticated request the server returns a 401 whose WWW-Authenticate header carries a resource_metadata URL (RFC 9728) pointing at /.well-known/oauth-protected-resource, which names the TracePass authorization server. The client runs the standard authorization-code flow with PKCE (/api/oauth/authorize → /api/oauth/token), the user approves scopes, and the client stores + refreshes the token. If you distribute your own client, register an app under Developer → OAuth Apps to get a client_id; many hosted clients self-register via Dynamic Client Registration automatically.

Request only the scopes you need, e.g. passports:read passports:write offline_access. Users manage connected apps (and revoke) under Developer → OAuth Apps → Connected Apps.

API key

Mint a tp_… key under Developer → API Keys and send it as a Bearer token.

Hosted:

json
{  "mcpServers": {    "tracepass": {      "url": "https://ai.tracepass.eu/mcp",      "headers": { "Authorization": "Bearer tp_YOUR_KEY" }    }  }}

Local (npx / stdio) — the local subprocess can't do an interactive OAuth consent step, so it's API-key only, via the TRACEPASS_API_KEY env:

json
{  "mcpServers": {    "tracepass": {      "command": "npx",      "args": ["-y", "tracepass-mcp-server"],      "env": {        "TRACEPASS_API_KEY": "tp_YOUR_KEY"      }    }  }}

Optional env vars:

VarDefaultPurpose
TRACEPASS_BASE_URLhttps://app.tracepass.euOverride the TracePass API base URL (e.g. point at a local stack).
TRACEPASS_AUTH_SERVER_URLhttps://app.tracepass.euPublic OAuth authorization-server origin advertised in discovery metadata. Set this when TRACEPASS_BASE_URL is an internal address.
MCP_BODY_LIMIT_BYTES1048576 (1 MB)Maximum request body size. Requests over the limit are rejected with 413 before reaching the SDK.
MCP_BATCH_LIMIT10Maximum JSON-RPC messages in a single batch request. Oversized batches are rejected with 400 batch_too_large.
PORT8080Listen port for the hosted HTTP service.

The hosted endpoint accepts POST only on /mcp, /compliance/mcp, and the supplier paths. GET and DELETE are rejected with 405 to prevent the SDK's stateless transport from opening an unbounded SSE stream.

Tools

The TracePass v1 API operations are grouped into 8 tools. Each takes an action enum plus action-specific arguments. The tools are:

  • tracepass_products - manage the product catalogue (list, get, create, create_batch, update products).
  • tracepass_passports - manage Digital Product Passports (list, get, compliance check, registry-readiness check, prepare an EU DPP Registry registration, record an acceptance test, get/set condition flags, create, get QR, list snapshots, get snapshot), by id or by serial. Passports are identified via GS1 or four additional EN 18219 schemes (iso15459, iec61406, did, doi); battery passports accept only gs1 and iso15459 (Art. 77(3)). Condition flags are approved yes/no facts (e.g. battery: hasBMS, rechargeable, externalStorageOnly, isStationaryBess) that gate conditional legal duties — setting an approved flag may make additional fields required and block publishing if those fields are empty.
  • tracepass_passport_fields - update a passport's category-specific data fields, by id or by serial.
  • tracepass_passport_parties - set or remove a passport's economic-operator parties (manufacturer, importer, etc.).
  • tracepass_epcis - export, capture, and query a passport's GS1 EPCIS 2.0 supply-chain events.
  • tracepass_templates - list and get the DPP category field schemas, each field traced to the EU instrument that mandates it.
  • tracepass_scope - check whether a product type needs a Digital Product Passport (check), read the company's catalogue-wide scope report (catalogue_report), and trigger or poll a catalogue refresh run (catalogue_run, catalogue_run_status).
  • tracepass_passport_lifecycle - irreversible and public-facing passport and product lifecycle actions (record_registration, undo_registration, place_on_market, suspend, archive, archive_product); the assistant must confirm with the user before each call.

Each tool's full action set:

ToolActions
tracepass_productslist, get, create, create_batch, update
tracepass_passportslist, get, get_by_serial, compliance, registry_readiness, prepare_registry_upi, prepare_registry_upload_file, record_acceptance_test, get_condition_flags, get_condition_flags_by_serial, set_condition_flags, set_condition_flags_by_serial, capture_measurements, capture_measurements_by_serial, list_measurements, list_measurements_by_serial, latest_measurements, latest_measurements_by_serial, create, get_qr, get_qr_by_serial, list_snapshots, get_snapshot
tracepass_passport_fieldsupdate, update_by_serial
tracepass_passport_partiesset, remove
tracepass_epcisexport, export_by_serial, capture, capture_job, query
tracepass_templateslist, get
tracepass_scopecheck, catalogue_report, catalogue_run, catalogue_run_status
tracepass_passport_lifecyclerecord_registration, undo_registration, place_on_market, suspend, suspend_by_serial, archive, archive_by_serial, archive_product

Changed in 1.24.0: archive, archive_by_serial, suspend, suspend_by_serial, and place_on_market moved from tracepass_passports to tracepass_passport_lifecycle; archive on products moved there as archive_product. This separates irreversible and public-facing actions so a client's "always allow" on the read-only passport tool no longer also allows them. Calls to the old names on the old tools return an error naming the new tool.

The *_by_serial actions address a passport by the customer's own serial number instead of its TracePass id. A serial is unique only within a GTIN, so if the same serial exists under two GTINs in your account a serial-only call returns 409 ambiguous_serial — pass the optional gtin arg to disambiguate (or use the by-id action). The same gtin disambiguator applies to every *_by_serial action.

The tracepass_passports compliance action returns a three-tier compliance verdict (compliant / compliant_with_warnings / incomplete) with regulation-cited findings — missing required fields, missing economic-operator parties, format issues, and per-category conditional rules. Read-only; use it to gap-check a passport, fix the cited gaps, then re-check.

A compliant verdict means this passport satisfies the rules encoded here, not this product may be placed on the market. The field specifications are hand-authored from the regulations, not an official EU artefact, and delegated acts are still landing. It is not legal advice.

Second-life batteries

A repurposed, remanufactured or reused battery needs a new passport linked to the original one(s) (Battery Regulation Art. 77(7)). Pass a lineage block to tracepass_passports create:

json
{ "predecessors": [ { "internalPassportId": "<your original passport id>", "trigger": "repurposing" } ] }

A predecessor is named by internalPassportId (one of your own passports) or by its resolvable identifier. trigger is one of preparation_for_reuse, preparation_for_repurposing, repurposing or remanufacturing. The platform derives batteryStatus from the triggers, stores the block immutably, and links your own originals back to the new passport (successors). A battery placed on the market before 18 Feb 2027 has no original passport: send an empty list with noPredecessorReason. Rule violations return 422 with the rule code.

Battery measurements (living record)

capture_measurements pushes over-life data from your own equipment into a published battery passport: state of health, fades, cycle counts, dynamic values, state of charge, negative events, temperature history (Battery Regulation Annex XIII point 4). Every measurement is kept; the newest per field becomes the passport's current value and sets dynamicDataAsOf. list_measurements and latest_measurements read them back.

They are metered against the plan's monthly measurement allowance, not the daily write budget. Paid plans keep counting past the allowance at no charge; the Free plan stops at its allowance. Reading a passport is never metered.

Registering a battery passport in the EU DPP Registry

The economic operator registers a battery passport itself, on the EU DPP Registry website under its own EU Login. TracePass prepares what the operator submits and records what the operator reports; it never submits to the Registry and never verifies the outcome.

  1. tracepass_passports registry_readiness — would the Registry's formal checks pass?
  2. tracepass_passports prepare_registry_upi returns the exact address (upi) to paste into the Registry's online form. For several passports, prepare_registry_upload_file ({ passportIds }, up to 100) returns xml to upload unchanged under filename; passports that would fail are left out and listed in excluded with a reason, because the Registry fails a whole file on one bad entry.
  3. The Registry's acceptance environment is for testing and has no legal effect: tracepass_passports record_acceptance_test records its result and changes nothing else.
  4. After registering in production, tracepass_passport_lifecycle record_registration records it (placedOnMarketAt defaults to today): the passport is marked placed on the market and its operator and facility identifiers lock. undo_registration removes a mistaken record.

These actions need a paid plan; a connected app (OAuth) must act for an admin or owner. place_on_market submits to an EN 18222 registry API and is not a way into the EU DPP Registry, which does not accept it.

A note on writes

Some actions cost money or are irreversible — the server's tool descriptions tell the model so:

  • tracepass_passports create makes a draft passport. A draft takes no plan DPP slot and is not billed; the slot, and any overage past the plan cap, is taken when the passport is published in the TracePass dashboard. Each create counts against the daily write budget.
  • tracepass_passport_lifecycle archive is irreversible — the public QR permanently 404s. Use suspend (reversible) when a change might be undone. record_registration records the operator's registration in the production EU DPP Registry and locks the passport's operator identifiers. place_on_market is a legal act (a registration through an EN 18222 registry API). These actions live on a separate tool so an "always allow" on reading does not also allow them.
  • tracepass_epcis — export, capture and query are on every plan, Free included; captured events count against the plan's event allowance, and capture over it returns an overage or hard-block message.

Resources

Read-only entity data you can attach as conversation context:

  • tracepass://products — the product catalogue
  • tracepass://product/{id} — one product
  • tracepass://passport/{id} — one passport, full field detail
  • tracepass://passport/{id}/epcis — a passport's EPCIS 2.0 events
  • tracepass://passport/{id}/compliance — a passport's compliance verdict
  • tracepass://passport/{id}/registry-readiness — a mechanical pre-submission check modelled on the EU DPP Registry's formal gate: mandatory-field presence, formatting, a resolvable public link, item-level granularity, and a well-formed commodity code only where the category carries one (none for batteries: a battery passport's registration identifier is not entered in the customs declaration), and, for EV, LMT and industrial (over 2 kWh) batteries, conformance to the Commission's published battery data model that the Registry validates against. Not the substantive compliance verdict, and not a guarantee of the real registry's response: the Registry does not yet run its battery semantic validation. Battery only.
  • tracepass://passport/{id}/snapshots — the snapshot history of a passport (newest first): a snapshot on publish and after every change to a non-draft passport; each entry carries version, reason (e.g. published, field_edit, status_change, baseline), actor, snapshotAt, contentHash, hashValid (re-verified on read), restorable flag, and field count.
  • tracepass://templates — all 13 DPP category field schemas
  • tracepass://template/{category} — one category's full field schema

Prompts

Reusable DPP workflows the client surfaces as slash-commands:

  • audit_passport — review a passport for completeness and compliance readiness
  • onboard_product — create a product and its first passport
  • explain_dpp_requirements — explain what a category's compliant DPP must contain, and the regulation behind each field
  • compliance_gap_check — produce a prioritised, regulation-cited list of what's blocking a passport's compliant publication
  • register_battery_passport — walk the operator through registering a published battery passport in the EU DPP Registry: readiness, the address or upload file to submit on the Registry website, then recording the result
  • review_epcis_events — summarise a passport's supply-chain trail

For suppliers: answering a data request

A second, separate endpoint serves suppliers who receive a TracePass data request. It is not part of the tools above. The request email carries a personal address:

https://ai.tracepass.eu/supplier/mcp/<token>

Add it to an AI assistant as a custom connector. For clients that can set headers, https://ai.tracepass.eu/supplier/mcp with Authorization: Bearer <token> works too. The token authorises that one request only; there is no account and no OAuth. The assistant can then:

ToolWhat it does
get_requestStart here: who is asking, for which product, and every field asked for, each with its meaning, unit, format and legal source; plus answers already sent and the review outcome
validate_answersA dry run: what would be stored, which keys were not requested, and what does not fit. Writes nothing
get_upload_commandThe best way to attach a datasheet or certificate when the assistant can run shell commands: returns a curl command that uploads the file from disk and prints a documentId to cite (PDF, Office, CSV, PNG/JPEG/WebP)
upload_evidenceAttach a very small file (a few kilobytes) inline as base64; prefer get_upload_command, or cite a URL or note
submit_answersSend answers with evidence per value to the requester's human review; can be repeated (answers merge) until reviewed
get_review_statusWhether the requester has reviewed them, the outcome, accepted fields, and when the link expires

Answers go to the requester's human review; they never publish anything on their own.

DPP Assistant: EU passport questions

A third endpoint answers questions about EU Digital Product Passport law for anyone with a free TracePass account:

https://ai.tracepass.eu/compliance/mcp

Add it to an AI assistant as a custom connector (in Claude: Customize → Connectors → "+ Add" → "Add custom connector"), then sign in with a TracePass account when asked. It uses OAuth; no API key is needed. Answers cite their source, and each company gets about 100 answers a day. Full guide: tracepass.eu/docs/dpp-assistant.

ToolWhat it does
scope_checkWhether EU law requires a passport for a type of product, from when, and what it requires of each role
required_fieldsThe data a passport must contain for a category, with the article requiring each field and who may see it
what_changedChanges in EU passport law and standards for your categories since a date; planned items are marked as not yet law
registry_guidanceThe EU DPP Registry and the technical side: registration, identifiers, data carriers, formats and standards
create_draft_passportCreates a draft passport in your own account; publishing stays with you in TracePass
report_answerReports an answer you think is wrong or unclear, for review
get_profile, update_profile, delete_profileThe company facts the assistant remembers between questions, so you do not repeat them

Development

bash
npm installnpm run build        # tsc -> dist/npm run typechecknpm test             # vitestnpm run lintnpm start            # run the hosted HTTP service locally (:8080)npm run start:stdio  # run the stdio server locally

The hosted service is a plain Node HTTP server (dist/http.js), stateless — each request carries its own API key and builds a fresh MCP session. It is containerised via the Dockerfile; the hosted endpoint runs in the EU.

Listed on Glama

This server is published in the official MCP Registry as eu.tracepass/tracepass and listed on Glama:

[TracePass MCP server]

License

MIT

来源:README.md,提交 6e15589

工具

8

tracepass_products

TracePass products

Manage the TracePass product catalogue. A product is the catalogue layer — one product can have many passports (one per serialised unit). Products are not billable on their own. Actions (pass via `action`, with `args`): - list — args: { page?, limit? (≤100), category?, status?, search? }. Read-only. - get — args: { id }. Read-only. - create — args: { name, model, category, description? }. `category` is one of: battery, textile, electronics, construction, steel, detergents, paints-coatings, packaging, furniture, tyres, jewelry, toys, fmcg. - update — args: { id, name?, model?, description? }; pass at least one field to change. - create_batch — args: { products: [ { name, model, category, description? }, … ] }, up to 100. Partial-success: the response carries a per-item status, so some items can be created while others error. The whole batch consumes N writes upfront; if that would exceed the daily cap NOTHING is created (429). Archive is in tracepass_passport_lifecycle.

输入参数argsaction必填

tracepass_passports

TracePass passports

Manage Digital Product Passports — create, read, and run compliance checks. IMPORTANT: `create` makes a DRAFT passport. A draft takes no plan DPP slot and is never billed; the slot, and any per-DPP overage past the plan cap, is taken when the passport is published, which happens in the TracePass dashboard, not through this tool. Each create counts against the daily write budget. Archive, suspend and place on market are in tracepass_passport_lifecycle. EU DPP REGISTRY (battery passports): the economic operator registers a passport itself, on the EU DPP Registry website under its own EU Login. TracePass prepares what the operator submits (prepare_registry_upi, prepare_registry_upload_file) and records what the operator reports back; it never submits to the Registry and never verifies the outcome. The Registry has two environments: acceptance (for testing, no legal effect) and production (the registration that counts). An acceptance result is recorded here (record_acceptance_test); a production registration is recorded with record_registration in tracepass_passport_lifecycle. These actions need a paid plan, and a connected app (OAuth) must act for an admin or owner. IDENTIFIER SCHEMES (EN 18219): passports are identified by one of five schemes. Battery passports (Battery Regulation Art. 77(3)) accept ONLY gs1 and iso15459. • gs1 — { scheme:"gs1", gtin, serialNumber } — GS1 GTIN + serial; gtin is 8/12/13/14 digits, stored as GTIN-14. • iso15459 — { scheme:"iso15459", issuingAgencyCode, primaryId, serial? } — ISO/IEC 15459; the server derives raw (IAC + primaryId + serial). • iec61406 — { scheme:"iec61406", uri } — IEC 61406 Identification Link (https URI). Not valid for batteries. • did — { scheme:"did", did, method } — W3C DID Core. Not valid for batteries. • doi — { scheme:"doi", doi, granularity:"model"|"batch"|"item" } — ISO 26324 DOI, stored as bare 10.<registrant>/<suffix> (any https://doi.org/ or doi: prefix stripped on input; resolves as https://do

输入参数argsaction必填

tracepass_passport_fields

TracePass passport fields

Update field values on a Digital Product Passport. Every change is recorded in the passport's audit trail with the credential that made it (API key or connected app) and this MCP channel. `source` (optional) says where the value came from. Omit it, or pass "manual", when the user gave you the value or it comes from their own records: it is written with the user's rights (approved for an API key or an admin; sent to review for a connected app acting for an editor). Pass "ai_suggested" when you found or inferred the value yourself (web research, reading a document): it lands in the dashboard review queue for a human to approve, and it is refused on fields only the economic operator may state or that must be measured (e.g. battery stateOfHealth). Actions (pass via `action`, with `args`): - update — args: { id, fieldKey, value, source? }. `value` type matches the field's dataType (string, number, boolean, array, object). - update_by_serial — args: { serial, fieldKey, value, gtin?, source? }. Same as update, addressed by your own serial. A serial is unique only WITHIN a GTIN — if it isn't unique in your account the call returns 409 ambiguous_serial; pass `gtin` (or use update by id) to resolve exactly.

输入参数argsaction必填

tracepass_passport_parties

TracePass passport parties

Manage the economic-operator parties on a passport — manufacturer, importer, authorisedRepresentative, distributor, recycler, producerResponsibilityOrg. Each party carries a legal name and at least one identifier. Identifier rules (EN 18219 §6.2–6.5): a party needs at least one of `gln`, `legacyOperatorId`, or `operatorIdentifier`. If both `gln` and `operatorIdentifier` (scheme gln) are provided they must agree — a mismatch returns 400. An operatorIdentifier of scheme gln also fills the top-level `gln` field; facilityIdentifier never does. Typed identifiers (operatorIdentifier / facilityIdentifier) are not set by AI extraction or CSV import. operatorIdentifier schemes: • iso6523 — { scheme:"iso6523", icd:"<4 digits>", value } — ICD 0199 = LEI (ISO 17442), 0088 = GLN, 0060 = DUNS. • gln — { scheme:"gln", gln:"<13 digits>" } — also fills top-level `gln`. • did — { scheme:"did", did:"did:<method>:<id>" } — syntax-checked only (EN 18219 §6.4.2(b)). • doi — { scheme:"doi", doi:"10.<registrant>/<suffix>" } — doi:/https://doi.org/ prefix accepted and stripped. facilityIdentifier schemes: same four; the gln variant also accepts optional `extension` (GS1 SGLN sub-location). Actions (pass via `action`, with `args`): - set — args: { id, role, legalName, gln?, country?, url?, tradeName?, postalAddress?, email?, legacyOperatorId?, operatorIdentifier?, facilityIdentifier? }. Sets or updates one role. tradeName, postalAddress and email are shown on the public passport; for a battery importer they are its Battery Regulation Art. 41(3) details. - remove — args: { id, role }. Clears one role. Once a battery passport is placed on the market, a change to a stored operatorIdentifier or facilityIdentifier returns 409 operator_locked; other party edits stay allowed. To correct a locked identifier, the passport is marked for deletion and a new one created.

输入参数argsaction必填

tracepass_epcis

TracePass EPCIS 2.0

GS1 EPCIS 2.0 supply-chain events. `export`, `capture`, `capture_job` and `query` are on every plan, Free included. Captured events count against the plan's event allowance (10 a month on Free); over it, `capture` returns an overage or hard-block message. Actions (pass via `action`, with `args`): - export — args: { id }. Export a passport's events as an EPCIS 2.0 JSON-LD document. Read-only. - export_by_serial — args: { serial, gtin? }. Same as export, addressed by your own serial. A serial is unique only WITHIN a GTIN — if it isn't unique in your account the call returns 409 ambiguous_serial; pass `gtin` (or use export by id). Read-only. - capture — args: { events }. `events` is an EPCISDocument, a single event, or an array of events (JSON-LD). Returns a 202 with a captureJobId. - capture_job — args: { jobId }. Poll an async capture job. Read-only. - query — args: { params? }. `params` is a key/value map of standard EPCIS query parameters (EQ_bizStep, GE_eventTime, MATCH_epc, …). Read-only.

输入参数argsaction必填

tracepass_templates

TracePass DPP templates (regulatory schemas)

Discover the regulatory field schema for each DPP category — what a COMPLIANT passport must contain, per the governing EU regulation. Read-only reference data. Use this to advise on requirements before creating products/passports, and to gap-check a draft against the rules. Actions (pass via `action`, with `args`): - list — args: {}. Lists all 13 categories with their field count, required-field count, and governing regulation (name + number + effective/mandatory dates). - get — args: { category }. Full field schema for one category: every field's key, label, dataType, whether it is REQUIRED, its access level (public/restricted/authority), enum options, validation bounds, and — where known — the regulation article/annex that mandates it. `category` is one of: battery, textile, electronics, construction, steel, detergents, paints-coatings, packaging, furniture, tyres, jewelry, toys, fmcg. BATTERY — required-ness is per-category, so `required` alone is the wrong answer. Resolve it in this order: 1. SCOPE FIRST. Only EV, LMT and industrial_gt_2kwh batteries owe a passport at all (Art. 77(1), Reg (EU) 2023/1542). For portable, SLI or industrial_lte_2kwh, NO field is required — do not list mandatory fields for them; say the battery is out of scope. 2. Then `requiredBy[batteryCategory]` where the field carries that map (required | conditional | notApplicable). `conditional` means owed only when a fact holds (a commercial warranty offered, a BMS present, the battery in service); an approved condition flag can make it required. Annex XIII 4(d) use data (charging cycles, negative events, temperature history, state of charge) is expected once the battery is in service and never blocks publishing. 3. Then fall back to `required`. The map is keyed ONLY by the three in-scope categories, so skipping step 1 falls through to `required` and invents an obligation the Regulation does not impose. Note also that EV and LMT report state-of-health through MUTUALLY EXCLUSIVE field

输入参数argsaction必填

tracepass_scope

TracePass DPP scope checker

Check what EU law says for a product type matching the facts given: whether it needs a Digital Product Passport, from when, at which level, under which act and article, and the duties of each role. Also read the company's catalogue-wide scope report and trigger a catalogue refresh run. HARD RULES — always apply these to scope answers: - Answers state what the law says for product types matching the given facts. This is not legal advice; never write 'you must' — use product-type phrasing ('LMT batteries need a passport from 18 February 2027, Battery Regulation Art. 77(1)'). - Cite the article the answer gives for every verdict and duty. A regulation without an article is not a citation. A `not_covered` answer rests on no article: say our rules do not cover the product and name the nearest act it gives, never cite that act as the basis. - A date with precision 'quarter', 'month' or 'year' is a plan, NEVER a deadline or a start date. Write 'planned for Q2 2027 (planned, not law yet)', never 'from', 'by' or 'deadline'. - Relay `not_covered` and `needs_input` as the results they are, never as errors. `not_covered` = the product falls outside these scope rules. `needs_input` = blocking questions remain unanswered — relay the questions in `ask[]` to the user before giving a verdict. - Items in an act's `planned` list are not law yet: always label them 'Planned, not law yet' (`labelText`), with their `wording`. - `ruleStatus: 'needs_recheck'` means the law behind an act changed and our rules for it are being re-checked (since `recheckSince`): say so with the answer. Actions (pass via `action`, with `args`): - check — args: { category?, facts?, role?, placedOnMarket?, lifecycleEvent?, contains?, productId?, passportId?, locale? }. Ask whether a product type needs a DPP. Available on every plan, Free included. Counts against the per-company scope-answer cap (~100/day, 30/min burst), NOT the v1 read/write budget. 429 `scope_answer_cap` when the daily cap is spent. `not_cover

输入参数argsaction必填

tracepass_passport_lifecycle

TracePass passport lifecycle (irreversible actions)

WARNING: Every action here changes what the public sees or is a legal act, some irreversible. `archive` permanently removes the public QR code (it 404s forever). `record_registration` records the economic operator's registration in the production EU DPP Registry and locks the passport's operator and facility identifiers. `place_on_market` submits a registration to an EN 18222 registry API. The assistant MUST confirm with the user before each call. Use `suspend` (reversible — public QR shows 'suspended') as the safe alternative to archive when a change might need to be undone. EU DPP REGISTRY: the economic operator registers a battery passport itself, on the EU DPP Registry website under its own EU Login. TracePass prepares what the operator submits (prepare_registry_upi / prepare_registry_upload_file in tracepass_passports) and records what the operator reports; it never submits to the Registry and never verifies the registration. The Registry's acceptance environment is for testing and has no legal effect (record_acceptance_test in tracepass_passports); only a registration in the production environment counts, and that is what record_registration records. The EU DPP Registry does not accept registrations through place_on_market. record_registration and undo_registration need a paid plan, and a connected app (OAuth) must act for an admin or owner. Actions (pass via `action`, with `args`): - record_registration — args: { id, placedOnMarketAt? (YYYY-MM-DD), registrationId? (≤200 chars) }. WRITE, battery passports only, published only. Records that the operator has registered this passport in the PRODUCTION EU DPP Registry, as the operator states it: TracePass does not check it with the Registry. Confirm with the user first, and only after the operator has registered on the Registry website. Effects: the passport is marked placed on the market (placeOnMarketStatus "placed", registrationMode "website"), the operator and facility party identifiers are locked (409 opera

输入参数argsaction必填

版本历史

22
  1. v1.25.0最新Nov 7, 2026
  2. v1.24.0Nov 1, 2026
  3. v1.23.3Nov 1, 2026
  4. v1.23.2Oct 31, 2026
  5. v1.23.1Oct 29, 2026
  6. v1.20.2Oct 23, 2026
  7. v1.20.0Oct 23, 2026
  8. v1.19.1Oct 13, 2026
  9. v1.19.0Oct 12, 2026
  10. v1.18.0Oct 11, 2026
  11. v1.17.1Oct 10, 2026
  12. v1.17.0Oct 5, 2026
  13. v1.16.2Oct 2, 2026
  14. v1.16.1Oct 1, 2026
  15. v1.15.0Oct 1, 2026
  16. v1.14.1Sep 29, 2026
  17. v1.14.0Sep 29, 2026
  18. v1.13.0Sep 29, 2026
  19. v1.12.0Sep 29, 2026
  20. v1.9.0Sep 28, 2026
  21. v1.8.0Sep 25, 2026
  22. v1.7.4Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Tracepass 集成