{"data":{"name":"io.aeroz/aeroz","title":"Aeroz","description":"Prove a physical item is genuine (NFC chip); read its EU Digital Product Passport, recalls, custody.","version":"0.2.0","websiteUrl":"https://aeroz.io","repositoryUrl":null,"remotes":[{"url":"https://api.aeroz.io/mcp","type":"streamable-http","headers":[{"name":"Authorization","value":"Bearer {aeroz_api_key}","isSecret":true,"variables":{"aeroz_api_key":{"isSecret":true,"description":"Aeroz API key, starts with ak_. Free sandbox key via POST https://api.aeroz.io/v1/signup. Leave empty to use only the keyless tools.","placeholder":"ak_..."}},"description":"Aeroz API key (free sandbox key via POST https://api.aeroz.io/v1/signup). Not needed for get_passport and verify_passport_credential."}]}],"packages":[],"status":"active","isLatest":true,"publishedAt":"2026-10-15T08:36:48.830Z","updatedAt":"2026-10-15T08:36:48.830Z","source":"official-registry","verification":"official","confidence":100,"stars":null,"sources":[{"stars":null,"title":"Aeroz","source":"official-registry","sourceId":"io.aeroz/aeroz","updatedAt":"2026-10-15T08:36:48.830Z","confidence":100,"websiteUrl":"https://aeroz.io","description":"Prove a physical item is genuine (NFC chip); read its EU Digital Product Passport, recalls, custody.","verification":"official","repositoryUrl":null}],"toolIndex":{"tools":[{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"agent_conversation","title":"Agent conversation","description":"The recent conversation between this organisation and its Aeroz agent, across the dashboard, MCP and email. Use it to see what has already been asked and answered before asking again.","inputSchema":{"type":"object","properties":{"limit":{"type":"number","description":"Turns to return (default 20, max 60)."}}},"annotations":{"title":"Agent conversation","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"39938d0ae4fd0980acd2461b2313262c99453982088402b71e74bc414981cdc3","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"ask_agent","title":"Ask the Aeroz agent","description":"Ask this organisation's dedicated Aeroz agent a question in plain language and get a grounded answer. Use it for anything a human at the business would ask their account manager: \"what do we still need to do\", \"when is our deadline\", \"what is Aeroz waiting on\", \"what is not being monitored\", \"how do we go live\". It also looks up lots, units, holds and shipments (\"where is lot X\", \"which units of Y are on hold\", \"what shipped to Z last week\") in this company's own records, within this key's read scopes, and answers \"how do I…\" and compliance questions from Aeroz's help topics. The answer carries `grounded`: `records` means it was read from the company's records (the records are in `chips`); `knowledge` means it came from an Aeroz help topic (sections in `citations`; compliance answers are readiness signals, not legal determinations); `computed` means it was read directly from the account's own data; `model` means a model composed it from that data and every date and figure was checked against it; `declined` means the agent does not hold what the question needs and said so — relay that honestly rather than filling the gap yourself. Asking refreshes the account's onboarding state and records the question and answer in the conversation (see agent_conversation). It sends nothing outside Aeroz and changes no product, shipment or passport data.","inputSchema":{"type":"object","properties":{"question":{"type":"string","description":"The question, as the person asked it (at most 2000 characters)."}},"required":["question"]},"annotations":{"title":"Ask the Aeroz agent","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"4c9d1b3fc0c5868c538d1f5719d250bcefec8ad0cf28335e1733d5ab978bcf95","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"bind_graded_item","title":"Bind a graded item","description":"Bind an Aeroz chip to a graded collectible slab (PSA, CGC, SGC, BGS, TAG). The chip UID, grader, cert number, grade and card identity are signed together, so the chip vouches for exactly this label: a label moved to another holder, or a cert reprinted on a copy, shows as \"binding broken\" on a buyer's tap. For PSA, the cert is cross-checked against PSA's own record when PSA_API_TOKEN is configured; a disagreement flags the item. `grader_check` is match, mismatch, not_found, unavailable (nobody looked), or unverified_identity (the grade agrees but the grader's record does not confirm the card). A chip that has ever been bound to a graded item is refused (use a new chip), and so is a grader cert already bound to another chip — for a re-holdered slab, retire the old binding with record_provenance first. Returns the public verify URL to encode in the slab's QR. This does NOT grade the card and does not claim the card was unaltered before sealing — never present it as either.","inputSchema":{"type":"object","properties":{"uid":{"type":"string","maxLength":64,"description":"Chip UID bonded to the slab (at most 64 characters, as verify_chip accepts)."},"grader":{"type":"string","enum":["psa","cgc","sgc","bgs","tag","other"]},"cert_number":{"type":"string","maxLength":64},"grade":{"type":"string","maxLength":32,"description":"As printed: \"10\", \"9.5\", \"8 OC\", \"Authentic\", \"Authentic Altered\"."},"title":{"type":"string","maxLength":240,"description":"e.g. \"2003 Topps Chrome LeBron James #111\""},"category":{"type":"string","maxLength":40,"enum":["trading_card","coin","comic","memorabilia","other"]},"year":{"type":"string","maxLength":12},"set_name":{"type":"string","maxLength":120},"card_number":{"type":"string","maxLength":32},"subject":{"type":"string","maxLength":120},"variety":{"type":"string","maxLength":120},"front_image_url":{"type":"string","maxLength":500},"back_image_url":{"type":"string","maxLength":500},"public":{"type":"boolean","description":"Resolvable by a public tap (default true)."},"sealed_at":{"type":"string"},"sealed_by":{"type":"string","maxLength":120}},"required":["uid","grader","cert_number","grade","title"]},"annotations":{"title":"Bind a graded item","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"00cd46d4fe5b099191b6cbb103c65f986ed02b8c88372c4e0a2e789bf498b70d","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"business_brief","title":"Business brief","description":"The full picture of this business as Aeroz holds it: declared product categories with their mandate dates and whether each date is fixed or provisional, onboarding state, open findings, and — importantly — which recall sources are NOT being monitored. Use this to orient before answering anything about the account. Never present an empty findings list as evidence of safety without also reporting coverage_gaps.","inputSchema":{"type":"object","properties":{}},"annotations":{"title":"Business brief","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"dfa78625c630fd051ba2182cae9450775b1d71508e6115342cfca17c3e1de317","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"chain_readiness","title":"Chain readiness","description":"Sweep this organisation's units and report which regulatory checks are failing across the portfolio, how many units each affects, and examples to open. This is the tool for \"which of my units have a broken custody chain\", \"what is failing right now\", \"what will not pass on 18 February\" and \"how are we doing overall\". Counts are exact for the units swept; the response says when it hit its cap rather than implying it saw everything. An empty findings list means nothing failed among the units swept — it does not mean the organisation is compliant.","inputSchema":{"type":"object","properties":{"pack":{"type":"string","description":"Optional: \"dscsa\" or \"dpp\". Omit to sweep under every pack."},"status":{"type":"string","description":"Optional: only units in this state (in_transit, in_stock, dispensed, recalled...)."},"limit":{"type":"number","description":"Units to sweep, default 100, maximum 300."}}},"annotations":{"title":"Chain readiness","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"532cbd9bbcee19fae0098859f8e046f56a6145798c7d87af83effe157d6df113","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"check_recall","title":"Check a recall","description":"Check whether a specific unit is subject to an active recall, from the register: reads only, verifies no signature and spends no chip answer. Returns known (on the register), recalled, and the recall reason, severity, date and id when one applies. recalled:null means the status is UNKNOWN (the UID is not on the register, or the register could not be read) — never report that as \"not recalled\". This says nothing about whether the item is genuine; use verify_chip for that. Use whenever a unit is about to be shipped, sold, dispensed, or installed. A sandbox key answers its seeded sandbox chips first and any other UID from the register (register:true).","inputSchema":{"type":"object","properties":{"uid":{"type":"string","description":"The chip UID of the unit to check."}},"required":["uid"]},"annotations":{"title":"Check a recall","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"8dc12831d621c13ccfc94edd88c2fe56612872178596db930d7fabb63a13541d","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"complete_onboarding_step","title":"Complete an onboarding step","description":"Mark a manual onboarding step complete on behalf of this organisation. Only steps the customer owns and that Aeroz cannot verify automatically can be set this way; an automatically verified step will refuse, because a self-report that contradicts the platform data is worse than no report. Pass the step key from onboarding_status.","inputSchema":{"type":"object","properties":{"key":{"type":"string","description":"The step key, e.g. \"gs1_prefix\" or \"carrier_chosen\"."},"note":{"type":"string","description":"What was done, for the audit trail."}},"required":["key"]},"annotations":{"title":"Complete an onboarding step","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"930f278cf2eb5c8d1f23c6cff8c5d6dee584eb149ea1120c4039aea5dc502a1d","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"create_product","title":"Create a product","description":"Register one product, by the same rules as POST /v1/products. Recall watch needs a GTIN, NDC or UPC. Returns the passport gap for its category when there is one; that is a readiness signal, not a legal determination.","inputSchema":{"type":"object","properties":{"product_name":{"type":"string"},"brand":{"type":"string"},"sku":{"type":"string"},"gtin":{"type":"string","description":"Checked by its check digit."},"ndc":{"type":"string"},"upc":{"type":"string"},"category":{"type":"string","description":"For example pharma, batteries, textiles."},"lot_numbers":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"dpp_fields":{"type":"object"}},"required":["product_name"]},"annotations":{"title":"Create a product","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"caf554858b175d81b2a94773d5793bde194d107cb807b600f980d61f8faa0480","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"create_shipment","title":"Create a shipment","description":"Register a shipment of physical items under a sensitivity profile so Aeroz can watch it in transit. Profiles: cold_chain (2–8 °C, mean kinetic temperature), frozen (≤ −15 °C), ambient_crt (15–30 °C, MKT ≤ 25), fragile (shock, tilt), high_value (light = container opened, dwell, chip-verified custody at every handoff), standard (movement only). Origin and destination need decimal-degree coordinates. Items may carry a chip uid, GTIN, lot and serial. Returns the shipment id and the thresholds that will judge it.","inputSchema":{"type":"object","properties":{"reference":{"type":"string","description":"Your own reference (PO, ASN, waybill)."},"profile":{"type":"string","enum":["cold_chain","frozen","ambient_crt","fragile","high_value","standard"]},"carrier":{"type":"string"},"origin":{"type":"object","properties":{"label":{"type":"string"},"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"]},"destination":{"type":"object","properties":{"label":{"type":"string"},"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"]},"planned_depart":{"type":"string","description":"ISO 8601"},"planned_arrive":{"type":"string","description":"ISO 8601"},"thresholds":{"type":"object","description":"Optional overrides of the profile defaults (temp_min_c, temp_max_c, mkt_max_c, shock_crit_g, dwell_max_min, …)."},"items":{"type":"array","items":{"type":"object","properties":{"uid":{"type":"string"},"gtin":{"type":"string"},"lot_number":{"type":"string"},"serial":{"type":"string"},"description":{"type":"string"},"quantity":{"type":"number"}}}}},"required":["origin","destination"]},"annotations":{"title":"Create a shipment","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"1c72894f4047f170b5613c73376ef94f9c2940b6c1f9fcca0e2286002a1d558c","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"dpp_readiness","title":"Passport readiness","description":"Assess how ready a product category is for an EU Digital Product Passport, against the delegated act that applies to it. Returns the required data fields, which are present, and which are missing. IMPORTANT: this is a readiness signal, not a legal compliance determination — never report its output as confirmation that a product is compliant.","inputSchema":{"type":"object","properties":{"category":{"type":"string","description":"Product group, e.g. \"batteries\", \"textiles\", \"iron_steel\", \"furniture\", \"tyres\", \"aluminium\"."}},"required":["category"]},"annotations":{"title":"Passport readiness","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"60de275704383d2da964ae51f780a66e7d49d95a49eea66506c26291d39db327","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"find_unit","title":"Find a unit","description":"Resolve anything a scanner or a person can produce — a chip UID, a GS1 Digital Link URI, or a GTIN plus serial — to a unit, and return its history and verdicts. This is the tool for \"what is this thing in front of me\". An identifier that resolves to nothing is NOT the same as one that fails verification: the first means we have never seen it, the second means we have and it did not check out. Report them differently.","inputSchema":{"type":"object","properties":{"uid":{"type":"string","maxLength":64,"description":"Chip UID read from a tap."},"upi":{"type":"string","description":"Unique product identifier — usually a GS1 Digital Link URL."},"gtin":{"type":"string"},"serial":{"type":"string"}}},"annotations":{"title":"Find a unit","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"d3482df6147dd130179078e76edb90c0249d0420f7f9ae9ee93fede252d03d42","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"get_import_template_columns","title":"Import template columns","description":"The columns import_products reads, in the template's order, with the template's sample rows (a fictional company's products, not real data), the row limit and the rule for matching rows to existing products.","inputSchema":{"type":"object","properties":{}},"annotations":{"title":"Import template columns","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"49e94baf8bafdae8489c091593ebb8c86ea466698c447b6eb1d342ec8a60c892","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"get_passport","title":"Read a product passport","description":"Read the PUBLIC view of a published Digital Product Passport hosted by Aeroz, by its GS1 Digital Link (e.g. https://id.aeroz.io/01/09506000134352/21/ABC123) or its passport id (dpp_...). Returns the signed passport fields everyone may see, the version and its date, recall status and the item's links. Fields restricted to repairers, recyclers or authorities are listed as withheld, never shown. This reads the record only: it does NOT prove the physical item in front of you is genuine — use verify_chip with a fresh chip tap for that. A link from another resolver is refused, not fetched. Works without an API key. Passports of sandbox organisations are not public in production.","inputSchema":{"type":"object","properties":{"digital_link":{"type":"string","description":"A GS1 Digital Link on id.aeroz.io (query string is ignored)."},"dpp_id":{"type":"string","description":"A passport id, dpp_ followed by 26 characters."},"version":{"type":"number","description":"Optional: a specific version (with dpp_id)."},"date":{"type":"string","description":"Optional: the passport as it stood on this ISO-8601 date (with dpp_id)."}}},"annotations":{"title":"Read a product passport","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"9098d42216b79333bf225545a5185005c93eabae3718e00d40db300736476ba4","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"get_usage","title":"Usage","description":"Return this organisation's Aeroz verification volume and outcome breakdown over a recent period. Use for reporting on scan volume, authentication failure rates, and trend. The buckets — authentic, recalled (any tap whose answer carried a recall, verified or not), mismatched (failed static or SUN signature), not_found, unverified (no or unchecked signature, test tag, held or disabled unit) and other — always sum to total.","inputSchema":{"type":"object","properties":{"days":{"type":"number","description":"Days to look back (default 30, max 365)."}}},"annotations":{"title":"Usage","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"1d1bcdb36fcdfa143869ace15954ae47f2bb59f0d833b9c61ad913a83e6a4fa5","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"graded_item","title":"Graded item","description":"A graded item as Aeroz holds it: grader, cert, grade, identity, whether the grader's own record matched, how many times it has been verified by tap, and its full provenance chain (sealed, sold, consigned, vaulted, shipped, verified…). Use for \"is this slab the one that was sealed\", \"where has it been\", \"has anyone tried to pass off a copy\". Report what this proves AND what it does not.","inputSchema":{"type":"object","properties":{"item_id":{"type":"string"}},"required":["item_id"]},"annotations":{"title":"Graded item","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"fd8fa5630de43370aa212085e8b6a28f1d525f7febd4354b8512b5967df96be2","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"import_products","title":"Import products","description":"Add or update many products at once, by the same rules as POST /v1/products/import: at most 5,000 rows, each row the fields of create_product. Send `dry_run: true` first: it checks every row and writes nothing. A real import writes nothing while any row has a problem. Each row comes back as create, update, unchanged or conflict.","inputSchema":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"object"},"description":"One object per product."},"dry_run":{"type":"boolean","description":"true checks and writes nothing. Default false."}},"required":["rows"]},"annotations":{"title":"Import products","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"7d3e79ef25654ea2e72b9c14e18d075c113a0f70c136adce217dec1ef0acce25","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"list_agents","title":"List agents","description":"List the Aeroz compliance agents available to this organisation and which are currently enabled. Use this to explain monitoring coverage or to find an agent worth enabling.","inputSchema":{"type":"object","properties":{}},"annotations":{"title":"List agents","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"e9a6a6811bd5a7c8497de293457d9d3c1d88c16b0ef22b980a468d1a1bc540df","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"list_connectors","title":"List connectors","description":"The systems Aeroz can connect to (WMS, ERP, commerce, EPCIS). Each has a tier and `tier_means` in words: `live` moves data today, `credentials` only checks your sign-in, `bridge` needs an on-site agent, `guided` means an Aeroz engineer finishes the hookup. Do not describe a guided connector as automatic.","inputSchema":{"type":"object","properties":{}},"annotations":{"title":"List connectors","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"515fec998a7dd97098fb820e05e2bd1d7d4c0fabc2c8e334857802528462c97e","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"list_findings","title":"List compliance findings","description":"List findings raised by the Aeroz compliance agents watching this organisation — recall hits, DPP data gaps, regulatory changes, dwell anomalies, and clone detections. Use this to answer \"what needs my attention\".","inputSchema":{"type":"object","properties":{"severity":{"type":"string","enum":["info","warn","critical"],"description":"Filter by severity."},"limit":{"type":"number","description":"Maximum findings to return (default 25, max 200)."}}},"annotations":{"title":"List compliance findings","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"a2f4acb5e781c8d77f7c629f377333850e96adeb7dfbe12d49c9b16b2d88a412","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"list_graded_items","title":"List graded items","description":"List this organisation's chip-bound graded items, optionally by status (sealed | active | flagged | retired).","inputSchema":{"type":"object","properties":{"status":{"type":"string"},"limit":{"type":"number"}}},"annotations":{"title":"List graded items","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"46b5869f981c19184ad7c5bde9cae9fadd7a386c75a3eba71634f8c20401811b","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"list_integrations","title":"List integrations","description":"This company's connected systems, each with its `status` and `status_means`. Only `connected` is proven; `unverified` means stored but not yet proven, which is not the same as working.","inputSchema":{"type":"object","properties":{}},"annotations":{"title":"List integrations","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"bd98f3aa021c7422b68ca269933ee3ff9c0305a79625915bc1d4d4585e1d1f11","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"list_products","title":"List products","description":"This company's registered products (archived ones left out). An empty list means recall watch has nothing to match against, not that all is clear.","inputSchema":{"type":"object","properties":{"limit":{"type":"number","description":"Optional. How many to return, 1 to 500, default 100."}}},"annotations":{"title":"List products","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"55e0c1a7983abcfe356b517e72ac1ba054586acc1816c1516e53ddaa54bf134e","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"list_sandbox_chips","title":"List sandbox chips","description":"List the seeded sandbox chips for this organisation, with the UID and signature to pass to verify_chip, one per scenario: authentic, recalled, signature_mismatch (listed with a deliberately WRONG signature) and not_found (a UID that is not on the register). Sandbox only — use when building or testing an integration before physical chips ship.","inputSchema":{"type":"object","properties":{}},"annotations":{"title":"List sandbox chips","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"acd9c98b8a3002ca46058070ca40f0b27ea1b3fb1008d86ece8f4620a69e00de","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"list_shipments","title":"List shipments","description":"List this organisation's shipments, optionally by status (planned | in_transit | delivered | exception | cancelled).","inputSchema":{"type":"object","properties":{"status":{"type":"string"},"limit":{"type":"number"}}},"annotations":{"title":"List shipments","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"7fd9d9af212266887e08ef00a08a48ee07d482daf473d4a115088826a3fc77e4","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"},{"serverName":"io.aeroz/aeroz","endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","name":"list_webhook_deliveries","title":"List webhook deliveries","description":"Recent webhook deliveries, newest first, each with every attempt and the receiver's answer. A `pending` delivery has a `next_attempt_at`: it is being retried, not lost. Needs the `webhooks:read` scope.","inputSchema":{"type":"object","properties":{"endpoint_id":{"type":"string","description":"Optional. Only deliveries to this endpoint."},"status":{"type":"string","description":"Optional. pending, sending, delivered, failed or cancelled."},"limit":{"type":"number","description":"Optional. 1 to 50, default 25."}}},"annotations":{"title":"List webhook deliveries","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"fe7446d77e72390c11c13aa3f46e6860fd37fc994ce24b0b5c49d8626ea4dc28","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T14:46:55.513Z","metadataTrust":"untrusted"}],"endpoints":[{"endpointFingerprint":"46972affd193d65a4c386c87060db75fbaf0ea91aac6a30b61b8f73835f703ea","protocol":"streamable-http","status":"indexed","toolCount":43,"observedAt":"2026-10-31T14:46:55.513Z"}],"authentication":"unknown"},"connectionConfigurations":{"status":"ready","authentication":"not embedded","clients":{"Claude Desktop":{"mcpServers":{"io.aeroz/aeroz":{"url":"https://api.aeroz.io/mcp"}}},"Cursor":{"mcpServers":{"io.aeroz/aeroz":{"url":"https://api.aeroz.io/mcp"}}},"VS Code":{"servers":{"io.aeroz/aeroz":{"type":"http","url":"https://api.aeroz.io/mcp"}}}}},"resourceType":"mcp-server","callable":true,"runtime":{"callable":true,"protocols":["mcp"]},"interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://api.aeroz.io/mcp"}],"profile":{"apiVersion":"1","schemaVersion":"1","id":"mcp-server:io.aeroz%2Faeroz","resourceType":"mcp-server","canonicalUrl":"https://www.agentsjunction.com/api/v1/servers/io.aeroz%2Faeroz","name":"io.aeroz/aeroz","description":"Prove a physical item is genuine (NFC chip); read its EU Digital Product Passport, recalls, custody.","interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://api.aeroz.io/mcp"}],"capabilities":[],"identity":{"source":"official-registry","websiteUrl":"https://aeroz.io","repositoryUrl":null,"version":"0.2.0"},"verification":{"state":"official","confidence":100},"operations":{"resourceType":"mcp-server","name":"io.aeroz/aeroz","status":"online","lastCheckedAt":"2026-11-03T18:15:38.421Z","lastSuccessfulCheck":"2026-11-03T18:15:38.421Z","latencyMs":211,"consecutiveFailures":0,"isStale":false,"checks":{"endpointReachable":true,"protocolValid":true,"agentCardValid":null,"mcpHandshakeValid":true},"lastSeen":null,"lastSuccessfulInteraction":null,"lastHealthCheck":"2026-11-03T18:15:38.421Z","source":{"type":"health-check","url":null},"observedAt":"2026-11-03T18:15:38.421Z"},"security":null,"timestamps":{"createdAt":"2026-10-15T08:36:48.830Z","updatedAt":"2026-10-15T08:36:48.830Z","observedAt":"2026-11-03T18:15:38.421Z"},"compatibility":{"serverVersion":"0.2.0","protocolVersions":[{"protocol":"mcp","version":null}]}}}}