addrbookFor publishers
← The evidence ledger

Evidence row 569522

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 71418b80-1705-400a-a102-35549df8dfc5
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
d1e6cf9b9d9a22e08f2f7cecd542f2b2ac3f735da30f1c960e5b0f535e131193
Leaf
0x2a0e311181b6d56484715f7434a830d8ee2a5fad152ae52ddc9793b7356ae6ea

What was observed

{
  "count": 10,
  "tools": [
    {
      "description": "Add a material (BOM line) to an existing cost model. Searches the materials database by name query — no need for exact IDs.",
      "inputSchema": {
        "properties": {
          "massKg": {
            "description": "Mass of material per unit in kilograms.",
            "type": "number"
          },
          "materialQuery": {
            "description": "Material name to search for, e.g. 'ABS', 'Aluminium 6061', 'Stainless 304'.",
            "type": "string"
          },
          "modelId": {
            "description": "Cost model ID returned by create_cost_model.",
            "type": "number"
          },
          "qty": {
            "default": 1,
            "description": "Number of this material per unit assembly. Defaults to 1.",
            "type": "number"
          },
          "scrapFactor": {
            "default": 1.05,
            "description": "Scrap/yield factor (e.g. 1.05 = 5% material waste). Defaults to 1.05.",
            "type": "number"
          }
        },
        "required": [
          "modelId",
          "materialQuery",
          "massKg"
        ],
        "type": "object"
      },
      "name": "add_material_to_model"
    },
    {
      "description": "Add a manufacturing process step to an existing cost model. Searches the process database by name query — no need for exact IDs.",
      "inputSchema": {
        "properties": {
          "countryCode": {
            "description": "Country where this process step is performed (ISO 3166-1 alpha-2).",
            "type": "string"
          },
          "cycleTimeHrs": {
            "description": "Cycle time per unit in decimal hours (e.g. 0.5 = 30 minutes).",
            "type": "number"
          },
          "modelId": {
            "description": "Cost model ID returned by create_cost_model.",
            "type": "number"
          },
          "processQuery": {
            "description": "Process name to search for, e.g. 'CNC 3-Axis', 'Injection Moulding', 'TIG Welding'.",
            "type": "string"
          },
          "skillLevel": {
            "description": "Worker skill level. Options: cnc_machinist, machine_operator, welder, composite_tech, assembly_tech, quality_inspector, toolmaker, engineer, general_labour, painter, electrician, plumber, driver, warehouse, admin, manager.",
            "type": "string"
          },
          "stepOrder": {
            "default": 1,
            "description": "Step sequence number (1 = first). Defaults to 1.",
            "type": "number"
          }
        },
        "required": [
          "modelId",
          "processQuery",
          "countryCode",
          "skillLevel",
          "cycleTimeHrs"
        ],
        "type": "object"
      },
      "name": "add_process_to_model"
    },
    {
      "description": "Run the Monte Carlo should-cost calculation on a cost model. Returns P50 (median), P80 and P90 cost-at-risk per unit, plus a full cost breakdown (material, labour, machine, overhead, margin).",
      "inputSchema": {
        "properties": {
          "modelId": {
            "description": "Cost model ID returned by create_cost_model.",
            "type": "number"
          }
        },
        "required": [
          "modelId"
        ],
        "type": "object"
      },
      "name": "calculate_cost_model"
    },
    {
      "description": "Run the cost model across multiple manufacturing countries simultaneously to identify the optimal sourcing location. Returns P50/P80/P90 per country and % delta vs baseline.",
      "inputSchema": {
        "properties": {
          "countries": {
            "description": "Array of ISO 3166-1 alpha-2 country codes to compare, e.g. ['US','CN','VN','MX','DE']. Maximum 6.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "modelId": {
            "description": "Cost model ID returned by create_cost_model.",
            "type": "number"
          }
        },
        "required": [
          "modelId",
          "countries"
        ],
        "type": "object"
      },
      "name": "compare_manufacturing_countries"
    },
    {
      "description": "Create a new parametric cost model in Costable. Returns the model ID which is used by add_material_to_model, add_process_to_model, calculate_cost_model, and compare_manufacturing_countries.",
      "inputSchema": {
        "properties": {
          "batchQty": {
            "description": "Batch / order quantity. Affects Wright's Law learning curve.",
            "type": "number"
          },
          "countryCode": {
            "description": "Primary manufacturing country code (ISO 3166-1 alpha-2).",
            "type": "string"
          },
          "marginRate": {
            "default": 0.15,
            "description": "Profit margin as a decimal fraction (e.g. 0.15 = 15%). Defaults to 0.15.",
            "type": "number"
          },
          "name": {
            "description": "Descriptive name for the cost model, e.g. 'Aluminium Enclosure Rev2'.",
            "type": "string"
          },
          "overheadRate": {
            "default": 0.25,
            "description": "Factory overhead as a decimal fraction (e.g. 0.25 = 25%). Defaults to 0.25.",
            "type": "number"
          }
        },
        "required": [
          "name",
          "countryCode",
          "batchQty"
        ],
        "type": "object"
      },
      "name": "create_cost_model"
    },
    {
      "description": "Instantly estimate the should-cost of a manufactured part using natural language. Returns P50 (median), P80 and P90 cost-at-risk per unit based on Monte Carlo simulation of material price variance, labour rate variance and cycle time uncertainty. Use this for quick feasibility checks before building a full cost model.",
      "inputSchema": {
        "properties": {
          "batchQty": {
            "default": 100,
            "description": "Batch / order quantity. Affects Wright's Law learning curve factor. Defaults to 100.",
            "type": "number"
          },
          "countryCode": {
            "default": "US",
            "description": "ISO 3166-1 alpha-2 manufacturing country code. Defaults to 'US'. Supported: US, CN, DE, JP, UK, MX, IN, VN, TH, PL, BR, FR, IT, KR, TW, CA, SE, SG, MY, ID, CZ, TR, ZA, ES, AU.",
            "type": "string"
          },
          "description": {
            "description": "Natural language description, e.g. '500 ABS injection moulded phone cases 0.08 kg' or 'CNC milled aluminium bracket 0.45 kg, 100 units'.",
            "type": "string"
          }
        },
        "required": [
          "description"
        ],
        "type": "object"
      },
      "name": "estimate_part"
    },
    {
      "description": "Get manufacturing labour rates ($/hr) for all skill levels in a given country. Data covers 16 skill levels across 25 countries (ILO/BLS/ABS sourced).",
      "inputSchema": {
        "properties": {
          "countryCode": {
            "description": "ISO 3166-1 alpha-2 country code, e.g. 'US', 'CN', 'DE', 'VN'.",
            "type": "string"
          }
        },
        "required": [
          "countryCode"
        ],
        "type": "object"
      },
      "name": "get_labour_rates"
    },
    {
      "description": "Analyse a supplier quote against Costable's should-cost benchmarks. Returns a line-by-line delta (% over/under should-cost), verdict (LOW / COMPETITIVE / HIGH / VERY HIGH), and a list of the top items to challenge in negotiation.",
      "inputSchema": {
        "properties": {
          "countryCode": {
            "description": "Supplier's manufacturing country (ISO 3166-1 alpha-2).",
            "type": "string"
          },
          "items": {
            "description": "Quote line items.",
            "items": {
              "properties": {
                "description": {
                  "description": "Part description.",
                  "type": "string"
                },
                "materialHint": {
                  "description": "Optional material name hint for better matching.",
                  "type": "string"
                },
                "processHint": {
                  "description": "Optional process name hint for better matching.",
                  "type": "string"
                },
                "qty": {
                  "description": "Order quantity.",
                  "type": "number"
                },
                "quotedPrice": {
                  "description": "Quoted unit price in USD.",
                  "type": "number"
                }
              },
              "required": [
                "description",
                "quotedPrice",
                "qty"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "supplierName": {
            "description": "Name of the supplier (for labelling the report).",
            "type": "string"
          }
        },
        "required": [
          "supplierName",
          "countryCode",
          "items"
        ],
        "type": "object"
      },
      "name": "review_supplier_quote"
    },
    {
      "description": "Search the Costable materials database (37 materials with LME-sourced pricing). Returns material name, category, price per kg, density, and strength properties.",
      "inputSchema": {
        "properties": {
          "category": {
            "description": "Filter by category: Metals - Aluminium, Metals - Steel, Metals - Titanium, Metals - Copper Alloys, Polymers - Thermoplastic, Polymers - Thermoset, Composites, Timber, Rubber & Elastomers.",
            "type": "string"
          },
          "limit": {
            "default": 20,
            "description": "Maximum results to return. Defaults to 20.",
            "type": "number"
          },
          "query": {
            "description": "Search query, e.g. 'aluminium', 'stainless', 'ABS', 'titanium'.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "search_materials"
    },
    {
      "description": "Search the Costable manufacturing process database (41 processes). Returns process name, category, machine rate ($/hr), and cycle time model.",
      "inputSchema": {
        "properties": {
          "category": {
            "description": "Filter by category: CNC Machining, Sheet Metal, Casting, Polymer Processing, Additive Manufacturing, Composites, Welding & Joining, Surface Finishing, Assembly.",
            "type": "string"
          },
          "limit": {
            "default": 20,
            "description": "Maximum results to return. Defaults to 20.",
            "type": "number"
          },
          "query": {
            "description": "Search query, e.g. 'CNC', 'injection moulding', 'laser cutting', 'anodising'.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "search_processes"
    }
  ]
}

What the leaf hashes

{"body":"d1e6cf9b9d9a22e08f2f7cecd542f2b2ac3f735da30f1c960e5b0f535e131193","id":569522,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793139391566008,"prev":null,"subject":"71418b80-1705-400a-a102-35549df8dfc5","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. 0x2a0e9cb701c69d7d40248b6730e116edce1c2ddb55b36e2d53fe2eb89e47b849
  2. 0x3a941205484eebd5f4ca04087c7e0826a236966cd1a454da4a25b5ff2174ce89
  3. 0x5dcd2e3b54ae4821a85604418ed4d6bb33e79a0f465100772679e3c1c5589a88
  4. 0x865506484a86a37c73ae10280f66ed4b70ba844771987d88653be9bdeac48e01
  5. 0xc4e879139d4de154c09c4047359aa0ffafcf89fe9523ac9a8453476aa79a493a
  6. 0x43a807f0a7115f2e715468c03d541de35f3bbed14eb8548bbc7c72a2b6687b83
  7. 0xa81640258cdd8cb575541fc0aa2af57d3e97c73d73f33707de56cd2729445355
  8. 0x9894e14b6f0711fe59c1d1b10e75bcf9f7ee1b9bce27b4100b0851fab9e6170a
  9. 0x855d1ad8b2e84cc07d2810932b5dc3a34951c235fe1e42987e434adbdbf23c49
  10. 0xc0a5bef88e4d5324cced6c7523eb88c273b4552dfc893301ccd21f3fe5769359
  11. 0xa4cf5f8abf1fd5862fdfe7da495135918d37a4b05ef397791ef37ad625f906c9
  12. 0x53be2d72842ed384672ee78d06cbad599558474b78db9065a3b26f87d53522fa
  13. 0x28be2f2303fcac4decdb6323b0f4ee8f8a31038beb758eaafc604a98626292e4
  14. 0x8ff18b1523f9fbdd16a5796cbe184b46854c06256508af8de5509b598370c725
  15. 0xa383a1cfe9b3f6af67eb4c7642564b9424d46d7fca90e7ba175d549f8b67dd0c
  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