addrbookFor publishers
← The evidence ledger

Evidence row 572986

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint f533dd30-f900-41ce-9927-a0f5bc61f161
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
0d2a53d912a9c6d6903b87ea044cec4b9751bd73ba54f772fffd771d99d9efcd
Leaf
0x345707bd50455cdd55dcc7d8efe358a25072828e6f4aa56faf83d476b2b48272

What was observed

{
  "count": 7,
  "tools": [
    {
      "description": "Use this when the user asks for the hourly rate of a machine or workstation (CNC, laser, press, welding cell...). Computes it from the user's values (price, utilisation, labour, energy) for free, or reads a reference rate from the database (1 credit). Do not use for labour-only salary questions.",
      "inputSchema": {
        "properties": {
          "machine": {
            "description": "OU vos propres valeurs : le taux est alors calculé (formule du site)",
            "properties": {
              "annees_amortissement": {
                "type": "number"
              },
              "cout_m2_an_eur": {
                "type": "number"
              },
              "heures_productives_an": {
                "type": "number"
              },
              "maintenance_pct_an": {
                "type": "number"
              },
              "operateur_eur_h": {
                "type": "number"
              },
              "outils_coupants_eur_h": {
                "type": "number"
              },
              "prix_kwh_eur": {
                "type": "number"
              },
              "prix_machine_eur": {
                "type": "number"
              },
              "puissance_kw": {
                "type": "number"
              },
              "surface_m2": {
                "type": "number"
              },
              "taux_charge_pct": {
                "type": "number"
              },
              "taux_interet_pct": {
                "type": "number"
              }
            },
            "type": "object"
          },
          "poste": {
            "description": "Poste de la base (une valeur par appel)",
            "enum": [
              "accrochage",
              "bain_anodisation",
              "bain_chromage",
              "bain_electropolissage",
              "bain_galvanisation",
              "bain_nickel_chimique",
              "bain_passivation",
              "bain_zingage",
              "cabine",
              "centre_usinage",
              "centrifugeuse",
              "chargement",
              "cintreuse",
              "circuit_imprime",
              "colmatage",
              "consommables_tampographie",
              "controle",
              "controle_dimensionnel",
              "controle_rx",
              "controle_visuel",
              "coulee",
              "coupe_denudage",
              "detourage",
              "ebarbage",
              "ebavurage",
              "electroerosion",
              "etirage",
              "finition",
              "fonderie_cire_perdue",
              "four",
              "four_etuvage",
              "four_frittage",
              "four_mim",
              "four_revenu",
              "four_t6",
              "four_trempe",
              "fusion",
              "grenaillage_manuel",
              "grenailleuse",
              "jet_eau",
              "lancement",
              "laser",
              "ligne_cms",
              "machine_rotomoulage",
              "main_oeuvre",
              "manutention",
              "marquage_laser",
              "microbillage",
              "montage_manuel",
              "montage_moule",
              "moulage",
              "outillage",
              "outillage_cms",
              "oxycoupage",
              "passivation",
              "plasma",
              "plieuse",
              "poinconneuse",
              "pose_cms",
              "presse",
              "presse_compactage",
              "presse_detourage",
              "presse_emboutissage_publiee",
              "presse_extrusion",
              "presse_extrusion_publiee",
              "presse_forge",
              "presse_injection",
              "presse_injection_dimensionnee",
              "presse_mim",
              "presse_mousse",
              "presse_sous_pression",
              "presse_sous_pression_publiee",
              "pretraitement",
              "rectifieuse",
              "refusion",
              "reprise_mim",
              "reprises",
              "sablage",
              "sciage",
              "scie",
              "serigraphie",
              "soudage",
              "soudage_manuel",
              "soudure_vague",
              "souffleuse",
              "sous_traitance",
              "tampographie",
              "test",
              "thermoformeuse",
              "tour",
              "traitement_thermique",
              "vernissage",
              "vibrateur"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "calculer_taux_horaire"
    },
    {
      "description": "Use this when the user asks what a manufactured part should cost (should-cost, target price, quote check) and a plan_id is available. Returns the unit price broken down line by line: material, each operation with machine and time, setups, overheads, margin, and what is not included. Requires material and quantity; ask the user if they are missing. Do not use for general price questions without a drawing. 1 credit.",
      "inputSchema": {
        "properties": {
          "ajustements": {
            "description": "Paramètres du modèle (voir ajustements_possibles dans la réponse)",
            "type": "object"
          },
          "epaisseur_mm": {
            "description": "Pour la tôle si le plan ne la porte pas",
            "type": "number"
          },
          "lot_de_fabrication": {
            "description": "Nombre de pièces par lot, ou « commande_entiere »",
            "oneOf": [
              {
                "minimum": 1,
                "type": "integer"
              },
              {
                "enum": [
                  "commande_entiere"
                ],
                "type": "string"
              }
            ]
          },
          "matiere": {
            "description": "Ex. aluminium, acier, inox, fonte, pa6",
            "type": "string"
          },
          "nb_campagnes": {
            "default": 1,
            "minimum": 1,
            "type": "integer"
          },
          "plan_id": {
            "description": "Identifiant rendu par POST /plans",
            "type": "string"
          },
          "quantite": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "plan_id",
          "matiere",
          "quantite"
        ],
        "type": "object"
      },
      "name": "chiffrer_piece"
    },
    {
      "description": "Use this when the user wants to see how the unit price of the same part changes with quantity (2 to 8 quantities, e.g. 50, 500, 5000). Returns one costed line per quantity. Do not use for a single quantity (use chiffrer_piece). 1 credit per quantity.",
      "inputSchema": {
        "properties": {
          "ajustements": {
            "description": "Paramètres du modèle (voir ajustements_possibles dans la réponse)",
            "type": "object"
          },
          "detail": {
            "default": false,
            "description": "Renvoyer toutes les lignes pour chaque quantité",
            "type": "boolean"
          },
          "epaisseur_mm": {
            "description": "Pour la tôle si le plan ne la porte pas",
            "type": "number"
          },
          "lot_de_fabrication": {
            "description": "Nombre de pièces par lot, ou « commande_entiere »",
            "oneOf": [
              {
                "minimum": 1,
                "type": "integer"
              },
              {
                "enum": [
                  "commande_entiere"
                ],
                "type": "string"
              }
            ]
          },
          "matiere": {
            "description": "Ex. aluminium, acier, inox, fonte, pa6",
            "type": "string"
          },
          "nb_campagnes": {
            "default": 1,
            "minimum": 1,
            "type": "integer"
          },
          "plan_id": {
            "description": "Identifiant rendu par POST /plans",
            "type": "string"
          },
          "quantites": {
            "items": {
              "minimum": 1,
              "type": "integer"
            },
            "maxItems": 8,
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "plan_id",
          "matiere",
          "quantites"
        ],
        "type": "object"
      },
      "name": "comparer_quantites"
    },
    {
      "description": "Use this when the user asks how many estimates or credits remain, or what limits apply. Returns remaining credits, quotas and recent calls. Free, read-only.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "consulter_usage"
    },
    {
      "description": "Use this when the user provides a technical drawing of a manufactured part (PDF, DXF or STEP, max 20 MB) that will be costed. Uploads the file (base64) and returns a plan_id plus the dimensions and features read from it. Do not use for photos, invoices or documents that are not part drawings. Free.",
      "inputSchema": {
        "properties": {
          "contenu_base64": {
            "description": "Contenu du fichier en base64",
            "type": "string"
          },
          "nom_fichier": {
            "description": "Ex. piece.pdf",
            "type": "string"
          }
        },
        "required": [
          "nom_fichier",
          "contenu_base64"
        ],
        "type": "object"
      },
      "name": "deposer_plan"
    },
    {
      "description": "Use this only when the user asks to buy or top up estimates, or after an estimate failed because credits ran out and the user wants to continue. Returns a secure card payment page (Stripe) to give to the user: pack25 (25 estimates, EUR 15 excl. VAT), pack100 (100, EUR 50), illimite (unlimited, EUR 200 per month). No payment happens inside the conversation; credits are added as soon as payment is confirmed. Free.",
      "inputSchema": {
        "properties": {
          "offre": {
            "description": "pack25 (25 chiffrages, 15 EUR HT), pack100 (100, 50 EUR HT) ou illimite (abonnement mensuel 200 EUR HT, usage raisonnable 3 000 par jour)",
            "enum": [
              "pack25",
              "pack100",
              "illimite"
            ],
            "type": "string"
          }
        },
        "required": [
          "offre"
        ],
        "type": "object"
      },
      "name": "recharger_credits"
    },
    {
      "description": "Use this when the user has a supplier quote for a part and wants to know if the price is fair. Compares the quoted price with the price rebuilt from the drawing, line by line, and lists the questions to ask the supplier. Requires a plan_id and the quoted unit price. 1 credit. The quote can be passed either as its unit price (devis.prix_unitaire_eur) or as the PDF file (devis.pdf_base64); with the PDF, the price, quantity and supplier are read automatically and returned in devis_lu.",
      "inputSchema": {
        "properties": {
          "ajustements": {
            "description": "Paramètres du modèle (voir ajustements_possibles dans la réponse)",
            "type": "object"
          },
          "devis": {
            "anyOf": [
              {
                "required": [
                  "prix_unitaire_eur"
                ]
              },
              {
                "required": [
                  "pdf_base64"
                ]
              }
            ],
            "description": "Supplier quote: give prix_unitaire_eur, or pdf_base64, or both (prix_unitaire_eur then wins).",
            "properties": {
              "lignes": {
                "items": {
                  "properties": {
                    "montant_eur": {
                      "type": "number"
                    },
                    "poste": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              },
              "pdf_base64": {
                "contentEncoding": "base64",
                "contentMediaType": "application/pdf",
                "description": "Optional: the supplier quote itself as a PDF, base64-encoded (max 8 MB). If prix_unitaire_eur is not given, the unit price is read from this PDF. Text PDFs only (scanned quotes cannot be read: then ask the user for the unit price).",
                "type": "string"
              },
              "prix_unitaire_eur": {
                "description": "Quoted unit price, EUR excl. VAT.",
                "type": "number"
              }
            },
            "required": [],
            "type": "object"
          },
          "epaisseur_mm": {
            "description": "Pour la tôle si le plan ne la porte pas",
            "type": "number"
          },
          "lot_de_fabrication": {
            "description": "Nombre de pièces par lot, ou « commande_entiere »",
            "oneOf": [
              {
                "minimum": 1,
                "type": "integer"
              },
              {
                "enum": [
                  "commande_entiere"
                ],
                "type": "string"
              }
            ]
          },
          "matiere": {
            "description": "Ex. aluminium, acier, inox, fonte, pa6",
            "type": "string"
          },
          "nb_campagnes": {
            "default": 1,
            "minimum": 1,
            "type": "integer"
          },
          "plan_id": {
            "description": "Identifiant rendu par POST /plans",
            "type": "string"
          },
          "quantite": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "plan_id",
          "matiere",
          "quantite",
          "devis"
        ],
        "type": "object"
      },
      "name": "verifier_devis"
    }
  ]
}

What the leaf hashes

{"body":"0d2a53d912a9c6d6903b87ea044cec4b9751bd73ba54f772fffd771d99d9efcd","id":572986,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793140921568878,"prev":null,"subject":"f533dd30-f900-41ce-9927-a0f5bc61f161","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).

  1. 0x345663fbe669e806a1265be5ee1432e468af4f7b9492c790c6a59113d5e95353
  2. 0x0bdd1d7fb936fe772213eadf332c015188a10970c874498a6366a7d9cbc2144e
  3. 0x63c825ac89f2923c1b216f828efdd9330f520c96d053130b94a2b23dd5f0e019
  4. 0x0fbadec594aa403695a74711474b292199ba0fa5fce1d7034cac7960533364f1
  5. 0xcf770b7dbd1efe15e6d9efa0a2bcce947ec776a4d617bfe104af4736c23d2ad1
  6. 0xe95a1c7d7f9c3a1d4b658e23f94e03988f5786304a30e3abb3ea31f71c9a4baf
  7. 0xa4cbef82519cffd7831d1f05ed875771eceaa7aa046f96a137ac13ed50f8dcaf
  8. 0x3db0bd200cde239934a5909d9f0b9ead739f050bded6a554571ec0c8bd13a7b3
  9. 0x3fd6a50fb6d8758a751f89fc556ebf9bbd5542df7a53a25c7c0594baca3a618c
  10. 0x404479bb113d68b31fa7f1ad5ca9150118b823282cb4eb770c953710b5581306
  11. 0x85a6f473253adaf20ada24e9798c83bbc77040d206df2377d7a0ddf9221f9e70
  12. 0x0491d1aef43a95c6e235bd50f122c12c8c56196bb71b329f055061f0e9ee7115
  13. 0x5a83a2d5b2abb340c16172caf3ef83b831e168d2e94e4154a4ad72adcac5cad2
  14. 0x595de2dea3b8fa56dbd6142dd78ae79f3e7169c631e41a844b100613abb3e430
  15. 0x8360ee1105e4d9f9312067cbbfd47c69c5948665ae582b9684a580c8f4e199e1
  16. 0x52efa60e0c3d8525486d2310eb3b6b566c9677c64fd1f819edb072cf101bcbdb
  17. 0x22c1fb9487ee0b9732fa017a0cc321eb27a60c08450d112f755089796e12cb1c
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON