Skip to main content
Glama

Audit Estimate Against Fair Price

audit_estimate
Read-only

Checks a contractor's quoted price for Japanese construction against fair-price ranges. Returns a verdict, fair range, and average gap to flag overcharging.

Instructions

業者が提示した見積金額が適正かを、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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
workYes工事名(日本語)。材料やグレード込みで具体的に。例: 外壁塗装 シリコン。部分一致で照合するため曖昧だと別カテゴリにヒットしやすい。未マッチ時は近い候補が did_you_mean で返ることがある。
quoted_priceYes業者提示の金額(円, 数値)。一式見積はその総額。税込/税抜は正規化せず、渡した数値をそのまま適正レンジと照合する。

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
levelNook / watch / alert
adviceNo助言
verdictNo判定
fair_rangeNomin/avg/max
vs_avg_pctNo平均比(例 +18%)
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and destructiveHint is false, confirming a non-mutating audit operation. But the description goes much further: it discloses the verdict values, the did_you_mean fallback for unmatched work names, and the unit_mismatch fallback for per-unit vs. total price confusion. These behavioral details are extremely valuable for an agent to set user expectations and handle edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loaded: it starts with the core audit function徒, then the key usage signal ('when you have a specific quote'), then output format. The Japanese and English versions repeat each other, which adds length but serves the bilingual audience. It covers a lot in a compact form; only minor redundancy in the output field list between both languages keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having both input and output schemas with high coverage, the description adds essential usage context (when to use vs. the get_price_range and verify_fair_price alternatives), explains edge cases (did_you_mean, unit_mismatch), and clarifies the output shape. For a read-only audit tool with 2 parametersicc and strong annotations, this is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is essentially 100%, so the baseline is 3acheter. However, the description adds critical context beyond the schema: it specifies that quoted_price should be the total for an itemized quote, that the value is passed as-is without tax normalization, and that the work name should include material and grade for better matching. It also explains the partial-match behavior and did_you_mean fallback. The schema already describes the parameters well, so the description's job is to add usage nuance — which it does thoroughly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool audits a quoted estimate against HORIZON SHIELD fair-price ranges for Japanese construction/renovation jobs, using a specific verb-resource pair ('audits', 'contractor quoted price'). It differentiates from siblings by naming alternatives (get_price_range, verify_fair_price) and mentions the return JSON structure including verdict, level, fair_range, and other fields.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: '手元に具体的な見積額がある時' (when you have a specific quote). It also gives clear exclusions and alternatives: '見積額が無く相場だけ知りたい時は get_price_range' (use get_price_range for typical ranges) and '署名付きの検証可能な証明が要る時は verify_fair_price' (use verify_fair_price for signed verifiable proofs). Also notes Japan-only and JPY.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ogasurfproject-jpg/horizon-shield'

If you have feedback or need assistance with the MCP directory API, please join our Discord server