HORIZON SHIELD: Construction Estimate Auditor for Japan (KIRA)
Agent intake desk for property renovation. Read only, CORS open, fail closed, receipts recompute.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"horizon-shield-webmcp": {
"url": "https://hs-webmcp.oga-surf-project.workers.dev/mcp"
}
}
}원격 엔드포인트
https://hs-webmcp.oga-surf-project.workers.dev/mcpstreamable-httphttps://web.horizonshield.dev/mcpstreamable-http할 수 있는 일
도구 목록
도구 (5)
🟢route_request(ask, work, amount, ref)
Check whether a construction or renovation quote in JAPAN is fairly priced, against 95,403 open catalogue items and Bitcoin-anchored verification records. Single entry point: pass one sentence. USE WHEN: the user has a quote or a price for building/renovation work in Japan and wants to know if it is reasonable; or wants to check a HORIZON SHIELD receipt or a jidec: citation; or asks about overcharging tactics used by contractors; or is looking for a verified contractor. DO NOT USE WHEN: the work is outside Japan; the question is not about construction or renovation; the user has already signed or paid and needs consumer-protection help; or there is an active emergency (gas smell, collapse, water not stopping). In those cases this tool does not answer - it returns the appropriate outside destination instead, and says so. Every reply carries verify (a URL that checks the answer) and limits (what the answer does NOT prove). Routing is a deterministic keyword table, not an LLM, so the same input always routes the same way. Examples: "is 800,000 yen high for exterior wall painting?" / "is jidec:entry:9 genuine?" / "how do I refuse a door-to-door sales pitch?" 日本の建設・リフォーム見積もりが適正かを確認する単一入口。日本語の一文で渡してよい。適正診断・台帳(JIDEC)の記録検証・過剰請求の手口・検証済み加盟店の4方向へ決定的に振り分ける。日本国外/建設以外/契約後の紛争/緊急時は**答えずに適切な外部の窓口を返す。**返り値には必ず verify(検証URL)と limits(証明していないこと)が入る。
입력 스키마
{
"type": "object",
"properties": {
"ask": {
"type": "string",
"description": "やりたいことを一文で。例:「外壁塗装80万は高いですか」「jidec:entry:9 は本物ですか」"
},
"work": {
"type": "string",
"description": "(任意)工事名。分かっているなら渡すと推測を挟まない。"
},
"amount": {
"type": "number",
"description": "(任意)業者提示の金額(円)",
"minimum": 0
},
"ref": {
"type": "string",
"description": "(任意)検証したい引用ID。jidec:entry:N / 64桁hex / エントリ番号"
}
},
"required": []
}출력 스키마
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "Whether the request was handled."
},
"answered_by": {
"type": "string",
"description": "Which desk answered: the router itself, an internal audit, the ledger, or a guide fallback."
},
"result": {
"type": "object",
"additionalProperties": true,
"description": "The answering desk's payload."
},
"verify": {
"type": "string",
"description": "URL where the caller can recompute and check the claim."
},
"limits": {
"type": "string",
"description": "What this answer does NOT prove. Always present."
},
"next": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tool names to call next."
},
"routed_out": {
"type": "boolean",
"description": "True when the question was routed to an external desk rather than answered here."
},
"message": {
"type": "string",
"description": "Reason when ok is false."
}
},
"required": [
"ok"
],
"additionalProperties": true
}🟢run_full_audit(work, quoted_price)
1回の呼び出しで HORIZON SHIELD の集客→診断→注意喚起→発信を一気通貫で回す司令塔。work(と任意の quoted_price)を渡すと、内部で intake(KIRA適正診断)・scan_tactics(検証済み手口+一次ソース)・draft_broadcast(発信下書き+被リンク)を順に実行し、結果を1つに束ねて返す。価格は検証可能な一次データのみ。発信は下書きで自動投稿しない。 / One-call orchestrator returning audit + tactics + broadcast draft. Verifiable first-party prices only. Drafts only, no auto-posting. USE WHEN: the caller wants all three steps (audit, tactics, broadcast draft) for one named work item in a single call and will act on the combined result. DO NOT USE WHEN: only one step is needed. Call intake_estimate for a verdict on a specific quote, scan_tactics for the documented overcharge tactics, or draft_broadcast for publishable text. If the request is still a free-form question with no work item, call ask first. This tool never posts anything.
입력 스키마
{
"type": "object",
"properties": {
"work": {
"type": "string",
"description": "工事名やキーワード(日本語)。例: 外壁塗装, トイレ, シロアリ"
},
"quoted_price": {
"type": "number",
"description": "(任意)業者提示の金額(円)。あればKIRA適正診断も実行する。",
"minimum": 0
}
},
"required": [
"work"
]
}출력 스키마
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "Whether the flow ran."
},
"work": {
"type": "string",
"description": "The work item the flow was run for."
},
"flow": {
"type": "string",
"description": "The fixed step order that was executed."
},
"steps": {
"type": "object",
"additionalProperties": true,
"description": "One entry per step: intake, scan_tactics, draft_broadcast. A step may be skipped or fail without failing the flow."
},
"notice": {
"type": "string",
"description": "Standing caveat: first-party prices only, drafts only, no auto-posting."
},
"source": {
"type": "string",
"description": "Which server produced this."
},
"message": {
"type": "string",
"description": "Reason when ok is false."
}
},
"required": [
"ok"
],
"additionalProperties": true
}🟢intake_estimate(work, quoted_price)
施主の建設・リフォーム見積もりを受け付け、HORIZON SHIELD KIRA(内部・中立)の適正価格診断へ橋渡しする集客窓口。工事名と業者提示額を渡すと、適正かどうかの判定と、無料の第三者チェック(EHN)への導線を返す。価格の断定はせず、確認すべき点を渡す。 / Intake desk: bridges a homeowner quote to the KIRA fair-price audit and returns the verdict plus a free third-party check (EHN) path. USE WHEN: a homeowner has a specific quoted price for a named construction or renovation work item in Japan and wants to know whether that price is reasonable. DO NOT USE WHEN: there is no price yet (call ask), the caller wants the known overcharge tactics rather than a verdict on their own quote (call scan_tactics), or the caller wants publishable text (call draft_broadcast). Returns a verdict and a free third-party check path. It does not draft or post.
입력 스키마
{
"type": "object",
"properties": {
"work": {
"type": "string",
"description": "工事名(日本語)。例: 外壁塗装 シリコン"
},
"quoted_price": {
"type": "number",
"description": "業者提示の金額(円)",
"minimum": 0
}
},
"required": [
"work",
"quoted_price"
]
}출력 스키마
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "Whether the quote was accepted for audit."
},
"audit": {
"type": "object",
"additionalProperties": true,
"description": "The fair-price verdict from the internal KIRA audit."
},
"next": {
"type": "array",
"items": {
"type": "string"
},
"description": "Suggested follow-up tools or paths, including the free third-party check."
},
"source": {
"type": "string",
"description": "Which server produced this."
},
"message": {
"type": "string",
"description": "Reason when ok is false."
}
},
"required": [
"ok"
],
"additionalProperties": true
}🟢scan_tactics(work)
ある工事・キーワードに関する『過剰請求の手口』を、HORIZON SHIELD(大賀俊勝30年監修)の検証済みデータ(内部KIRA)から返し、一次ソース(国民生活センター/消費者庁/EHN実例ボード)の在処を添える。価格判定ではなく注意喚起。推測で新事例を断定しない。 / Returns verified overcharge tactics and points to primary sources. Awareness, not a price verdict. USE WHEN: the caller wants the documented overcharge tactics for a work type or keyword, together with their primary sources. DO NOT USE WHEN: the caller has their own quote and wants a verdict on it (call intake_estimate), or wants publishable text (call draft_broadcast). This returns awareness material and never a price verdict on a specific quote.
입력 스키마
{
"type": "object",
"properties": {
"work": {
"type": "string",
"description": "工事名やキーワード(日本語)。例: 外壁塗装, シロアリ, 火災保険"
}
},
"required": [
"work"
]
}출력 스키마
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "Whether tactics were found."
},
"verified_tactics": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Documented overcharge tactics for the work type."
},
"primary_sources": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Where each tactic is documented publicly."
},
"disclaimer": {
"type": "string",
"description": "Awareness material. Not a price verdict on any specific quote."
},
"scan_mode": {
"type": "string",
"description": "How the set was assembled."
},
"source": {
"type": "string",
"description": "Which server produced this."
}
},
"required": [
"ok"
],
"additionalProperties": true
}🟢draft_broadcast(work)
ある工事の過剰請求への注意喚起を発信する下書き(note用長文・X用短文)を生成し、HORIZON SHIELDの該当解説ページ(実在URL)への被リンクを添える。価格はKIRA(検証可能SHA-256付き)の一次データのみ。推測の数字は入れない。下書きであり公開前に運営者が最終版にする(自動投稿しない)。 / Generates broadcast DRAFTS with backlinks. Verifiable first-party prices only. Draft; operator finalizes. No auto-posting. USE WHEN: the operator wants note/X draft text warning about overcharging for a given work type. DO NOT USE WHEN: the caller wants a verdict on a specific quote (call intake_estimate) or the tactic list itself (call scan_tactics). Output is a DRAFT for a human to finalise. This tool never posts.
입력 스키마
{
"type": "object",
"properties": {
"work": {
"type": "string",
"description": "工事名やキーワード(日本語)。例: 外壁塗装, トイレ, 火災保険"
}
},
"required": [
"work"
]
}출력 스키마
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "Whether a draft was produced."
},
"notice": {
"type": "string",
"description": "This is a DRAFT. A human finalises it. Nothing is posted."
},
"price_source": {
"type": "string",
"description": "Which first-party data any figure in the draft came from."
},
"post_targets": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Per-channel draft text (note long form, X short form) with backlinks."
},
"source": {
"type": "string",
"description": "Which server produced this."
}
},
"required": [
"ok"
],
"additionalProperties": true
}커뮤니티
증거