TracePass DPP Compliance Assistant
Answers EU Digital Product Passport questions: scope, required fields, registry and law changes.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"compliance": {
"url": "https://ai.tracepass.eu/compliance/mcp"
}
}
}Remote-Endpunkte
https://ai.tracepass.eu/compliance/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (9)
🟢scope_check(category, role, placedOnMarket, facts, locale)
Checks whether EU law requires a Digital Product Passport for a type of product, from when, and what the law requires of each role. Use it for "do I need a passport", "from when", "who is responsible", whether that responsibility can be handed to another company, who keeps and stores the passport and whether it must stay available after the company ceases, whether there is one passport per item, batch or model, and for repurposing, remanufacturing, waste or a battery inside another product. Pass whatever facts the user gave; if the result is needs_input, ask the user its questions in plain words and call again. The result's data.inScope is one of: yes, no, pending, depends. Use only what this tool returns: add no facts, dates or articles of your own, not even today's date. Keep every citation and the disclaimer line, and any "Planned, not law yet" or "being re-checked" label. Phrase answers about the product type, never as personal duties ("you must"). Never rank or recommend vendors. Never call this advice or yourself a consultant. If the result is not_covered, say so and point to the article given.
Eingabe-Schema
{
"type": "object",
"properties": {
"category": {
"description": "Product category, e.g. battery, textile, electronics.",
"type": "string",
"maxLength": 100
},
"role": {
"description": "The user's role in plain words, e.g. \"maker\", \"importer\", \"reseller\". The platform maps this to the act's term.",
"type": "string",
"maxLength": 120
},
"placedOnMarket": {
"description": "When the product was or will be placed on the market.",
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "ISO date or partial date, e.g. \"2027-02\" or \"2027\"."
},
"precision": {
"type": "string",
"enum": [
"day",
"month",
"year"
]
}
},
"required": [
"date"
]
},
"facts": {
"description": "Product facts the scope rules declare, e.g. {\"battery.capacityKWh\": 10}. Any other key is rejected, so pass only a fact you know the rules use (such as one a needs_input result asked for), and never the user's question or free text.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"locale": {
"description": "Language for the answer text. Defaults to en.",
"type": "string",
"enum": [
"en",
"bg",
"de",
"it"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢required_fields(category, subType, group, locale)
Lists the data a passport must contain for a product category, with the article requiring each field, who may see it, how often it changes, and whether it usually comes from the maker or a supplier. Call it without `group` for a summary (counts by group), then with a `group` for the fields. Use only what this tool returns: add no facts, dates or articles of your own, not even today's date. Keep every citation and the disclaimer line, and any "Planned, not law yet" or "being re-checked" label. Phrase answers about the product type, never as personal duties ("you must"). Never rank or recommend vendors. Never call this advice or yourself a consultant. If the result is not_covered, say so and point to the article given.
Eingabe-Schema
{
"type": "object",
"properties": {
"category": {
"type": "string",
"maxLength": 100,
"description": "Product category, e.g. battery."
},
"subType": {
"description": "Battery only: EV, LMT or industrial_gt_2kwh (an industrial battery over 2 kWh). Narrows the required fields to that battery type; an unknown value is refused with the allowed list.",
"type": "string",
"maxLength": 100
},
"group": {
"description": "Template group name. Omit for a summary; provide to list the fields.",
"type": "string",
"maxLength": 100
},
"locale": {
"description": "Language for field labels and descriptions. Defaults to en.",
"type": "string",
"enum": [
"en",
"bg",
"de",
"it"
]
}
},
"required": [
"category"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢what_changed(categories, since, locale)
Reports changes in EU passport law and standards for the user's categories since a date (default: since they last asked). Use it for "what's new" or "has X been adopted". Items marked "Planned, not law yet" are upcoming obligations, not yet in force. Use only what this tool returns: add no facts, dates or articles of your own, not even today's date. Keep every citation and the disclaimer line, and any "Planned, not law yet" or "being re-checked" label. Phrase answers about the product type, never as personal duties ("you must"). Never rank or recommend vendors. Never call this advice or yourself a consultant. If the result is not_covered, say so and point to the article given.
Eingabe-Schema
{
"type": "object",
"properties": {
"categories": {
"description": "Product categories to filter by. Defaults to the saved profile categories.",
"type": "array",
"items": {
"type": "string",
"maxLength": 100
}
},
"since": {
"description": "ISO date to look back from. Defaults to the date this account last called what_changed (first time: 90 days ago).",
"type": "string"
},
"locale": {
"description": "Language for summaries. Defaults to en.",
"type": "string",
"enum": [
"en",
"bg",
"de",
"it"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢registry_guidance(topic, category, locale)
Explains the EU DPP Registry and the technical side: registration in the registry, identifiers, QR and data carriers, data formats (JSON, HTML, data models) and standards, and where passport data is kept. Each point carries the date of its source. For who owes, keeps or may hand off a passport, use scope_check. Use only what this tool returns: add no facts, dates or articles of your own, not even today's date. Keep every citation and the disclaimer line, and any "Planned, not law yet" or "being re-checked" label. Phrase answers about the product type, never as personal duties ("you must"). Never rank or recommend vendors. Never call this advice or yourself a consultant. If the result is not_covered, say so and point to the article given.
Eingabe-Schema
{
"type": "object",
"properties": {
"topic": {
"type": "string",
"enum": [
"registration",
"identifiers",
"data_carrier",
"data_format",
"standards",
"where_created",
"access"
],
"description": "The topic to answer."
},
"category": {
"description": "Optional category filter (e.g. battery) for category-specific guidance.",
"type": "string",
"maxLength": 100
},
"locale": {
"description": "Language for the answer. Defaults to en.",
"type": "string",
"enum": [
"en",
"bg",
"de",
"it"
]
}
},
"required": [
"topic"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_draft_passport(category, productName, gtin, serialNumber, subType)
Creates a **draft** passport in the user's own TracePass account from facts they stated. Use it whenever the user asks to create a passport, including "create and publish": create the draft, then say that publishing is done by the user in TracePass. It never publishes. If the result asks for an identifier, ask the user; never invent one. Use only what this tool returns: add no facts, dates or articles of your own, not even today's date. Keep every citation and the disclaimer line, and any "Planned, not law yet" or "being re-checked" label. Phrase answers about the product type, never as personal duties ("you must"). Never rank or recommend vendors. Never call this advice or yourself a consultant. If the result is not_covered, say so and point to the article given.
Eingabe-Schema
{
"type": "object",
"properties": {
"category": {
"type": "string",
"maxLength": 100,
"description": "Product category, e.g. battery, textile."
},
"productName": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "The product's name."
},
"gtin": {
"description": "The product's GTIN (barcode number, 8–14 digits). Required for most passport types. If missing, the tool will ask the user for it.",
"type": "string",
"maxLength": 20
},
"serialNumber": {
"description": "The specific unit's serial number, if the passport is per-unit.",
"type": "string",
"maxLength": 100
},
"subType": {
"description": "Battery only: EV, LMT or industrial_gt_2kwh. Used to count the required fields for that battery type; ask the user rather than guess.",
"type": "string",
"maxLength": 100
}
},
"required": [
"category",
"productName"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡report_answer(what, ruleIds)
Use it when the user says an answer was wrong or unclear. Pass their words and the `ruleIds` of the answer. The report goes to a review queue. Use only what this tool returns: add no facts, dates or articles of your own, not even today's date. Keep every citation and the disclaimer line, and any "Planned, not law yet" or "being re-checked" label. Phrase answers about the product type, never as personal duties ("you must"). Never rank or recommend vendors. Never call this advice or yourself a consultant. If the result is not_covered, say so and point to the article given.
Eingabe-Schema
{
"type": "object",
"properties": {
"what": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"description": "The user's own words describing what was wrong or unclear."
},
"ruleIds": {
"description": "The ruleIds from the answer that was reported. Pass them from the result unchanged.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"what"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_profile
Shows the company facts the assistant has stored (categories, markets, role, own-brand flag, etc.) and when they were last updated. Use only what this tool returns: add no facts, dates or articles of your own, not even today's date. Keep every citation and the disclaimer line, and any "Planned, not law yet" or "being re-checked" label. Phrase answers about the product type, never as personal duties ("you must"). Never rank or recommend vendors. Never call this advice or yourself a consultant. If the result is not_covered, say so and point to the article given.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴update_profile(role, ownBrand, categories, markets, sizeBand, ...)
Saves or corrects company facts. Use it when the user states a lasting fact about their company (role, categories, markets, own-brand), or to save a `learnable` fact from a result. The update merges the given facts into the existing profile; it does not replace the whole profile. Use only what this tool returns: add no facts, dates or articles of your own, not even today's date. Keep every citation and the disclaimer line, and any "Planned, not law yet" or "being re-checked" label. Phrase answers about the product type, never as personal duties ("you must"). Never rank or recommend vendors. Never call this advice or yourself a consultant. If the result is not_covered, say so and point to the article given.
Eingabe-Schema
{
"type": "object",
"properties": {
"role": {
"description": "The company's role in the supply chain per EU DPP regulations.",
"type": "string",
"enum": [
"manufacturer",
"importer",
"distributor",
"authorised_representative",
"fulfilment_service_provider"
]
},
"ownBrand": {
"description": "True if the company sells under its own brand or trademark.",
"type": "boolean"
},
"categories": {
"description": "Product categories the company handles, e.g. [\"battery\", \"textile\"].",
"type": "array",
"items": {
"type": "string",
"maxLength": 100
}
},
"markets": {
"description": "ISO country codes where the company sells, or [\"EU\"].",
"type": "array",
"items": {
"type": "string",
"maxLength": 10
}
},
"sizeBand": {
"description": "Whether the company is an SME or a large enterprise.",
"type": "string",
"enum": [
"sme",
"large"
]
},
"salesChannels": {
"description": "Sales channels the company uses.",
"type": "array",
"items": {
"type": "string",
"enum": [
"own_shop",
"marketplace",
"retail",
"b2b",
"fulfilment"
]
}
},
"dataSystems": {
"description": "Short description of the data systems the company uses (e.g. SAP, custom ERP).",
"type": "string",
"maxLength": 200
},
"products": {
"description": "Up to 50 representative products, used as defaults for passport creation.",
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 255
},
"category": {
"type": "string",
"maxLength": 100
},
"facts": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"name",
"category"
]
}
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_profile
Deletes every stored company fact. Use it only when the user explicitly asks to delete their profile. This is a separate tool so the assistant asks for confirmation before running it. Use only what this tool returns: add no facts, dates or articles of your own, not even today's date. Keep every citation and the disclaimer line, and any "Planned, not law yet" or "being re-checked" label. Phrase answers about the product type, never as personal duties ("you must"). Never rank or recommend vendors. Never call this advice or yourself a consultant. If the result is not_covered, say so and point to the article given.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis