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 或序號列出、讀取、建立數位產品護照,並做合規落差檢查,取得 QR 碼、快照與條件旗標
  • 更新護照資料欄位,設定或移除製造商、進口商、回收商等營運者主體
  • 匯出、擷取與查詢 GS1 EPCIS 2.0 供應鏈事件,並上傳電池量測資料
  • 讀取各護照類別的法规欄位範本,判斷某類產品是否需要護照
  • 執行面向公眾的生命週期操作:上市、暫停、封存
適用情境
適用於在 TracePass 平台上處理數位產品護照的企業,希望助理草擬護照、填寫欄位與主體資訊、檢查合規缺口或檢視供應鏈事件紀錄,而不必切換到網頁後台。
執行需求
需要 TracePass 帳號,以及 OAuth(僅託管端點)或作為 Authorization 承載權杖送出的 TracePass API 金鑰。託管端點無需安裝;本機 npm 套件透過 npx 以 stdio 執行,金鑰由 TRACEPASS_API_KEY 環境變數提供。需要能連線至 TracePass API 的網路。
安裝前請注意
寫入操作會計入每日 API 額度,部分操作會產生費用或無法復原:封存會永久使公開 QR 碼失效,上市屬於法律行為。呼叫生命週期操作前須與使用者確認,避免批次建立護照。合規結論由人工依法规撰寫,並非歐盟官方文件,也不構成法律意見。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 整合