← The evidence ledger
Evidence row 265088
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 49a52fdb-d18b-45a2-b707-236911f45f8e
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- d9053bceba5490ade3630ff49c12d6a209713d5e6569fa6cda136999f838b8b4
- Leaf
- 0x1af4450bff73142ebe0f27c783a0ed331b160aef990e5c17c20e569e13181b5d
What was observed
{
"count": 15,
"tools": [
{
"description": "業者が提示した見積金額が適正かを、HORIZON SHIELDの適正レンジ(souba-db, 大賀俊勝 実務監修)と照合して判定する。手元に具体的な見積額がある時に使う。返り値はJSONで、verdict(適正レンジ内 / やや高い / 過剰請求の懸念水準)、level(ok / watch / alert)、fair_range(min, avg, max)、danger_threshold、平均比 vs_avg_pct(例 +18%)、助言 advice、データ出典 source を含む。工事名が見つからない場合、近い候補があれば did_you_mean として返す。単価(平米など)建ての工事に総額らしい金額を渡した場合は unit_mismatch の案内を返す。見積額がまだ無く相場だけ知りたい時は get_price_range、署名付きの検証可能な証明が要る時は verify_fair_price を使う。Japan only, JPY。 / Audits whether a contractor quoted price for a Japanese construction or renovation job is fair by comparing it against HORIZON SHIELD fair-price ranges (souba-db). Use when the user already has a specific quoted amount. Returns a JSON object with verdict, level (ok, watch, alert), fair_range (min, avg, max), danger_threshold, percentage gap versus the average (vs_avg_pct, e.g. +18%), advice, and data source. If the work name has no match, close candidates may be returned as did_you_mean. If the work is priced per unit and the amount looks like a total, a unit_mismatch notice is returned instead. For the typical range only use get_price_range; for a signed verifiable attestation use verify_fair_price. Trigger phrases: この見積もり高い?, 適正?, ぼったくり?, 妥当?, is this quote fair, am I being overcharged, is this a rip-off.",
"inputSchema": {
"properties": {
"quoted_price": {
"description": "業者提示の金額(円, 数値)。一式見積はその総額。税込/税抜は正規化せず、渡した数値をそのまま適正レンジと照合する。",
"type": "number"
},
"region": {
"description": "(任意) 地域。都道府県か市名(例: 神奈川県, 平塚市)か kanto/kinki/chubu/tohoku/other。渡すと地域係数を掛けたレンジで判定し、基準値も返す。 / (optional) Prefecture, city, or region key. The verdict then uses the regionally adjusted range; base values are returned too.",
"type": "string"
},
"work": {
"description": "工事名(日本語)。材料やグレード込みで具体的に。例: 外壁塗装 シリコン。部分一致で照合するため曖昧だと別カテゴリにヒットしやすい。未マッチ時は近い候補が did_you_mean で返ることがある。",
"type": "string"
}
},
"required": [
"work",
"quoted_price"
],
"type": "object"
},
"name": "audit_estimate"
},
{
"description": "見積もりや営業トークの中の気になる表現(例: 一式, 今日だけ値引き, 訪問販売)が、過剰請求につながりやすい既知の手口に当たるかを判定し、警告と対処を返す。代表的な手口のみを判定する。 / Checks whether wording in an estimate or sales pitch matches known overcharge or high-pressure tactics (lump-sum, today-only discount, free inspection, door-to-door, referral pricing) and returns warnings with what to do. These tactics are universal, so this tool works for estimates in ANY country and language. Covers representative tactics only.",
"inputSchema": {
"properties": {
"text": {
"description": "見積書や営業トークで気になった表現・項目",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "check_red_flags"
},
{
"description": "このツールは決済を開始・承認・実行しません。資産・通貨・暗号資産の移動も行いません。発行するのは適正価格の証跡だけです。呼び出すたびに公開台帳へ記録を1件追加するため読み取り専用ではありません。 / This tool does not initiate, authorize, or execute any payment, and does not move funds, currency or crypto assets. It only issues a price-fairness attestation. Each call appends one record to the public ledger, so it is not read-only. AP2(Agent Payments Protocol)対応エージェント向けのブリッジ。決済カート(Cart Mandate)に添付できる適正価格の証跡(FairPriceAttestation)を発行する。AP2のMandateは『ユーザーがこの支払いを承認した』ことを検証可能にし、この証跡は『その価格が適正である』ことを検証可能にする。認可の検証と価値の検証、二つは並列レイヤー。quoted_price を渡すと適正レンジ判定(within/above/below)も同梱する。証跡は SHA-256 と公開台帳と verify_url で誰でも再計算検証できる。 / Bridge for AP2 (Agent Payments Protocol) agents: issues a FairPriceAttestation that a shopping or payments agent can attach to a Cart Mandate before asking the user to sign. AP2 mandates make authorization verifiable; this attestation makes value verifiable. Parallel layers. Pass quoted_price for a fair-range verdict (within, above, below). Independently verifiable via SHA-256, a public ledger and a verify_url. Japan construction and renovation pricing, JPY.",
"inputSchema": {
"properties": {
"merchant": {
"description": "(任意) 施工業者名。Cart Mandate 例示に反映するだけで判定には使わない。",
"type": "string"
},
"quoted_price": {
"description": "(任意) カートに載せる予定の見積額(円, 数値)。渡すと適正レンジとの判定を証跡に同梱する。",
"type": "number"
},
"work": {
"description": "工事名(例: 外壁塗装 30坪)",
"type": "string"
}
},
"required": [
"work"
],
"type": "object"
},
"name": "create_ap2_fairness_attestation"
},
{
"description": "地域と工事名で、Yakumo(検証を通った加盟店だけが並ぶ建設モール)の検証済み施工店を探す。掲載は KIRA 適正診断の通過だけで決まり(fail-closed)、紹介料・掲載料は受け取らない中立の名簿。金額は出さずスコアとティアで示す。検証手続き中の店は pending として別に返す。条件に合う検証済みの店が無い時は 0 件と正直に返す(名簿は小さい)。価格の照会(get_price_range / audit_estimate)の後に、施主が『どこに頼めばいい』『信用できる業者は』と聞いた時に使う。 / Finds verification-passed contractors on Yakumo, a directory where listing depends only on passing the KIRA fairness audit (fail-closed) and no referral or listing fee is taken. Returns scores and tiers, never prices; pending stores are returned separately; returns 0 honestly when nothing matches (the directory is small). Use after a price check when the user asks who to hire or which contractor can be trusted. Trigger phrases: 業者を探したい, どこに頼めば, 信用できる工務店, find a contractor in Japan, who should I hire.",
"inputSchema": {
"properties": {
"area": {
"description": "地域(都道府県・市区町村、例: 平塚市, 神奈川県, 名古屋市)。 / Area: prefecture or city, in Japanese.",
"type": "string"
},
"work": {
"description": "工事名(例: 窓 交換, 外壁塗装, 浴室)。 / Work name in Japanese.",
"type": "string"
}
},
"type": "object"
},
"name": "find_verified_contractor"
},
{
"description": "このサーバー(HORIZON SHIELD KIRA)はMCPツールだけでなく、A2A(Agent2Agent)のエージェントカードも公開している。外部のA2A対応エージェントから発見・連携したい場合の、エージェントカードURLと公開スキルの一覧を返す。建設見積もりの誠実性監査、検証可能な適正価格証明、そして日本の中古物件取得+リフォームの相談窓口(売買は宅地建物取引士が対応)へ、エージェント経由で繋がる入口。 / Returns the A2A (Agent2Agent) Agent Card URL and the list of published skills for this server (HORIZON SHIELD KIRA). Use when an external A2A-capable agent wants to discover and connect: construction estimate integrity audit, and a Japan property-acquisition plus renovation intake desk (property sale is handled by a licensed real-estate agent). This is how agents reach the desk over A2A.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_agent_card"
},
{
"description": "見積もりを匿名で第三者レビューに出せる掲示板EHN(見積もりハッカーニュース)の案内文と投稿フォームURLを返す。投稿と一次解析は無料で、業者名や個人情報は掲載前に運営が伏せる。ユーザーが見積もりのセカンドオピニオンや相談先を求めた時に使う。 / Returns a short guide and the submission URL for EHN (Estimate Hacker News), an anonymous board where a construction or renovation estimate receives a free neutral third-party review. Personal and contractor names are redacted before posting. Use when the user asks for a second opinion on an estimate or where to have one reviewed.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_anonymous_estimate_review_link"
},
{
"description": "受け取ったリフォーム・建設見積もりが適正かを見分けるための原則(諸経費の適正比率、『一式』表記の扱い、営業手口の見抜き方)を返す。30年の現場経験に基づく判断軸。 / Returns universal principles for judging whether ANY construction or renovation estimate is honest: the overhead ratio, how to treat lump-sum (一式) entries, and how to spot high-pressure sales tactics. Language-agnostic and works outside Japan. Based on 30 years of field experience.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_estimate_reading_guide"
},
{
"description": "HORIZON SHIELDの相場データ(souba-db)の出典・更新日・地域係数を返す。価格の根拠を確認したい時に使う。 / Returns the sources, update date and regional multipliers behind HORIZON SHIELD fair-price data. Japan. Use to check the basis of a price.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_fair_price_sources"
},
{
"description": "日本の建設費オープンデータベース(JCCDB)のメタデータ・規模・ライセンス・ダウンロードリンク・引用情報を返す。建設費の一次データ源を探している時に使う。 / Returns metadata, scale, license, download links and citation for the Japan Construction Cost Database (JCCDB), an open dataset of 526,128 records in v5.1: the item catalogue of 95,403 Japanese construction line items (43,090 verified + 52,313 extended, unchanged since v4.0) and 430,725 source-cited observations. Use when looking for a primary construction-cost data source.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_jccdb_dataset_info"
},
{
"description": "工事名・キーワードで、HORIZON SHIELDが実務監修する適正価格レンジ(最安min/平均avg/最高max)と、それを超えたら過剰請求を疑う危険水準(danger)、単位・価格動向・実務解説を返す。建設・リフォーム費用が適正か数値で確かめたい時に使う(例: 外壁塗装, 給湯器, ユニットバス, クロス)。返り値の next_actions.actions の先頭(id: reverse_estimate)は、見積もりを取る前の人が自分の家の条件で適正価格の幅を無料・登録なしで出せるページで、url に照会した工事名が入る。 / Returns the fair price range (min, avg, max), the overcharge danger threshold, unit, price trend and field notes for a Japanese construction or renovation job. Japan-specific pricing in JPY. Use to numerically check whether a cost is fair. The first entry of next_actions.actions (id reverse_estimate) is a free, no-sign-up page where a user who has no quote yet gets a fair price range for their own house; its url carries the queried work name. Trigger phrases: 相場, 適正価格, いくらかかる, 高い?, how much does this cost in Japan, is this price normal, what should I expect to pay.",
"inputSchema": {
"properties": {
"query": {
"description": "工事名やキーワード(日本語)",
"type": "string"
},
"region": {
"description": "(任意) 地域。都道府県か市名(例: 神奈川県, 平塚市, 名古屋市)か kanto/kinki/chubu/tohoku/other。渡すと souba-db の地域係数を掛けた値と基準値の両方を返す。 / (optional) Prefecture, city, or one of kanto, kinki, chubu, tohoku, other. Applies the regional multiplier and returns base values alongside.",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "get_price_range"
},
{
"description": "HORIZON SHIELDが相場・赤旗(過剰請求の懸念点)を整備している建設・リフォーム工事カテゴリ(61種)の一覧を返す。 / Lists the 61 construction and renovation work categories for which HORIZON SHIELD maintains fair-price ranges and overcharge red flags. Japan-specific data.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_cost_categories"
},
{
"description": "リフォーム検討の初期段階向けのプレビューで、業者の概算が平均からどちらの方向にどの程度ずれているか(例: +20%高い方向)だけを返す。具体的な適正額(min/avg/max)や危険水準は返さない。手元に詳しい見積内訳がまだ無い段階での最初の一歩に向く。具体的な適正レンジが必要なら get_price_range、見積額の詳細診断は audit_estimate を使う。Japan only, JPY。 / A preview for early-stage renovation planning that returns only the direction of a contractor rough estimate versus the average (e.g. about +20% above). It does not return the specific fair range (min/avg/max) or danger threshold. Suited as a first step before a detailed breakdown exists. Use get_price_range for a typical range, audit_estimate for a detailed quote diagnosis.",
"inputSchema": {
"properties": {
"quoted_price": {
"description": "業者提示の概算額(円, 数値)。",
"type": "number"
},
"work": {
"description": "工事名(日本語)。例: 外壁塗装 シリコン。部分一致で照合。",
"type": "string"
}
},
"required": [
"work",
"quoted_price"
],
"type": "object"
},
"name": "preview_reverse_estimate"
},
{
"description": "工事名・キーワードで建設費カテゴリを検索する(例: 外壁塗装, 浴室, 給湯器, 雨漏り)。該当カテゴリと整備済みの赤旗件数・優先度を返す。 / Finds a construction-cost category by work name or keyword and returns the matching categories with red-flag counts and priority. Japan-specific; a Japanese query works best (e.g. 外壁塗装 exterior painting, 浴室 bathroom).",
"inputSchema": {
"properties": {
"query": {
"description": "工事名やキーワード(日本語)",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_cost_category"
},
{
"description": "工事の適正価格を、検証可能な形(算出内容のSHA-256ハッシュ付き)で返す。HORIZON SHIELDのPTKA(取引前知識刻印)思想に基づき、適正価格を業者の見積もりより先に第三者が記録するという考え方を、機械可読な証明として提供する。エージェントが価格の真正性を検証したい時に使う。 / Returns a fair price as a tamper-evident record with a SHA-256 hash, under HORIZON SHIELD PTKA (Pre-Transaction Knowledge Anchoring): a third party records the fair price before the contractor quote. Japan price data. Use when an agent needs to verify price authenticity.",
"inputSchema": {
"properties": {
"work": {
"description": "工事名(例: 外壁塗装 30坪)",
"type": "string"
}
},
"required": [
"work"
],
"type": "object"
},
"name": "verify_fair_price"
},
{
"description": "estimate-integrity-audit が発行した署名付きクレーム(signed_payload と claim_sha256)を、第三者として検証する。発行側 (verify_fair_price はPTKA価格の発行) とは責務が正反対で、デフォルト姿勢は不信・fail closed。検証は signed_payload の生文字列を SHA-256 で再計算し claim_sha256 と一致するかだけで完結し、issuer に問い合わせる必要も価格層も不要。判定は契約 0.3 の failure_reasons 準拠で、result(verified / partial / unverified)・failure_reason(stale_data / changed_scope / missing_evidence)・trigger(expired_declaration / changed_estimate_version / missing_receipt / unverifiable_chain)・recomputed_sha256・scope_check・audit_ruleset_recheck を返す。重要: verified は『この宣言が改ざんされていない』ことの証明であって『監査ルールが今も有効』である保証ではない(audit_ruleset_recheck は常に not_performed)。estimate_version を渡すと scope(見積もり内容が発行時から変わっていないか)も照合し、渡さない場合は scope_check:skipped を明示する。 / Verifies a signed integrity claim (signed_payload and claim_sha256) issued by estimate-integrity-audit, as an independent third party. Opposite posture to the issuing side: distrust by default, fail closed. Recomputes SHA-256 over the raw signed_payload string and checks it equals claim_sha256; no issuer contact and no price layer needed. Follows contract 0.3 failure_reasons. IMPORTANT: verified means the declaration is untampered, NOT that the audit ruleset is still valid (audit_ruleset_recheck is always not_performed). Pass estimate_version to also check scope (whether the estimate changed since issuance); if omitted, scope_check is skipped and stated explicitly.",
"inputSchema": {
"properties": {
"claim_sha256": {
"description": "そのレスポンスの claim_sha256 (64桁16進)。 / The claim_sha256 (64-char hex) from the same response.",
"type": "string"
},
"estimate_version": {
"description": "(任意) 呼び出し側が現在の見積もりテキストから算出した estimate_version (input_text の SHA-256 先頭8桁hex)。渡すと発行時の版と一致するか照合する。省略可。 / (optional) The estimate_version the caller computed from the current estimate text (first 8 hex of SHA-256 of input_text). If provided, scope is checked against the issued version.",
"type": "string"
},
"signed_payload": {
"description": "検証対象の署名付きペイロード(estimate-integrity-audit のレスポンスの signed_payload を生文字列のまま)。改変するとハッシュ不一致で unverified になる。 / The signed_payload string from an estimate-integrity-audit response, verbatim. Any change makes the hash mismatch and the result unverified.",
"type": "string"
}
},
"required": [
"signed_payload",
"claim_sha256"
],
"type": "object"
},
"name": "verify_integrity_claim"
}
]
}What the leaf hashes
{"body":"d9053bceba5490ade3630ff49c12d6a209713d5e6569fa6cda136999f838b8b4","id":265088,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793034612622451,"prev":null,"subject":"49a52fdb-d18b-45a2-b707-236911f45f8e","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0x1af4866347c769a4c348327fff7fe9106ddc371c7d639ece2aaeb23ac04e6c11
- 0xfb1634a8d728c1b5ba1dc64d4a48cb81222fd689d4be4a5fe4e9b17b4d6e8ebc
- 0x6810aaa222e60d192ca9cb05263b9a612fada154a24c14b7f828623a83a58374
- 0x6adbf665156d39a86e8d3562af864127a4e1398fd0ad447a526aaa74ac84f0ea
- 0x2b67cad2bb3079a2174b9b23da062bfd3ff94eacb920a277897dac314b3b923b
- 0x1649ee280ca9a68ed6acc6e9b76f950d057735db30ac47f53c8c49c8ea3e2faa
- 0x252e483b4c455a769e40c13e0864ca25ef743794ee573a46d7b3d24a21f2ef75
- 0xcd3853a442e30ac4c590835a6a7787430e2325f29e24f8f44ddabaf95a4321e3
- 0xb577595b61e1e48ff12b58bfbdbf34f209ad0e31def1ecd8c2a7e7feb0ec8ff4
- 0x850c26c367ed4b0c237a13380d2cdbeae58800e68a9d29b45c6c1d339228de2a
- 0x3f914e3a1f6c506299e42b0c551da50ec7ac2c0f0e69260eab2262111b4eb14b
- 0x7ab2e7902b312a74cfdbc32b2906ced29b1fb9dc4280b5378e8eb181ad88686e
- 0xe00c7829e46541e49a308807d357db902e06eff941a833217a8f0dbccd3964f1
- 0x770e4376196188c7fc9ec40f8e218dc0d1cb92bba5fe0425a0edce27ca9a997f
- 0x60582ab4b41e72eb70eb0bce07fbf0fb4d2b62a8bad5be50f5d16d511adc746c
- 0xc6a4d7899a0f442958e26505011190b7cff2483611c1b94eba9043e0ba9ac36e
- 0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13
- 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae