HORIZON SHIELD Construction Cost Data: JCCDB (Japan) and USCCDB (United States)
Server Details
Public construction cost data for Japan and the U.S., each row with its source URL and licence.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- ogasurfproject-jpg/horizon-shield
- GitHub Stars
- 1
- Server Listing
- HORIZON SHIELD KIRA
TDQS
Scored across 15 tools
Most tools target distinct resources or datasets, but the broad get_us_construction_prices overlaps with several specialized US tools such as get_us_prevailing_wage, get_us_area_factor, and get_us_permits because it can query the same layers. The descriptions clarify boundaries, yet an agent could reasonably misselect between the umbrella tool and the focused US tools.
All names use snake_case with a consistent verb prefix (get_, search_, compare_) followed by the dataset and topic, e.g. get_jccdb_observations, get_us_trade_margins. The pattern is predictable across Japan and US tools.
15 tools is within the well-scoped range and appropriate for a server spanning two national construction-cost databases with many data layers. Each tool appears to correspond to a meaningful retrieval task rather than being filler.
Coverage is broad across JCCDB and USCCDB, including metadata, indexes, labor, permits, trade margins, and landed costs. Minor gaps remain, such as no US coverage/availability tool analogous to get_jccdb_coverage and no explicit cross-country comparison tool, but core workflows are supported.
Available Tools
15 toolscompare_jccdb_regionsCompare JCCDB Values Across Regions (latest)ARead-onlyInspect
品目と規格で、地域ごとの最新時点の値を並べ、最小・中央・最大と状態別の件数を返す。規格・単位・値の種類が同じものだけを比べる(普通と高炉は別の組)。中央値はこのサービスの計算(computed:true)。例: query='生コンクリート', spec='24-8-25(20)', layer='material', normalize='namacon'(局ごとの規格の書き方の違いを越えて束ねる)。 / Latest value per region for an item and spec, with min, median (computed) and max and counts by price status; only identical spec, unit and basis are compared.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | No | 規格(例: 21-8-25(20))。 / Specification. | |
| layer | No | データの種類: material 資材、labor 労務単価、work 工事の単価、equipment 機械損料、index 指数、wage 賃金統計、bid_item 入札の品目単価、cost_sqft 面積あたり工事費、spending 工事支出と建築許可、house_price 住宅価格、cost_limit 費用の上限。国ごとの有無は get_jccdb_coverage で確かめる。 / Data type: material, labor (design labor rates), work (work-item unit prices), equipment (rental rates), index, wage (wage statistics), bid_item (bid unit prices), cost_sqft (cost per square foot), spending (construction spending and permits), house_price, cost_limit. Check availability per country with get_jccdb_coverage. | |
| limit | No | 比べる組(品目・規格・単位の組み合わせ)の上限(1〜20)。 / Maximum comparison groups to return (1 to 20). | |
| query | Yes | 品目名。 / Item name. | |
| country | No | 国で絞る: JP 日本、US 米国。 / Country filter: JP for Japan, US for the United States. | |
| normalize | No | exact(既定: 規格の文字が同じものだけ)/ namacon(生コンの規格を局をまたいで束ねる: セメント・呼び強度-スランプ-骨材・水セメント比・単位セメント量)。 / namacon groups ready-mix concrete specs across bureaus. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | How many records matched. 0 means the source was read and nothing matched. It never means the source could not be read, that returns isError: true. |
| groups | No | 規格・単位・値の種類ごとの組(最小・中央・最大) / groups with min, median, max |
| lookup | No | ok = the source was read and something matched. absent = the source was read and nothing matched. A source that could NOT be read never appears here: that returns isError: true and makes no claim about what does or does not exist. |
| by_status | No | 状態別の件数 / counts by status |
| source_read | No | true on every successful result. A failed lookup does not return a result at all, so this is never false, it is declared so a consumer can assert on it. |
| did_you_mean | No | Near matches, when an exact match was not found. |
| computed_note | No | 計算した値の説明 / computed fields |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, non-destructive, and closed-world behavior, but the description adds substantive context beyond them: the median is service-computed (computed:true), only identical spec/unit/basis are compared, and counts are broken out by price status. It does not discuss auth, rate limits, or pagination, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose and key constraints are front-loaded, and every part of the bilingual text contributes either purpose, comparison rules, or an example. The Japanese and English versions duplicate content, which slightly reduces conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters, an output schema, and annotations covering safety, the description supplies the essential behavioral context: what is aggregated, what may be compared, and how normalization works. It omits explicit country/limit guidance, but the schema covers those details adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the structured schema already documents all six parameters. The description still adds value by giving a concrete example and explaining that namacon normalizes ready-mix concrete spec notation across bureaus, which goes beyond the schema's terse enum descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific operation (compare latest values across regions), the grouping dimensions (item and spec), and the aggregated outputs (min, median, max, counts by price status). It does not explicitly name or distinguish itself from sibling tools such as get_jccdb_observations, so it falls short of a full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The comparison purpose implies when to use the tool, and the concrete example (query, spec, layer, normalize) shows a typical invocation. However, the description gives no explicit when-to-use guidance, prerequisites, or alternatives to consider instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jccdb_coverageGet JCCDB Observation Coverage (what exists, what does not)ARead-onlyInspect
JCCDB の観測層に何がどこまであるかを返す: 国 x 種類(layer) x 出典の件数、値のある件数、状態別、出典の時点。0 行の組み合わせは absent に『無い(取り込んでいない)』と明記する。答える前に、その国・種類のデータがあるかをここで確かめる。 / What the JCCDB observation layer holds: rows per country x layer x source, priced rows, status counts and source periods; empty combinations are listed as absent (not ingested).
| Name | Required | Description | Default |
|---|---|---|---|
| geo | No | 地域(都道府県・州)。 / Region. | |
| layer | No | データの種類: material 資材、labor 労務単価、work 工事の単価、equipment 機械損料、index 指数、wage 賃金統計、bid_item 入札の品目単価、cost_sqft 面積あたり工事費、spending 工事支出と建築許可、house_price 住宅価格、cost_limit 費用の上限。国ごとの有無は get_jccdb_coverage で確かめる。 / Data type: material, labor (design labor rates), work (work-item unit prices), equipment (rental rates), index, wage (wage statistics), bid_item (bid unit prices), cost_sqft (cost per square foot), spending (construction spending and permits), house_price, cost_limit. Check availability per country with get_jccdb_coverage. | |
| detail | No | true で出典ごとの行も返す(既定は要約: layer ごとの件数と出典の系統の上位 5。米国の非公開の層の件数も付く)。 / true for per-source rows; the default is a summary. | |
| country | No | 国で絞る: JP 日本、US 米国。 / Country filter: JP for Japan, US for the United States. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | How many records matched. 0 means the source was read and nothing matched. It never means the source could not be read, that returns isError: true. |
| absent | No | 無い組み合わせ / combinations not ingested |
| lookup | No | ok = the source was read and something matched. absent = the source was read and nothing matched. A source that could NOT be read never appears here: that returns isError: true and makes no claim about what does or does not exist. |
| matrix | No | 国 x 種類 x 出典の件数 / rows by country, layer and source |
| total_rows | No | 行数 / total rows |
| source_read | No | true on every successful result. A failed lookup does not return a result at all, so this is never false, it is declared so a consumer can assert on it. |
| did_you_mean | No | Near matches, when an exact match was not found. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuinely useful behavior beyond that: empty combinations are explicitly listed as absent (not ingested), and detail=true yields per-source rows while the default is a summary (top 5 source lineages, plus US non-public layer counts). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences, each with a distinct job (what is returned, then how/when to use it), with the availability-check instruction up front. The bilingual JA/EN duplication slightly inflates length, but it is deliberate and structured rather than redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail need not be restated, and the description covers the one non-obvious semantic (absent rows mean not ingested). For a 4-param, all-optional availability tool this is nearly complete; it only lacks explicit routing to the follow-up tools to call once coverage is confirmed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented, including the detail default/true behavior and enum semantics. The description adds little parameter-level detail beyond what the schema provides, which is the expected baseline-3 case when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: it returns what the JCCDB observation layer holds (rows per country x layer x source, priced rows, status counts, source periods). The 'check availability here before answering' framing separates it functionally from data-returning siblings like get_jccdb_observations, but it never names those siblings explicitly, so differentiation is left partly to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a clear when-to-use condition: verify here whether a given country/layer combination has data before answering (the layer param text reinforces this). It stops short of explicit when-not guidance or naming an alternative tool to use instead when coverage exists, so it is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jccdb_index_seriesGet Construction Cost Index Series with Year-over-Year ChangeARead-onlyInspect
建設費の指数(NHCCI、PPI、建設工事費デフレーター等)の系列を期間で返し、前年同期比を添える。前年同期比はこのサービスが計算した値(computed:true)で、原本には無い。query も source_id も無いときは系列の一覧。例: query='NHCCI', from='2020Q1'。 / Construction cost index series over a period with year-over-year change computed by this service (computed:true). Without query or source_id, lists the series.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | 終わり(含む)。 / End period (inclusive). | |
| from | No | 始め(2020, 2020Q1, 2020-01, FY2020)。 / Start period. | |
| limit | No | 返す系列の上限(1〜20)。 / Maximum series to return (1 to 20). | |
| query | No | 系列名(例: NHCCI)。 / Series name. | |
| country | No | 国で絞る: JP 日本、US 米国。 / Country filter: JP for Japan, US for the United States. | |
| source_id | No | 出典 ID で絞る(get_jccdb_coverage に detail:true を渡すと一覧が出る)。 / Source id filter; get_jccdb_coverage with detail:true lists the ids. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | How many records matched. 0 means the source was read and nothing matched. It never means the source could not be read, that returns isError: true. |
| lookup | No | ok = the source was read and something matched. absent = the source was read and nothing matched. A source that could NOT be read never appears here: that returns isError: true and makes no claim about what does or does not exist. |
| series | No | 系列(時点と値、前年同期比は computed:true) / series with computed year-over-year |
| yoy_note | No | 前年同期比の説明 / year-over-year note |
| source_read | No | true on every successful result. A failed lookup does not return a result at all, so this is never false, it is declared so a consumer can assert on it. |
| did_you_mean | No | Near matches, when an exact match was not found. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (read-only, closed-world, non-destructive), so the bar is lower. The description adds genuinely non-obvious behavior beyond that: the YoY value is service-computed (computed:true) and absent from the source data, and the no-filter case returns a list rather than empty results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Core behavior, computed-flag caveat, and fallback mode are front-loaded, with the example last. The full bilingual duplication roughly doubles length, which is justified for a JP/US dataset but adds no new information per line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape explanation is unnecessary, and the description supplies the two behaviors an agent must know (computed YoY, list fallback). Minor gaps remain around pagination/interaction of limit with list mode, but nothing critical for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3; the description goes further by explaining the conditional role of query and source_id (absent both, the tool lists series) and showing accepted period formats via the example. It does not clarify how country/limit interact with the list mode.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (returns a series over a period) and resource (construction cost index series: NHCCI, PPI, construction deflator), and includes the distinctive YoY-change feature. It also distinguishes itself from get_jccdb_coverage by pointing there for source ids and from the broader observation tools by falling back to a series list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit branching: with query/source_id use them, without either it lists the series, plus a concrete example call. It points to get_jccdb_coverage with detail:true as the alternative for source ids, but does not contrast with close siblings like get_jccdb_observations or get_jccdb_dataset_info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jccdb_labor_rateGet Public-Works Design Labor Rate (Japan)ARead-onlyInspect
国交省の公共工事設計労務単価(47都道府県 x 50職種、所定労働時間内8時間あたりの賃金)を引く。既定は地域ごとの最新の時点、history:true で年ごとの系列。例: pref='奈良県', job='大工'。 / MLIT public-works design labor rates by prefecture and trade (wage per 8 hours); latest by default, yearly series with history:true.
| Name | Required | Description | Default |
|---|---|---|---|
| job | No | 職種(例: 大工, 左官, 特殊作業員)。 / Trade in Japanese. | |
| pref | No | 都道府県。 / Prefecture. | |
| limit | No | 返す行の上限(1〜200)。 / Maximum rows to return (1 to 200). | |
| history | No | true で年ごとの系列。 / true for the yearly series. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | 都道府県 x 職種の賃金(8 時間あたり) / wage per 8 hours by prefecture and trade |
| count | No | How many records matched. 0 means the source was read and nothing matched. It never means the source could not be read, that returns isError: true. |
| lookup | No | ok = the source was read and something matched. absent = the source was read and nothing matched. A source that could NOT be read never appears here: that returns isError: true and makes no claim about what does or does not exist. |
| periods | No | 時点 / periods |
| source_read | No | true on every successful result. A failed lookup does not return a result at all, so this is never false, it is declared so a consumer can assert on it. |
| did_you_mean | No | Near matches, when an exact match was not found. |
| sources_used | No | 出典 / sources |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so safety is covered. The description adds real behavioral context beyond that: the wage is defined per 8 hours within prescribed working hours, and results default to the latest period unless history:true. It stops short of documenting row limits or return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose and scope, followed by the default/history behavior and an example. The bilingual duplication is intentional for a Japanese-domain tool but doubles the length, keeping it just short of maximal efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary. The description covers units, scope, defaults, and an example — enough for an agent to call it correctly, with only minor gaps such as limit/pagination behavior that the schema already bounds (1-200).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented in the schema, establishing a baseline of 3. The description reinforces semantics with examples (pref='奈良県', job='大工') and the history default, but adds little beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (引く/retrieve) and resource (MLIT public-works design labor rates) with the exact scope: 47 prefectures x 50 trades, wage per 8 hours. This clearly separates it from siblings like get_jccdb_work_unit_price and get_jccdb_index_series.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the default behavior (latest per region) and the condition that switches it (history:true for the yearly series), plus a concrete example. It gives clear usage context but does not name when to prefer a sibling tool instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jccdb_observationsGet JCCDB Observations (region, date, price status; Japan and U.S.)ARead-onlyInspect
品目が『どの地域・地区で・いつ・いくらで(または非公開の理由)』公的資料に載っているかを返す(日本と米国)。値は再配布を許す出典のときだけ入り、各行に license・attribution・evidence_url が付く。県が刊行物単価を使って値を公開していない地区は publication_based_not_public と返す(欠落ではなく事実)。例: query='生コンクリート', pref='奈良県'。公共工事の設計単価であり、リフォームの見積単価ではない。 / Region, date and price status of an item in Japanese and U.S. public documents. Values only where the licence allows redistribution; every row carries licence, attribution and evidence URL; cells where the public body uses commercial price publications are reported as such, not guessed.
| Name | Required | Description | Default |
|---|---|---|---|
| geo | No | 地域: 都道府県名・JIS コード(29, JP-29)、州名・略号・FIPS(California, CA, US-06)。 / Region: prefecture name or JIS code, U.S. state name, abbreviation or FIPS. | |
| pref | No | 都道府県(奈良県 / 奈良 / nara)。 / Prefecture. | |
| layer | No | データの種類: material 資材、labor 労務単価、work 工事の単価、equipment 機械損料、index 指数、wage 賃金統計、bid_item 入札の品目単価、cost_sqft 面積あたり工事費、spending 工事支出と建築許可、house_price 住宅価格、cost_limit 費用の上限。国ごとの有無は get_jccdb_coverage で確かめる。 / Data type: material, labor (design labor rates), work (work-item unit prices), equipment (rental rates), index, wage (wage statistics), bid_item (bid unit prices), cost_sqft (cost per square foot), spending (construction spending and permits), house_price, cost_limit. Check availability per country with get_jccdb_coverage. | |
| limit | No | 返す行の上限(1〜100)。 / Maximum rows to return (1 to 100). | |
| query | No | 品目名(例: 生コンクリート)。 / Item name. | |
| offset | No | 飛ばす行の数。limit と組んで次のページを取る。 / Rows to skip; use with limit to page through results. | |
| period | No | 時点(2026, 2026-09, 2025Q4, FY2025)。 / Period. | |
| status | No | 値の公開状態で絞る: published_pdl・published_cc_by・public_domain・published_open_terms は値あり、published_restricted_not_copied は出典はあるが値を写していない、publication_based_not_public は県が刊行物単価を使い値を公開していない地区、not_set は未判定。 / Publication status filter: the first four carry values; published_restricted_not_copied cites the source without copying values; publication_based_not_public marks districts whose prefecture uses commercial price books and publishes no value; not_set is unclassified. | |
| country | No | 国で絞る: JP 日本、US 米国。 / Country filter: JP for Japan, US for the United States. | |
| source_id | No | 出典 ID(get_jccdb_coverage で分かる)。 / Source id. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | 1 行 1 観測(値・単位・状態・license・attribution・evidence_url) / one row per observation |
| count | No | How many records matched. 0 means the source was read and nothing matched. It never means the source could not be read, that returns isError: true. |
| lookup | No | ok = the source was read and something matched. absent = the source was read and nothing matched. A source that could NOT be read never appears here: that returns isError: true and makes no claim about what does or does not exist. |
| by_status | No | 状態別の件数 / counts by price status |
| next_offset | No | 続きの offset / next page |
| source_read | No | true on every successful result. A failed lookup does not return a result at all, so this is never false, it is declared so a consumer can assert on it. |
| did_you_mean | No | Near matches, when an exact match was not found. |
| license_note | No | 利用条件 / licence note |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description goes beyond them by disclosing that values appear only where the licence permits redistribution, that each row carries licence/attribution/evidence_url, and that publication_based_not_public is a factual status rather than a missing value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and every sentence carries information (licensing rule, row metadata, the not-a-missing-value clarification, the design-price scope). The parallel Japanese/English text is redundant for a monolingual reader but is a deliberate and consistent choice for this bilingual domain.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so row shape need not be explained, and the description still usefully names the licence/attribution/evidence_url fields. With 10 optional params and rich enum coverage in the schema, the description plus schema is sufficient for an agent to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 schema already documents all 10 params including geo, layer, status and period formats. The description adds value via the worked example and the cross-reference to get_jccdb_coverage for country-level layer availability, slightly exceeding baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: region, date and price status of an item in Japanese and U.S. public documents, plus the licensing condition on values. It carves out its niche against siblings by clarifying it returns public-works design unit prices rather than renovation estimates, though it never names the closest sibling tools (search_jccdb_items, get_jccdb_labor_rate).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete calling example (query='生コンクリート', pref='奈良県') and a negative-scope warning (design unit prices, not renovation quotes), and points to get_jccdb_coverage for per-country availability. However, it never explicitly says when to choose this tool over sibling observation/price tools, leaving the routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jccdb_work_unit_priceGet Public-Works Unit Prices for Work Items (Japan)ARead-onlyInspect
工事の単価(材料・労務・機械の複合。施工パッケージ型積算の標準単価など)を引き、構成比の行を同じパッケージの行に添えて返す。公共土木の積算単価であり、リフォームの見積単価ではない。例: query='掘削', pref='東京都'。 / Public-works unit prices for work items (materials, labor and equipment combined), with composition-ratio rows attached to their package. Not renovation quote prices.
| Name | Required | Description | Default |
|---|---|---|---|
| pref | No | 都道府県。 / Prefecture. | |
| limit | No | 返す行の上限(1〜100)。 / Maximum rows to return (1 to 100). | |
| query | No | 工種・品目(例: 掘削)。 / Work item. | |
| offset | No | 飛ばす行の数。limit と組んで次のページを取る。 / Rows to skip; use with limit to page through results. | |
| period | No | 時点(2026, 2026-09, 2025Q4, FY2025)。 / Period. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | How many records matched. 0 means the source was read and nothing matched. It never means the source could not be read, that returns isError: true. |
| lookup | No | ok = the source was read and something matched. absent = the source was read and nothing matched. A source that could NOT be read never appears here: that returns isError: true and makes no claim about what does or does not exist. |
| packages | No | 施工パッケージの単価 / unit price packages |
| source_read | No | true on every successful result. A failed lookup does not return a result at all, so this is never false, it is declared so a consumer can assert on it. |
| did_you_mean | No | Near matches, when an exact match was not found. |
| composition_rows_attached | No | 添えた構成比の行数 / attached composition rows |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, destructiveHint=false, so the safety profile is covered. The description adds genuine structural behavior (composition-ratio rows are returned attached to their package), but says nothing about pagination semantics beyond what offset/limit already imply, permissions, or result size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose, scope exclusion, and return shape are front-loaded in the Japanese text before the English gloss. Reasonably tight, though the bilingual duplication and parenthetical detail cost a little density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description still notes the composition-ratio row attachment. All five parameters are documented in the schema, and the exclusion clause covers the main misuse case. A note on when to prefer sibling lookups would complete it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description goes slightly beyond by supplying a concrete value example (query='掘削', pref='東京都') that demonstrates how the two main parameters combine, which helps an agent build a valid first call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (引き/retrieve) and resource (工事の単価, public-works unit prices), and explicitly names what it is NOT (リフォームの見積単価). Combined with the title and sibling set (get_jccdb_labor_rate, get_us_construction_prices), an agent can distinguish it immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit exclusion (renovation quote prices) and a worked query example (query='掘削', pref='東京都'), which clarifies intended usage. It does not, however, route the agent to related siblings such as search_jccdb_items or get_jccdb_labor_rate when the query is a labor rate rather than a package price.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_us_area_factorGet U.S. Location Cost Factors (DoD Area Cost Factor, USACE state adjustment)ARead-onlyInspect
米国の場所ごとの建設費の係数を引く: 国防総省の Area Cost Factor と Sustainment ACF(軍の施設ごと、96 基準都市の平均 = 1.00)と、陸軍工兵隊 CWCCIS の州の調整係数(現行値と年ごと)。geo は州・郡・ZIP(zip:28533)・市(Cherry Point, NC)・国外の国(country:JP)。中央値は computed:true。予算用の係数で、見積の良し悪しを判定する係数ではない。 / U.S. location cost factors: DoD Area Cost Factors by installation (96 base-city average = 1.00) and USACE CWCCIS state adjustment factors; geo accepts state, county, ZIP, city or an overseas country. Budgeting factors, not a test of whether a quote is fair.
| Name | Required | Description | Default |
|---|---|---|---|
| geo | No | 州・郡・ZIP(zip:28533)・市(Cherry Point, NC)・国外(country:JP)。 / State, county, ZIP, city or overseas country. | |
| limit | No | 返す行の上限(1〜100)。 / Maximum rows to return (1 to 100). | |
| offset | No | 飛ばす行の数。limit と組んで次のページを取る。 / Rows to skip; use with limit to page through results. | |
| installation | No | 施設の名前(例: Fort Bragg)。 / Installation name. | |
| include_history | No | true で CWCCIS の州の調整係数を年ごとに返す。 / true to return the yearly CWCCIS state adjustment series. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | How many records matched. 0 means the source was read and nothing matched. It never means the source could not be read, that returns isError: true. |
| sites | No | 施設ごとの係数 / factors by installation |
| lookup | No | ok = the source was read and something matched. absent = the source was read and nothing matched. A source that could NOT be read never appears here: that returns isError: true and makes no claim about what does or does not exist. |
| acf_stats | No | 係数の要約 / factor summary |
| source_read | No | true on every successful result. A failed lookup does not return a result at all, so this is never false, it is declared so a consumer can assert on it. |
| did_you_mean | No | Near matches, when an exact match was not found. |
| state_adjustment_factor | No | USACE の州の係数 / USACE state factor |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safe-read profile is covered. The description adds genuinely useful context beyond that: the normalization baseline (96 base-city average = 1.00), support for current and yearly series, and that medians carry computed:true. It does not describe pagination behavior, but that is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the content is well-organized with concrete examples. The main cost is the full bilingual duplication, which doubles length without adding information, but the underlying prose is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and safe-read annotations, the description needn't explain return values or permissions. It covers the reference baseline, historical vs current data, and geo formats, which is enough for an agent to call the tool correctly; only pagination guidance (limit/offset interaction) is left entirely to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters. The description's geo format examples (zip:28533, Cherry Point, NC, country:JP) and its note that medians are computed:true largely restate schema content, so it does not add meaning beyond the structured fields. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: it retrieves DoD Area Cost Factors by installation (96 base-city average = 1.00) and USACE CWCCIS state adjustment factors. It also draws a boundary against the sibling verify_fair_price by clarifying it is 'not a test of whether a quote is fair,' letting an agent distinguish it without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for use ('budgeting factors') and an explicit exclusion ('not a test of whether a quote is fair'), which implicitly routes fairness checks elsewhere. It stops short of naming the alternative tool explicitly, so it is strong but not fully prescriptive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_us_construction_pricesGet U.S. Construction Prices (all layers: prevailing wages, wages, bids, equipment, permits, indexes, cost limits)ARead-onlyInspect
米国の公的な建設費データベースを layer・地域・時点・品目で引く: labor(Davis-Bacon の法定賃金)、wage(BLS OEWS・QCEW の賃金)、work(DoD・FTA の単価)、equipment(FEMA・USACE の機械損料)、index(PPI・NHCCI・CWCCIS・DoD の地域係数)、spending(Census の工事支出と建築許可、市の許可)、cost_sqft(面積あたり工事費)、cost_limit(HUD の 1 戸あたり上限)、bid_item(州 DOT の入札単価)、house_price、material。geo は州・郡 FIPS(county:06037)・都市圏(cbsa:31080)・市(Austin, TX)。州を指定すると全国一律の行と USACE の地域の行も添える。1m2 あたりへの換算は computed:true。住宅リフォームの見積単価ではない。 / The U.S. public construction cost database by layer, region (state, county FIPS, CBSA, place), period and item: Davis-Bacon prevailing wages, BLS wages, public unit costs, equipment rates, permits and spending, indexes and area factors, HUD cost limits and state DOT bid prices. National and USACE regional rows are added for a state; per-m2 conversions are computed:true. Not residential remodeling quotes.
| Name | Required | Description | Default |
|---|---|---|---|
| geo | No | 州・郡 FIPS(county:06037)・都市圏 CBSA(cbsa:31080)・市(Austin, TX)・郡の名前(Los Angeles County, CA)。 / State, county FIPS, CBSA, place or county name. | |
| layer | No | データの種類: material 資材、labor 労務単価、work 工事の単価、equipment 機械損料、index 指数、wage 賃金統計、bid_item 入札の品目単価、cost_sqft 面積あたり工事費、spending 工事支出と建築許可、house_price 住宅価格、cost_limit 費用の上限。国ごとの有無は get_jccdb_coverage で確かめる。 / Data type: material, labor (design labor rates), work (work-item unit prices), equipment (rental rates), index, wage (wage statistics), bid_item (bid unit prices), cost_sqft (cost per square foot), spending (construction spending and permits), house_price, cost_limit. Check availability per country with get_jccdb_coverage. | |
| limit | No | 返す行の上限(1〜100)。 / Maximum rows to return (1 to 100). | |
| query | No | 品目・職種(英語。例: excavation, carpenters)。 / Item or occupation in English. | |
| state | No | 州名・略号・FIPS(California, CA, 06, カリフォルニア)。 / State name, abbreviation or FIPS. | |
| offset | No | 飛ばす行の数。limit と組んで次のページを取る。 / Rows to skip; use with limit to page through results. | |
| period | No | 時点(2024, 2025-05, 2025Q4, FY2026)。 / Period. | |
| source_id | No | 出典 ID で絞る(get_jccdb_coverage に detail:true を渡すと一覧が出る)。 / Source id filter; get_jccdb_coverage with detail:true lists the ids. | |
| include_national | No | 州を指定したとき全国一律・地域一律の行も返す(既定 true。郡・都市圏・市では既定 false)。 / Include national and regional rows (default true for a state). |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | 1 行 1 観測 / one row per observation |
| count | No | How many records matched. 0 means the source was read and nothing matched. It never means the source could not be read, that returns isError: true. |
| lookup | No | ok = the source was read and something matched. absent = the source was read and nothing matched. A source that could NOT be read never appears here: that returns isError: true and makes no claim about what does or does not exist. |
| by_layer | No | 種類別の件数 / counts by layer |
| source_read | No | true on every successful result. A failed lookup does not return a result at all, so this is never false, it is declared so a consumer can assert on it. |
| did_you_mean | No | Near matches, when an exact match was not found. |
| license_note | No | 利用条件 / licence note |
TDQS
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 genuinely useful behavior beyond that: national/uniform rows and USACE regional rows are automatically appended when a state is given, per-m2 conversions are flagged as computed:true, and residential remodeling quotes are explicitly out of scope. It omits any note on rate limits or result-volume behavior, but for a read-only aggregate query this is solid added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is front-loaded with the core verb and resource, and each clause carries substantive information (layers, geo formats, augmentation rule, exclusion). The Japanese/English duplication roughly doubles the length, which is intentional for bilingual serving but does inflate token cost relative to a single-language version.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and 100% parameter coverage, the description need not explain return values, and it correctly focuses on scope, layers, geo/period inputs, the auto-augmentation rule and the exclusion. Combined with the readOnly annotations, an agent has enough to call it correctly; only explicit sibling routing is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with all 9 parameters documented, so the baseline is 3. The description's layer enumeration and geo/period examples (county:06037, cbsa:31080, Austin, TX, FY2026) largely restate what the schema already provides, adding volume of text rather than new semantics. No compensating meaning is introduced for the limit/offset paging behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (query/pull) and resource (the U.S. public construction cost database) and enumerates the exact layers returned (labor, wage, work, equipment, index, spending, cost_sqft, cost_limit, bid_item, house_price, material), so an agent knows precisely what data it yields. It also carves out a scope exclusion ("not residential remodeling quotes"). It does not, however, differentiate itself from overlapping siblings such as get_jccdb_labor_rate, get_jccdb_work_unit_price, or get_us_prevailing_wage, which cover some of the same layers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to reach for it (broad multi-layer cost lookup by layer/geo/period/item) and notes one exclusion, but it gives no explicit when-to-use-vs-sibling routing despite many adjacent tools (get_us_prevailing_wage, get_jccdb_work_unit_price, get_us_permits, get_price_range). The pointer to get_jccdb_coverage appears only in the schema's layer field, not the main description, so the main text leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_us_contract_discountsGet U.S. Public Contract Discount Rates off List Price (kake ratio)ARead-onlyInspect
州と共同購買の契約書が公開している、定価からの値引き率を返す(ワシントン州 DES 23623 配管部材・11121 電気資材、NASPO ValuePoint の資材 MRO の Grainger・Fastenal・MSC・Lawson・HD Supply、Home Depot の塗料)。掛け率 = 1 - 値引き率(computed:true)。定価への上乗せ(Over MSRP)と業者の目録からの値引き(Catalog Off)は別の列で、掛け率には入れない。率は上限で、定価の基準は行ごとに違う。例: query='eaton breakers'。 / Published discount rates off list price in U.S. public contracts (Washington DES plumbing and electrical, NASPO ValuePoint MRO), with kake_ratio = 1 - discount (computed:true). Over-MSRP and catalog-off rows are kept separate. Rates are ceilings; list bases differ by row.
| Name | Required | Description | Default |
|---|---|---|---|
| basis | No | 値引きの基準で絞る: MSRP Discount 定価からの値引き、Over MSRP 定価への上乗せ、Catalog Off 業者の目録からの値引きなど。 / Discount basis filter, e.g. MSRP Discount, Over MSRP, Catalog Off. | |
| limit | No | 返す行の上限(1〜100)。 / Maximum rows to return (1 to 100). | |
| query | No | メーカー・製品系列・分野・業者の語(英語)。 / Manufacturer, product line, category or vendor words. | |
| offset | No | 飛ばす行の数。limit と組んで次のページを取る。 / Rows to skip; use with limit to page through results. | |
| vendor | No | 業者名(英語。例 Grainger, Fastenal)。 / Vendor name. | |
| source_id | No | 契約の出典: wa-des-23623 ワシントン州の配管部材、wa-des-11121 同じく電気資材、naspo-mro-ak NASPO ValuePoint の資材 MRO。 / Contract source: wa-des-23623 (Washington DES plumbing), wa-des-11121 (Washington DES electrical), naspo-mro-ak (NASPO ValuePoint MRO). | |
| manufacturer | No | メーカー名(英語)。 / Manufacturer name. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | 契約・メーカーごとの値引き率と kake_ratio / discount and kake ratio |
| count | No | How many records matched. 0 means the source was read and nothing matched. It never means the source could not be read, that returns isError: true. |
| lookup | No | ok = the source was read and something matched. absent = the source was read and nothing matched. A source that could NOT be read never appears here: that returns isError: true and makes no claim about what does or does not exist. |
| source_read | No | true on every successful result. A failed lookup does not return a result at all, so this is never false, it is declared so a consumer can assert on it. |
| did_you_mean | No | Near matches, when an exact match was not found. |
| summary_by_vendor | No | メーカーごとの要約 / summary by vendor |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, destructiveHint=false, openWorldHint=false), so the description adds real value on top: it discloses that kake_ratio is computed as 1 - discount, that Over-MSRP and Catalog-Off rows are kept in separate columns and excluded from kake_ratio, and that rates are ceilings with list bases varying by row. These are substantive semantic caveats not present in 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded and the example is useful, but the entire text is duplicated in Japanese and English, roughly doubling length without adding information. Several caveats are packed into dense clauses that would be clearer as separate sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-format explanation is not required. The description adequately covers data provenance (specific contract IDs), the computed kake_ratio, and the ceiling/list-base caveats, giving an agent enough to interpret results correctly; only explicit alternative-tool routing is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all seven parameters carry bilingual schema descriptions, so the baseline is 3. The description adds an example query value and clarifies that the returned 'rate' is a ceiling, but it does not add per-parameter meaning beyond what the schema already provides for basis, vendor, source_id, limit, or offset.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — returns published discount rates off list price from U.S. public contracts — and enumerates the exact contract sources (Washington DES 23623 plumbing, 11121 electrical, NASPO ValuePoint MRO) plus named vendors. It is clearly distinguishable from pricing siblings like get_price_range or get_fair_price_sources, though it never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
An example query ('eaton breakers') and the enumerated sources imply when the tool is useful, but there is no explicit when-to-use statement, no conditions for choosing this over get_us_construction_prices or get_fair_price_sources, and no stated exclusions. Usage is only inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_us_import_landed_costGet U.S. Landed Import Cost by HS Code and Partner CountryARead-onlyInspect
米国に輸入される建材と化学品の陸揚げ原価を HS 10 桁で返す(Census の輸入統計 IMDB、月と年初来): 通関価格・CIF・計算上の関税(232 条などの追加関税を含む)・数量・単価・実効の関税率と、相手国の上位(か country で指定の国)。単価と実効の関税率は computed:true。国内の運賃と通関の手数料は入らない。 / Landed cost of U.S. imports of construction materials and chemicals by HS 10-digit code (Census IMDB, month and year to date): customs value, CIF, calculated duty (including Section 232 and other additional duties), quantity, unit cost and effective duty rate (computed), with top partner countries or one country.
| Name | Required | Description | Default |
|---|---|---|---|
| hs | No | HS の頭 2〜10 桁(例 7214 棒鋼)。 / HS code prefix. | |
| limit | No | 返す行の上限(1〜50)。 / Maximum rows to return (1 to 50). | |
| query | No | 英語の品名。 / Product name in English. | |
| country | No | 相手国(英語の国名か Census の国コード 4 桁)。 / Partner country. | |
| top_countries | No | 相手国の上位を何か国返すか(1〜20、既定 5。country を渡したときは使わない)。 / Number of top partner countries (1 to 20, default 5; ignored when country is given). |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | HS 10 桁ごとの CIF・関税・単価 / CIF, duty and unit cost by HS code |
| count | No | How many records matched. 0 means the source was read and nothing matched. It never means the source could not be read, that returns isError: true. |
| lookup | No | ok = the source was read and something matched. absent = the source was read and nothing matched. A source that could NOT be read never appears here: that returns isError: true and makes no claim about what does or does not exist. |
| how_to_cite | No | 引用の仕方 / how to cite |
| source_read | No | true on every successful result. A failed lookup does not return a result at all, so this is never false, it is declared so a consumer can assert on it. |
| did_you_mean | No | Near matches, when an exact match was not found. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description goes further by disclosing that unit cost and effective duty rate are computed:true, that Section 232 and other additional duties are included in calculated duty, and that domestic freight and customs clearance fees are excluded — genuinely useful behavioral context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and inclusions/exclusions are front-loaded and every clause adds substance (duty inclusions, computed flags, exclusions). It is, however, a single dense run-on sentence rendered twice (Japanese and English), which lengthens the payload without adding new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present the description need not explain return values, and it covers scope, cost components, computed fields and exclusions for a five-parameter tool. The main missing piece is guidance on when to choose this import-cost source over the sibling domestic price tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter (hs, limit, query, country, top_countries) is already documented, including the note that top_countries is ignored when country is given. The description adds only the general mention of 'top partner countries or one country', so the baseline 3 is appropriate when the schema carries the detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns landed cost of U.S. imports of construction materials and chemicals by HS 10-digit code, drawing on the Census IMDB source. The scope (month and YTD) plus the enumerated cost components (customs value, CIF, duty, quantity, unit cost, effective rate) make it unambiguous and clearly distinguishable from the pricing/estimate siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the scope (import landed cost by HS code) but there is no explicit when-to-use or when-not-to-use guidance, and no routing versus alternatives like get_us_construction_prices or get_us_price_chain. The agent must infer that this is the import-trade data source rather than a domestic price source.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_us_permitsGet U.S. Building Permits (counts, valuation, per unit, city quartiles)ARead-onlyInspect
米国の建築許可を地域と年で引く: Census Building Permits Survey(州・郡・都市圏・市の棟数・戸数・工事額・1戸あたり)と、市の許可データの申告工事額の分布(件数・合計・中央値・25/75 分位・1 sqft あたり)。工事額は申請者の申告で、契約額でも見積の単価でもない。計算した値は computed:true。例: geo='Austin, TX', year='2024'。 / U.S. building permits by region and year: Census BPS buildings, units, valuation and per-unit values, plus distributions of declared valuations in city permit data (median, quartiles, per sq ft). Declared by applicants; not contract prices or quotes.
| Name | Required | Description | Default |
|---|---|---|---|
| geo | No | 州・郡(FIPS か 'Multnomah County, OR')・都市圏(cbsa:38900)・市(Austin, TX)。無ければ全国。 / State, county, CBSA or place; national if omitted. | |
| year | No | 年(2024)。 / Year. | |
| limit | No | 返す行の上限(1〜100)。 / Maximum rows to return (1 to 100). | |
| offset | No | 飛ばす行の数。limit と組んで次のページを取る。 / Rows to skip; use with limit to page through results. | |
| source | No | 出典: bps は Census Building Permits Survey、city は市の許可データ、all は両方(既定)。 / bps for the Census Building Permits Survey, city for city permit records, all for both (default). | |
| structure | No | 建物あたりの戸数の区分: 1-unit 戸建て、2-units、3-4 units、5+ units 集合住宅。 / Units per building: 1-unit, 2-units, 3-4 units, 5+ units. |
Output Schema
| Name | Required | Description |
|---|---|---|
| bps | No | Census BPS の棟数・戸数・工事額 / Census BPS |
| count | No | How many records matched. 0 means the source was read and nothing matched. It never means the source could not be read, that returns isError: true. |
| lookup | No | ok = the source was read and something matched. absent = the source was read and nothing matched. A source that could NOT be read never appears here: that returns isError: true and makes no claim about what does or does not exist. |
| source_read | No | true on every successful result. A failed lookup does not return a result at all, so this is never false, it is declared so a consumer can assert on it. |
| city_permits | No | 市の許可の申告工事額の分布 / city permit valuations |
| did_you_mean | No | Near matches, when an exact match was not found. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry readOnlyHint/openWorldHint/destructiveHint, so the safety profile is covered. The description adds genuine value beyond that: it discloses the data provenance (declared by applicants, not contract prices or quotes) and that derived values are flagged computed:true, which prevents misinterpretation of the numbers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Content is front-loaded with the verb+resource and the caveat is well placed, but the entire description is duplicated in Japanese and English, roughly doubling length without adding information for a single-language reader. Each semantic sentence earns its place, but the bilingual redundancy hurts conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists (so return values need no explanation), the description covers sources, coverage geography, the structure breakdown, the computed flag, and the valuation caveat. An agent has everything needed to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters including the enums for source and structure. The description only restates the example geo/year pair, adding little meaning beyond what the schema provides; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (fetch U.S. building permits) and enumerates exactly what data is returned: Census BPS buildings/units/valuation/per-unit plus city permit valuation distributions (median, quartiles, per sqft). No sibling tool deals with permits, so it is clearly distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a concrete example invocation (geo='Austin, TX', year='2024') and a caveat that valuations are applicant-declared, not contract prices, which implicitly steers agents toward the pricing siblings. However, there is no explicit when-to-use/when-not-to-use statement nor any named alternative, leaving usage to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_us_prevailing_wageGet U.S. Davis-Bacon Prevailing Wages (base and fringe)ARead-onlyInspect
米国 Davis-Bacon 法の一般賃金決定(連邦の資金が入る建設工事で払うべき最低の基本時給と付加給付)を、州・郡・職種で引く。1 件ごとに基本時給と付加給付を並べ、決定番号・改訂・公表日・郡の一覧・出典 URL を添える。基本 + 付加給付の合計は computed:true。民間の住宅工事の相場や業者の請求単価ではない。例: state='CA', county='Los Angeles', trade='carpenter'。 / U.S. Davis-Bacon general wage determinations by state, county and trade: base wage and fringe side by side with decision number, revision, publication date and source URL; the total is computed:true. These are minimums for federally funded work, not private market rates.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 返す行の上限(1〜100)。 / Maximum rows to return (1 to 100). | |
| state | No | 州名・略号・FIPS。 / State. | |
| trade | No | 職種(英語。例: carpenter, electrician, laborer)。 / Trade in English. | |
| county | No | 郡 FIPS 5桁か郡の名前(Los Angeles)。 / County FIPS or name. | |
| offset | No | 飛ばす行の数。limit と組んで次のページを取る。 / Rows to skip; use with limit to page through results. | |
| decision | No | 決定番号(例 CA20260001)。 / Wage determination number. | |
| construction_type | No | Building / Heavy / Highway / Residential。 / Construction type. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | How many records matched. 0 means the source was read and nothing matched. It never means the source could not be read, that returns isError: true. |
| rates | No | 基本時給と付加給付(決定番号・出典つき) / base wage and fringe with decision number |
| lookup | No | ok = the source was read and something matched. absent = the source was read and nothing matched. A source that could NOT be read never appears here: that returns isError: true and makes no claim about what does or does not exist. |
| source_read | No | true on every successful result. A failed lookup does not return a result at all, so this is never false, it is declared so a consumer can assert on it. |
| did_you_mean | No | Near matches, when an exact match was not found. |
| coverage_note | No | 取り込んだ州の範囲 / state coverage |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description goes further, disclosing the returned structure (base and fringe side by side, decision number, revision, publication date, source URL) and flagging that the total is computed:true – useful context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and scope are front-loaded and every clause carries meaning, but the content is fully duplicated across Japanese and English, roughly doubling the length for an agent that only needs one language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, yet the description still summarizes them and adds the crucial domain caveat that these are statutory minimums. Seven optional parameters, a clear example and a stated scope leave nothing an agent needs missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline would be 3, but the description adds a worked example ('state=CA', county='Los Angeles', trade='carpenter') that shows how the main filters combine in practice. It does not add format or syntax detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: '引く' / retrieve Davis-Bacon general wage determinations by state, county and trade. It also distinguishes this from private-market rates and contractor billing, so an agent can tell it apart from sibling pricing tools like get_jccdb_labor_rate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames when this applies – minimums for federally funded construction – and adds a negation ('not private market rates or contractor billing'), which is the key disambiguation for this domain. It gives a concrete example invocation, though it never names an alternative sibling to route away to.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_us_price_chainGet U.S. Material Price Chain (landed import cost to wholesale, retail and contractor)ARead-onlyInspect
米国で建材や化学品が流通の各段でいくらになるかを計算して返す: 輸入の陸揚げ原価(Census の輸入統計、CIF + 関税、232 条などの追加関税を含む)から、卸(業種の平均の粗利率、Census AIES 2024)、小売(直接輸入と卸経由の幅)、元請(Caltrans の材料の上乗せ 15%)まで。HS 10 桁か英語の品名で引く。各行に式・出典の URL と sha256・卸の業種の当て方の確度・BEA 2007 の流通構造との照合が付く。推計(computed:true)で、見積の良し悪しを判定する値ではない。例: query='plywood'、hs='2523290000'(ポルトランドセメント)。 / Estimated U.S. prices along the distribution chain for construction materials and chemicals: landed import cost (Census, CIF plus duty including Section 232) to wholesale (industry-average gross margin, Census AIES 2024), retail (range: direct import vs via wholesale) and contractor (Caltrans materials markup 15%). Look up by HS code or English product name; every row carries the formula, source URLs and hashes, mapping confidence and a BEA 2007 cross-check. Estimates (computed:true), not a verdict on any quote.
| Name | Required | Description | Default |
|---|---|---|---|
| hs | No | HS の頭 2〜10 桁(例 2523 セメント、4412 合板、3917 樹脂管、6907 タイル)。 / HS code prefix. | |
| limit | No | 返す行の上限(1〜50)。 / Maximum rows to return (1 to 50). | |
| query | No | 英語の品名(例 plywood, portland cement, pvc pipe, ceramic tiles)。 / Product name in English. | |
| include_thin | No | 取引の薄い品目も入れる(既定は外す)。 / Include thinly traded items. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | 品目ごとの陸揚げ・卸・小売・元請(式・出典・sha256) / landed, wholesale, retail, contractor with formula and sources |
| count | No | How many records matched. 0 means the source was read and nothing matched. It never means the source could not be read, that returns isError: true. |
| lookup | No | ok = the source was read and something matched. absent = the source was read and nothing matched. A source that could NOT be read never appears here: that returns isError: true and makes no claim about what does or does not exist. |
| markups | No | 元請の上乗せ率(州の交通局の原本) / contractor markups from state DOT originals |
| how_to_cite | No | 引用の仕方 / how to cite |
| source_read | No | true on every successful result. A failed lookup does not return a result at all, so this is never false, it is declared so a consumer can assert on it. |
| did_you_mean | No | Near matches, when an exact match was not found. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description goes further, disclosing that every row carries a formula, source URLs with sha256, mapping confidence, and a BEA 2007 cross-check, and that values are flagged computed:true estimates. That provenance detail is genuinely additive, though auth/rate-limit behavior is not addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is front-loaded and each element is substantive, but the full text is duplicated verbatim in Japanese and English, roughly doubling the length without adding information. For an agent, the redundancy is tolerable but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a complex multi-stage pricing tool with an output schema and full annotation coverage, the description is largely complete: it covers inputs, data provenance, estimate status, and row contents. Minor gaps remain around when to choose it over sibling pricing tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters with examples. The description's examples (query='plywood', hs='2523290000') largely repeat what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource with full scope: computes U.S. prices for construction materials and chemicals at each distribution stage, from landed import cost through wholesale, retail and contractor. It names its data sources and inputs, making it clearly distinguishable from siblings like get_us_import_landed_cost or get_us_trade_margins.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains how to invoke it (by HS 10-digit code or English product name) and gives concrete examples, plus a caveat that results are estimates not a verdict on a quote. It does not, however, explicitly say when to prefer this tool over the more granular sibling tools such as get_us_import_landed_cost.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_us_trade_marginsGet U.S. Wholesale and Retail Gross Margins (Census) and BEA Margin StructureARead-onlyInspect
米国の卸と小売の粗利率を NAICS で返す(Census AWTS 1992〜2022、ARTS 1993〜2022、AIES 2024)。kake_cost_ratio = 1 - 粗利率(売値のうち仕入れ原価の割合)。commodity か include_bea で BEA 2007 の建設業と家計の購入の流通構造(生産者価格・運賃・卸・小売・購入者価格)も。業種の平均で、個々の会社の仕入れ値ではない。例: naics='4233'(建材卸)、naics='444110'(ホームセンター)。 / U.S. wholesale and retail gross margins by NAICS (Census AWTS, ARTS, AIES 2024) with kake_cost_ratio = 1 - margin; optionally the BEA 2007 margin structure. Industry averages, not any firm's cost.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | 年(例 2022。AIES は 2024)。 / Year, e.g. 2022 (AIES covers 2024). | |
| limit | No | 返す行の上限(1〜200)。 / Maximum rows to return (1 to 200). | |
| naics | No | NAICS の頭(4233 建材卸、423720 配管・暖房卸、4441 建材小売、444110 ホームセンター)。 / NAICS prefix. | |
| query | No | 業種の語(英語。例 plumbing, paint)。 / Industry words in English. | |
| trade | No | wholesale 卸 か retail 小売 で絞る。 / Filter to wholesale or retail. | |
| history | No | true で年ごと。 / All years. | |
| commodity | No | BEA の品目の語(英語。例 cement, lighting)。 / BEA commodity words. | |
| include_bea | No | true で BEA 2007 の流通構造(生産者価格・運賃・卸・小売・購入者価格)も返す。 / true to add the BEA 2007 margin structure (producer price, freight, wholesale, retail, purchaser price). |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | NAICS ごとの粗利率と kake_cost_ratio / margins and cost ratio by NAICS |
| count | No | How many records matched. 0 means the source was read and nothing matched. It never means the source could not be read, that returns isError: true. |
| lookup | No | ok = the source was read and something matched. absent = the source was read and nothing matched. A source that could NOT be read never appears here: that returns isError: true and makes no claim about what does or does not exist. |
| source_read | No | true on every successful result. A failed lookup does not return a result at all, so this is never false, it is declared so a consumer can assert on it. |
| did_you_mean | No | Near matches, when an exact match was not found. |
| margin_index | No | マージン物価指数 / trade-margin price indexes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe read-only, non-open-world operation, so the bar is lower. The description adds genuine value beyond that: source coverage and years, the kake_cost_ratio definition, and the caveat that figures are industry averages rather than a firm's actual purchase cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose, formula, optional BEA behavior and the industry-average caveat are front-loaded before the examples. It is dense bilingual text but each clause carries information; only the duplicated EN/JA phrasing adds mild bulk.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return format need not be described. The description supplies source coverage, the derived metric definition, the optional BEA branch, and the key scope caveat, which is sufficient for an 8-param all-optional tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents each parameter and the baseline is 3. The description goes further by showing the semantic link between commodity/include_bea and the optional BEA 2007 margin structure, and by mapping naics prefixes to trade categories.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: returns U.S. wholesale and retail gross margins by NAICS, with named data sources (Census AWTS/ARTS/AIES) and the derived kake_cost_ratio. The resource is distinctive, but it does not distinguish itself from the sibling get_us_price_chain, which is also about a producer-to-purchaser price/margin chain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Examples (naics='4233', '444110') and the scope caveat 'industry averages, not any firm's cost' imply usage without stating when to pick this over alternatives. There is no explicit when-not guidance or named sibling such as get_us_price_chain for a full chain request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jccdb_itemsSearch JCCDB Line ItemsARead-onlyInspect
日本の建設費オープンデータ JCCDB(v5.0 は計425,765件)の品目の目録(95,403)を名前で探す。生コン・異形棒鋼・ヒューム管・側溝など資材や製品、労務の品目が公的資料に実在するかと証拠URLを返す。工事カテゴリ(search_cost_category)に無い資材はこちら。地域・時点・価格は get_jccdb_observations。 / Search the JCCDB item catalogue (95,403 line items of the 425,765 records in v5.0; materials, products, labor) by name; returns whether each exists in a public document, with its evidence URL. Use for materials that are not renovation work categories.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 返す行の上限(1〜50)。 / Maximum rows to return (1 to 50). | |
| query | Yes | 品目名(日本語。例: 生コンクリート 21-8-25)。 / Item name in Japanese. | |
| category | No | (任意) JCCDB のカテゴリ名で絞る。 / optional JCCDB category. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | No | 当たった件数 / matches |
| items | No | 品目(名前・カテゴリ・単位・evidence_url) / line items with evidence URLs |
| lookup | No | ok = the source was read and something matched. absent = the source was read and nothing matched. A source that could NOT be read never appears here: that returns isError: true and makes no claim about what does or does not exist. |
| source_read | No | true on every successful result. A failed lookup does not return a result at all, so this is never false, it is declared so a consumer can assert on it. |
| did_you_mean | No | Near matches, when an exact match was not found. |
| observations_by_layer | No | 観測層にある件数 / observation rows by layer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so safety and scope are covered. The description adds that each result includes an evidence URL proving existence in a public document, which is useful behavioral context, but with an output schema present, return-shape detail is largely unnecessary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Presented bilingually with the Japanese and English sections front-loaded and information-dense, though the bilingual duplication makes it longer than strictly necessary. Every sentence still carries routing or descriptive value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity read-only search tool with a full schema, annotations, and an output schema, the description covers what the tool does and when to prefer siblings. It is complete enough for an 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (query, limit, category) are already documented in the schema, including that query must be Japanese and examples. The description adds no syntax or semantic detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search), resource (JCCDB item catalogue, 95,403 items) and the kind of content returned (existence in public document + evidence URL). It also distinguishes itself from the work-category sibling ('工事カテゴリ(search_cost_category)に無い資材はこちら').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names what to use instead for regional, temporal, or price data ('地域・時点・価格は get_jccdb_observations') and for renovation work categories ('search_cost_category'). No explicit 'when not to use' exclusion beyond that, but the routing guidance is concrete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
15 tool updates
- First observed
compare_jccdb_regions - First observed
get_jccdb_coverage - First observed
get_jccdb_index_series - First observed
get_jccdb_labor_rate - First observed
get_jccdb_observations - First observed
get_jccdb_work_unit_price - First observed
get_us_area_factor - First observed
get_us_construction_prices - First observed
get_us_contract_discounts - First observed
get_us_import_landed_cost - First observed
get_us_permits - First observed
get_us_prevailing_wage - First observed
get_us_price_chain - First observed
get_us_trade_margins - First observed
search_jccdb_items
Related MCP Connectors
Japanese law, corporation & statistics data as MCP, normalized to English with source attribution.
Raw Japanese regulatory data for AI agents: pension, gazette, gBizINFO. x402-metered (USDC).
Fair-price checks for Japanese renovation quotes, with sources and recomputable records.
Japanese court-run real-estate auctions (BIT). 5 tools, ~1,480 active listings. CC BY 4.0.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides aggregated municipal development costs for US jurisdictions, including impact fees and utility connection charges, enabling AI agents to assess building feasibility quickly.1417 npmMIT
- AlicenseAqualityCmaintenanceEnables AI assistants to access and compare Japanese public data from e-Stat, corporate registration, real estate, and invoice APIs, automatically converting codes into human-readable formats with sources and timestamps.1438 PyPI11MIT
- FlicenseNot gradedqualityDmaintenanceJapanese real-estate actual transaction prices and official land prices (official MLIT Reinfolib data): search by area, period, and property type, with published land-price reference points.-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to query Japanese public data (laws, corporations, statistics) from official government APIs, returning normalized English metadata with source attribution.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.