MCP App Store
by KeenEthics

Overview

Compare X3P surface scans using Verity's hosted service. Inspect the likelihood ratio, named reference, uncertainty, applicability warnings, and reproducible recipe handle. Explain a report without converting it into a match verdict.

Tools

calibrate_score

ChatGPT
Map a comparison score to a bounded likelihood ratio against a named reference ("striated" | "impressed" | "toolmark" | "striated_single"), with its calibration curve and credible interval. If scorer_config_hash is given and doesn't match the reference's, calibration is refused (the firewall). If omitted, config_verified is false: this maps a caller-supplied score and does not establish its provenance or reportability.

compare_marks

ChatGPT
Compare two forensic marks into a CALIBRATED likelihood ratio with a reproducible recipe handle and region-level attribution. - domain: one of "striated" (bullet lands), "impressed" (cartridge breech faces), or "toolmark" (striated toolmarks, e.g. screwdriver marks). This selects the reference the LR is calibrated on, so it must match the mark type — a striated toolmark sent as "striated" (bullet lands) calibrates against the wrong population. - mark_a_base64, mark_b_base64: base64-encoded .x3p bytes — one per side for impressed; for a bullet, pass ALL of that bullet's land scans (aggregating the lands is the strong path). (This server is hosted, so it cannot read local paths — send the bytes.) A single-land striated result is diagnostic only, not reportable evidence. - scorer_config: optional hyperparameter override (e.g. {"lambda_c": 8e-6}); if it doesn't match the reference's config, the result is the raw score with NO calibrated LR (the firewall). Returns the likelihood ratio + ENFSI verbal weight, the named reference it is calibrated on, the content handle (the same inputs reproduce it), and any scope caveats — or an honest refusal if an input is outside the validated domain. This is a calibrated weight of evidence on a named reference, not a claim about the error rate of examination.

detect_mark_type

ChatGPT
Suggest whether a 3-D surface scan is a STRIATED mark (directional striae — bullet lands or toolmarks) or an IMPRESSED mark (cartridge breech face), from striation anisotropy. scan_base64 is the raw bytes of one .x3p file, base64-encoded. This detects the physics (striated vs impressed), not the calibration domain: a striated result maps to either the striated domain (bullet lands) or the toolmark domain (screwdriver-style toolmarks), which calibrate against different references. The detected mark type selects the reference, so confirm the domain before comparing.

list_references

ChatGPT
The calibration reference populations and their provenance — the scorer-config hash each was built under, its source datasets, and its discrimination/calibration diagnostics (AUC, Cllr). This is exactly what every likelihood ratio is calibrated on.

scorer_config

ChatGPT
The deployed scorer hyperparameters and their content hash. A calibrated LR is valid only against a reference built under this same config hash (the firewall).

service_health

ChatGPT
Verity service status and the mark types (domains) it can calibrate.

Example Prompts

Click any prompt to copy it.

Similar Apps