HORIZON SHIELD KIRA
Server Quality Checklist
Latest release: v1.0.1
- Disambiguation3/5
Several tools overlap in pricing/estimate checking: get_price_range, audit_estimate, preview_reverse_estimate, and verify_fair_price all deal with fair-price comparison, with audit_estimate and preview_reverse_estimate being very similar in purpose (checking a quoted amount against the range). However, descriptions contain clear usage guidance ('use X when...') that helps distinguish them, and the rest (categories, red flags, attestations, verification) are clearly distinct.
Naming Consistency2/5Naming is inconsistent: a mix of verbs like get_, list_, search_, audit_, check_, preview_, verify_, create_, suggest_ without a uniform pattern (e.g., 'check_red_flags' vs. 'audit_estimate' vs. 'verify_fair_price'). Some names describe actions, some describe output formats. While most are verb_noun snake_case, the verbs vary in style (get, list, search, audit, preview, check, verify, create, suggest) and some names are compound like 'preview_reverse_estimate' and 'create_ap2_fairness_attestation', which are not predictable.
Tool Count5/514 tools is well within the ideal 3-15 range and each tool serves a distinct role in the estimate-fairness ecosystem: price lookup, auditing, red flags, integrity verification, AP2 bridge, and agent discovery. The count feels appropriate for the server's specialized purpose.
Completeness4/5The server covers the core workflow well: browse categories, search categories, get price range, audit an estimate, preview direction, check red flags, verify fairness, and create/verify attestations. Minor gaps include a tool for directly comparing two estimates or a dedicated tool to explain the PTKA concept in more depth, but agents can work around these using existing tools and descriptions.
Average 4.4/5 across 14 of 14 tools scored. Lowest: 3.8/5.
See the Tool Scores section below for per-tool breakdowns.
- 5 of 8 community issues answered or closed in the last 6 months
- 953 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
This repository includes a glama.json configuration file.
This server has been verified by its author.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, destructiveHint=false. The description goes beyond by disclosing that a hash is returned, that it is Japan price data, and that it provides a machine-readable proof based on PTKA. No contradiction. Slight deduction for ambiguity about what 'fair price' means in a verifiable context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single run-on bilingual block. It front-loads the key behavior (fair price + hash) but repeats itself (PTKA is explained twice, 'third party records before quote' and again in Japanese). Could be trimmed to one language and fewer clauses without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read-only tool with one string parameter, no enums, and an output schema exists. The description adequately covers the PTKA anchoring concept and hash return. The only missing context is why a user/agent would need this over simply measuring a price; but given the output schema, it's sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% since the only parameter 'work' is documented and required. The description adds no new parameter-level insight beyond the schema, but at baseline 3 with full coverage, it's adequate. The description could have clarified the format of 'work' (e.g., free text vs. enum) but not required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool verifies a fair price via a tamper-evident record with SHA-256 hash, and mentions PTKA anchoring. However, it does not distinguish it from siblings like verify_integrity_claim or get_fair_price_sources, which may overlap in verification-purpose. The bolding of 'Verify Fair Price' and hash mention helps slightly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Use when an agent needs to verify price authenticity' – a clear use case. But it does not mention when NOT to use it versus create_ap2_fairness_attestation or verify_integrity_claim, which could be alternatives. Still, for a fetch-like tool, context is largely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=true already indicates the tool is read-only, so the description does not need to repeat that. The description adds that it returns data but does not discuss side effects, permissions, or failure modes. Given the annotation coverage, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using two short sentences (Japanese and English) to convey the same information. It avoids unnecessary detail and is well structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description clearly specifies what data is returned (sources, update date, regional multipliers), which gives a good understanding of the tool's output. Although there is no explicit output schema, the description provides sufficient context for the expected result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters (coverage 100%). Per the rubric, when schema coverage is high, a baseline of 3 is given. Since there are zero parameters, the description cannot add parameter details, so 3 is fitting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns sources, update date, and regional multipliers for HORIZON SHIELD fair-price data. This is specific and distinguishes it from sibling tools like get_price_range (which returns a price range) and verify_fair_price (which checks fairness).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit use case: 'Use to check the basis of a price.' This indicates when to use the tool, though it does not explicitly name alternative tools for when not to use it. Still, the guidance is clear and practical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits beyond annotations: each call appends one record to the public ledger (making it non-read-only), it does not execute payments, and attestations are independently verifiable via SHA-256, public ledger, and verify_url. This adds meaningful context beyond the readOnlyHint=false annotation, though it does not cover failure modes or authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is comprehensive but redundant due to full bilingual repetition (Japanese and English say the same things). While the content is valuable and front-loaded with safety disclaimers, the parallel duplication makes it longer than necessary, preventing a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and annotations are present, the description covers all essential context: purpose, side effects (ledger append), scope (Japan construction/renovation, JPY), optional parameter behavior, and verification method. No major gaps remain for an agent to decide when and how to invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining that quoted_price triggers a fair-range verdict (within/above/below) and clarifies that merchant is only reflected in the Cart Mandate example, not used in the judgment. This goes beyond the schema's basic parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's core function: it issues a FairPriceAttestation (適正価格の証跡) and explicitly distinguishes it from payment execution by stating it does not initiate, authorize, or move funds. This differentiates it from sibling query/verification tools like get_price_range and verify_fair_price, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it is a bridge for AP2 agents to attach a price-fairness attestation to a Cart Mandate before asking the user to sign, and passing quoted_price yields a fair-range verdict. However, it does not explicitly mention alternatives or when not to use this tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false). The description adds valuable behavioral context—returning red-flag counts and priority, and being Japan-specific—but does not go deeper into pagination, limits, or response edge cases. This matches a baseline where annotations handle the core disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the primary action and output. The bilingual format and examples are purposeful and not redundant. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with an output schema and adequate annotations, the description covers the essential purpose, input expectations, output content, and language context. No significant gaps remain, and the output schema handles return-value details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter is already documented. The description adds concrete examples (外壁塗装, 浴室, 給湯器) and clarifies that Japanese queries work best, enriching the schema's bare definition with practical usage hints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Finds a construction-cost category by work name or keyword' and specifies the output ('matching categories with red-flag counts and priority'). It distinguishes itself from siblings like list_cost_categories by focusing on search rather than enumeration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful context for when to use the tool: searching by work name/keyword, with a Japan-specific note and bilingual examples. It does not explicitly name alternatives or state when not to use it, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is established. The description adds valuable behavioral context: it returns warnings with recommended actions, is universal across countries/languages, and covers only representative tactics rather than being exhaustive. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose and examples. It is bilingual, which adds some redundancy, but the English portion includes extra examples not in the Japanese portion, so the duplication is not pure waste. Every sentence contributes meaning, and the length is appropriate for the tool's simple scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter, a full schema description, annotations, and an output schema, the description provides all necessary context for correct invocation. It explains what the tool does, what input is expected, what output it returns, and its limitations. No critical contextual gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'text' parameter, so the schema already documents the input. The description adds semantic nuance by giving concrete examples (lump-sum, today-only discount, door-to-door, referral pricing) and clarifying that input is wording/expressions from estimates or sales pitches, which goes beyond the schema's brief phrasing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's function: checking whether wording in an estimate or sales pitch matches known overcharge or high-pressure tactics, and returning warnings with actionable advice. It specifies the resource (estimate/sales pitch) and the specific task (red-flag detection), which distinguishes it from broader siblings like audit_estimate or verify_fair_price.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for use: it applies to wording in estimates or sales pitches in any country/language, and it explicitly limits coverage to representative tactics only. It does not explicitly name alternative tools or state when not to use it, but the scope and limitations are clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate it is a read-only, non-destructive tool. The description adds beyond that by explaining exactly the kind of knowledge it returns and that it is language-agnostic and based on field experience. No hidden side-effects or data mutations are implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: it immediately says what the tool returns, then gives concrete examples. The bilingual repetition is acceptable but adds length; still, it remains tight and information-dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter informational tool with a rich description and an output schema, the description is complete: it names the principles, clarifies geographic/language scope, and signals the practical purpose. No important operational detail appears missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so parameter coverage is trivially 100%. The description supplies the needed semantic content by focusing entirely on what the returned guide contains, which is the right compensation for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description states a clear, specific action: it returns universal principles for judging construction/renovation estimates, and enumerates the content (overhead ratio, lump-sum entries, sales tactics). This strongly distinguishes it from sibling tools like audit_estimate or verify_fair_price, which are more specific audit/verification tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Uses explicit scope language ('universal principles', 'for judging ANY estimate', 'works outside Japan'), giving the agent clear context for when to invoke this general guide. It does not explicitly mention sibling alternatives, but the general-purpose positioning is clear enough for a zero-parameter informational tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context about anonymity, redaction of names, and that posting/initial analysis is free—behaviors beyond the annotations that inform the user about what this tool actually returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is bilingual (Japanese and English), which repeats the same information. While this adds length, it's still front-loaded with the core purpose and stays under six sentences. Not perfectly concise, but acceptable for a simple no-param tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, output schema exists, read-only), the description fully covers what the tool does, when to use it, and what the user receives (guide and URL). There are no gaps that would leave the agent uncertain about invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has zero parameters, so the schema is complete by default. Per the baseline for no parameters, a score of 4 is appropriate; the description correctly avoids inventing parameter details that don't exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a guide and submission URL for EHN, an anonymous third-party review board. This specific verb+resource scope distinguishes it from siblings like audit_estimate or check_red_flags, which are about direct analysis rather than suggesting a review platform.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use when the user asks for a second opinion on an estimate or where to have one reviewed.' This provides clear context. It doesn't explicitly name alternatives, but the 'use when' phrasing is sufficient to guide selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds value by revealing the content of the response (card URL and skill list) and the broader purpose of the server (connecting agents to the consultation desk). It does not contradict annotations and provides context beyond the structured fields, such as the note that property sale is handled by a licensed real-estate agent. This adds useful behavioral nuance for an agent deciding whether to invoke this tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose: it returns the A2A Agent Card URL and skill list. It then elaborates on the server's skills and use cases, which is relevant context. While it is bilingual and somewhat verbose, the repetition serves a clear audience and every sentence contributes to understanding the tool's role in agent-to-agent discovery. It could be trimmed slightly, but it is well-structured and not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (no params, read-only, no complex logic). The description covers what it does, when to use it, and what it returns (card URL and skill list). It also provides domain context about the server's purpose, which helps an agent understand the tool's place in the broader system. Given the low complexity and the presence of an output schema (which handles return format), the description is complete and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing to explain. The description goes beyond by specifying what the tool returns (card URL and skill list), which effectively conveys the output semantics. With 100% schema coverage (no params), the baseline is 4, and the description's clarity about the output justifies a higher score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the A2A Agent Card URL and list of published skills for the server. It uses a specific verb ('returns') and names the resource (A2A Agent Card), and it is clearly distinct from sibling tools that focus on cost categories, auditing, or price verification. The mention of use cases for external A2A agents further clarifies the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when an external A2A-capable agent wants to discover and connect.' This gives clear context for when to use the tool. It also lists the specific skills (construction estimate integrity audit, verified fair price proof, Japan property acquisition + renovation intake) that are discoverable via the card, helping the agent decide if this is the right entry point. While it doesn't explicitly mention alternatives or when not to use it, the sibling tools are clearly direct MCP tools, so the distinction is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds behavioral context by specifying the exact set of returned information (metadata, size, license, download links, citation) and including current dataset version and counts. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description uses only two sentences: one focused on return contents and one giving the usage context. Every phrase (e.g., 'open dataset of 65,520 Japanese construction line items', 'primary construction-cost data source') adds useful information. The bilingual phrasing mirrors the likely user audience without turning verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a read-only, parameter-less tool with an output schema, the description covers everything an agent needs: the purpose, the data source, current size, license considerations, and a use-case. Since there is no parameter schema, no additional complex constraints, and the output schema already provides structure, the description is contextually complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
This tool has 0 parameters, and the schema description coverage is 100% (trivially). With no parameters, the description does not need to add parameter meanings. The description correctly focuses exclusively on the return value and use case, matching the baseline of 4 for parameter-less tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'returns metadata, scale, license, download links and citation for the Japan Construction Cost Database (JCCDB)' and provides immediate context by calling it 'an open dataset of 65,520 Japanese construction line items (v3.1: 13,207 verified + 52,313 extended)'. This is a specific verb + resource combination. It also differentiates from siblings by adding 'Use when looking for a primary construction-cost data source'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit usage cue: 'Use when looking for a primary construction-cost data source.' This tells the agent when to call this tool. It does not explicitly state when not to use it or name alternative sibling tools, so it loses one mark against the 5-level calibration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds valuable context: the data is Japan-specific and in JPY, the danger threshold indicates overcharge suspicion, and the response includes trend and field notes. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is bilingual but each sentence earns its place: what is returned, the use case, examples, and regional/pricing context. It is front-loaded with the primary action and contains no meaningless filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only, output-schema-backed lookup tool, the description covers the return content, use context, scope, and pricing currency. Nothing essential is missing given the low complexity and existing structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (single required query param described as 'construction name or keyword (Japanese)'). The description reinforces this with examples (exterior paint, water heater, unit bath, cross) and confirms the language expectation, adding value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a fair price range (min/avg/max), danger threshold, unit, price trend, and field notes for Japanese construction/renovation jobs. It explicitly names the use case (numerically checking cost fairness) and differentiates from siblings like get_fair_price_sources and verify_fair_price by focusing on the range itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context: use when you need to check whether a Japanese construction or renovation cost is fair, with examples of applicable queries. It does not mention exclusions or alternatives, but the guidance is clear enough to route an agent to this tool for price-range lookups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint, so the safety profile is covered. The description adds behavioral clarity by explicitly listing what the tool does NOT return (min/avg/max, danger threshold), which informs the user of limited output without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently packed: it states functionality, exclusions, use case, alternatives, and locale in two compact bilingual versions. Every sentence contributes meaningful information with no filler or redundancy beyond the intentional language duplication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only 2 parameters, an output schema, and clear annotations, the description covers the key aspects: what it returns, what it omits, when to use it, and with which sibling tools to replace it. This is fully complete for an AI agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented with Japanese descriptions. The description adds context about the output relation to quoted_price but does not introduce new parameter-level details; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns only the direction and approximate magnitude of deviation (e.g., +20% above) relative to the average. It explicitly distinguishes itself from get_price_range and audit_estimate, making its scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use context: early-stage renovation planning before a detailed breakdown exists. It also names alternatives for other needs (get_price_range for a typical range, audit_estimate for detailed diagnosis) and adds geographic/currency scope (Japan only, JPY).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive behavior, so the description adds value by specifying the data scope (Japan-specific) and the content (fair-price ranges and overcharge red flags). These are useful behavioral details beyond the mere fact that it's a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, bilingual (JP/EN), front-loaded with the main purpose, and contains no redundant information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list operation with an output schema, the description fully explains what data is returned (61 categories), the domain (construction/renovation), and the Japan-specific scope. Sibling tools like search_cost_category are not mentioned, but the description is sufficient for the tool's simple purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so the description doesn't need to explain parameter semantics. The baseline is 4, and the description adds extra context (Japan-specific, 61 categories) which is a bonus. No parameter ambiguities exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it returns a list of 61 construction/renovation cost categories maintained by HORIZON SHIELD for fair-price ranges and red flags. It names the resource (categories) and the action (lists), and it is specific with the count and scope (Japan-specific). This distinguishes it from sibling tools like search_cost_category which is a search, and get_fair_price_range which retrieves ranges.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context that this is the comprehensive list for Japan, but does not explicitly state when to use this versus alternatives like search_cost_category. It's clear that this is the full list, but no explicit exclusion like 'use when you need the complete set of categories' is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and destructiveHint annotations, the description details the verification algorithm (recompute SHA-256), the fail-closed posture, the exact return fields, and clarifies the critical caveat that 'verified' does not guarantee audit rules are still valid. It also states audit_ruleset_recheck is always not_performed, providing transparency well beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is bilingual and fairly long, but every sentence adds operational value (algorithm, response fields, caveats, optional params). It is front-loaded with the core purpose and method, and the rest supports effective use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the verification logic and the explicit clarification of what verified does/doesn't guarantee, plus the conditional scope check, the description is reasonably complete. It covers the verification algorithm, failure reasons, return fields, and the 'fail closed' posture. Minor gaps: no explicit mention of error conditions beyond failure_reasons and no example usage, but these are optional for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (all 3 parameters are well-documented), but the description adds behavioral context: passing estimate_version triggers scope check, omitting it skips it, and explains the hash recomputation logic that ties parameters together.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool verifies signed integrity claims (signed_payload and claim_sha256) as a third party, with explicit posture (fail-closed, distrust). It distinguishes from the issuing side by naming verify_fair_price as the opposite, making the tool's unique role unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: use when you have an integrity claim to verify, no issuer contact needed, and when to pass estimate_version vs omit it. It also differentiates by contrasting with the issuing tool (verify_fair_price), clarifying the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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/5Is 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/5Given 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/5Does 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/5Does 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/5Does 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.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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