# HORIZON SHIELD Construction Cost Data: JCCDB (Japan) and USCCDB (United States) (remote · ccdb.horizonshield.dev)

Public construction cost data for Japan and the U.S., each row with its source URL and licence.

- Trust score: 77/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-24

## Components

- remote · `ccdb.horizonshield.dev`: 77/100 (this document), [markdown](https://verifymcp.io/servers/ogasurfproject-jpg-construction-cost-data/ccdb.md), [page](https://verifymcp.io/servers/ogasurfproject-jpg-construction-cost-data/ccdb)

## Channel facts

- Endpoint: `https://ccdb.horizonshield.dev/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-24.

- **Endpoint Security**: 71/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS check failed: the endpoint is reachable over plaintext HTTP.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 60/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 7579 tokens (~505/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 73/100
  - Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the HORIZON SHIELD Construction Cost Data: JCCDB (Japan) and… MCP server?

HORIZON SHIELD Construction Cost Data: JCCDB (Japan) and… is a hosted endpoint at https://ccdb.horizonshield.dev/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http ogasurfproject-jpg-construction-cost-data 'https://ccdb.horizonshield.dev/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "ogasurfproject-jpg-construction-cost-data": {
      "url": "https://ccdb.horizonshield.dev/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "ogasurfproject-jpg-construction-cost-data": {
      "type": "http",
      "url": "https://ccdb.horizonshield.dev/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.ogasurfproject-jpg-construction-cost-data]
url = "https://ccdb.horizonshield.dev/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ogasurfproject-jpg-construction-cost-data": {
      "type": "remote",
      "url": "https://ccdb.horizonshield.dev/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ogasurfproject-jpg-construction-cost-data --url 'https://ccdb.horizonshield.dev/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ogasurfproject-jpg-construction-cost-data:
    url: "https://ccdb.horizonshield.dev/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "ogasurfproject-jpg-construction-cost-data": {
      "Transport": "http",
      "Url": "https://ccdb.horizonshield.dev/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add ogasurfproject-jpg-construction-cost-data -t streamable-http -u 'https://ccdb.horizonshield.dev/mcp'
```

### Other

```json
{
  "mcpServers": {
    "ogasurfproject-jpg-construction-cost-data": {
      "type": "http",
      "url": "https://ccdb.horizonshield.dev/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-22 (score 77, +1)

No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-20 (score 76, +1)

No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-18 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-16 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-14 (score 73, +1)

No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-12 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-10 (score 71, +2)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 27. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-05 (score 69, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “search_jccdb_items” rewrote its description, which is the text the model reads

## MCP tools (15)

### `search_jccdb_items` (~279 tokens)

Search JCCDB Line Items

日本の建設費オープンデータ JCCDB(v5.1 は計526,128件)の品目の目録(95,403)を名前で探す。生コン・異形棒鋼・ヒューム管・側溝など資材や製品、労務の品目が公的資料に実在するかと証拠URLを返す。工事カテゴリ(search_cost_category)に無い資材はこちら。地域・時点・価格は get_jccdb_observations。 / Search the JCCDB item catalogue (95,403 line items of the 526,128 records in v5.1; 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.

Input parameters:

- `category` (string): (任意) JCCDB のカテゴリ名で絞る。 / optional JCCDB category.
- `limit` (integer): 返す行の上限(1〜50)。 / Maximum rows to return (1 to 50).
- `query` (string, required): 品目名(日本語。例: 生コンクリート 21-8-25)。 / Item name in Japanese.

Output parameters:

- `count`: 当たった件数 / matches
- `did_you_mean`: Near matches, when an exact match was not found.
- `items`: 品目(名前・カテゴリ・単位・evidence_url) / line items with evidence URLs
- `lookup` (string): 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 abo…
- `observations_by_layer`: 観測層にある件数 / observation rows by layer
- `source_read` (boolean): 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.

### `get_jccdb_observations` (~808 tokens)

Get JCCDB Observations (region, date, price status; Japan and U.S.)

品目が『どの地域・地区で・いつ・いくらで(または非公開の理由)』公的資料に載っているかを返す(日本と米国)。値は再配布を許す出典のときだけ入り、各行に 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.

Input parameters:

- `country` (string): 国で絞る: JP 日本、US 米国。 / Country filter: JP for Japan, US for the United States.
- `geo` (string): 地域: 都道府県名・JIS コード(29, JP-29)、州名・略号・FIPS(California, CA, US-06)。 / Region: prefecture name or JIS code, U.S. state name, abbreviation or FIPS.
- `layer` (string): データの種類: material 資材、labor 労務単価、work 工事の単価、equipment 機械損料、index 指数、wage 賃金統計、bid_item 入札の品目単価、cost_sqft 面積あたり工事費、spending 工事支出と建築許可、house_price 住宅価格、cost_limit 費用の上限。国ごとの有無は get_jccdb_coverage で確かめる。…
- `limit` (integer): 返す行の上限(1〜100)。 / Maximum rows to return (1 to 100).
- `offset` (integer): 飛ばす行の数。limit と組んで次のページを取る。 / Rows to skip; use with limit to page through results.
- `period` (string): 時点(2026, 2026-09, 2025Q4, FY2025)。 / Period.
- `pref` (string): 都道府県(奈良県 / 奈良 / nara)。 / Prefecture.
- `query` (string): 品目名(例: 生コンクリート)。 / Item name.
- `source_id` (string): 出典 ID(get_jccdb_coverage で分かる)。 / Source id.
- `status` (string): 値の公開状態で絞る: published_pdl・published_cc_by・public_domain・published_open_terms は値あり、published_restricted_not_copied は出典はあるが値を写していない、publication_based_not_public は県が刊行物単価を使い値を公開していない地区、not_set は未判定。 / Pu…

Output parameters:

- `by_status`: 状態別の件数 / counts by price status
- `count` (number): 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.
- `did_you_mean`: Near matches, when an exact match was not found.
- `license_note`: 利用条件 / licence note
- `lookup` (string): 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 abo…
- `next_offset`: 続きの offset / next page
- `rows`: 1 行 1 観測(値・単位・状態・license・attribution・evidence_url) / one row per observation
- `source_read` (boolean): 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.

### `get_jccdb_labor_rate` (~219 tokens)

Get Public-Works Design Labor Rate (Japan)

国交省の公共工事設計労務単価(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.

Input parameters:

- `history` (boolean): true で年ごとの系列。 / true for the yearly series.
- `job` (string): 職種(例: 大工, 左官, 特殊作業員)。 / Trade in Japanese.
- `limit` (integer): 返す行の上限(1〜200)。 / Maximum rows to return (1 to 200).
- `pref` (string): 都道府県。 / Prefecture.

Output parameters:

- `count` (number): 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.
- `did_you_mean`: Near matches, when an exact match was not found.
- `lookup` (string): 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 abo…
- `periods`: 時点 / periods
- `rows`: 都道府県 x 職種の賃金(8 時間あたり) / wage per 8 hours by prefecture and trade
- `source_read` (boolean): 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.
- `sources_used`: 出典 / sources

### `compare_jccdb_regions` (~556 tokens)

Compare JCCDB Values Across Regions (latest)

品目と規格で、地域ごとの最新時点の値を並べ、最小・中央・最大と状態別の件数を返す。規格・単位・値の種類が同じものだけを比べる(普通と高炉は別の組)。中央値はこのサービスの計算(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.

Input parameters:

- `country` (string): 国で絞る: JP 日本、US 米国。 / Country filter: JP for Japan, US for the United States.
- `layer` (string): データの種類: material 資材、labor 労務単価、work 工事の単価、equipment 機械損料、index 指数、wage 賃金統計、bid_item 入札の品目単価、cost_sqft 面積あたり工事費、spending 工事支出と建築許可、house_price 住宅価格、cost_limit 費用の上限。国ごとの有無は get_jccdb_coverage で確かめる。…
- `limit` (integer): 比べる組(品目・規格・単位の組み合わせ)の上限(1〜20)。 / Maximum comparison groups to return (1 to 20).
- `normalize` (string): exact(既定: 規格の文字が同じものだけ)/ namacon(生コンの規格を局をまたいで束ねる: セメント・呼び強度-スランプ-骨材・水セメント比・単位セメント量)。 / namacon groups ready-mix concrete specs across bureaus.
- `query` (string, required): 品目名。 / Item name.
- `spec` (string): 規格(例: 21-8-25(20))。 / Specification.

Output parameters:

- `by_status`: 状態別の件数 / counts by status
- `computed_note`: 計算した値の説明 / computed fields
- `count` (number): 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.
- `did_you_mean`: Near matches, when an exact match was not found.
- `groups`: 規格・単位・値の種類ごとの組(最小・中央・最大) / groups with min, median, max
- `lookup` (string): 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 abo…
- `source_read` (boolean): 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.

### `get_jccdb_work_unit_price` (~273 tokens)

Get Public-Works Unit Prices for Work Items (Japan)

工事の単価(材料・労務・機械の複合。施工パッケージ型積算の標準単価など)を引き、構成比の行を同じパッケージの行に添えて返す。公共土木の積算単価であり、リフォームの見積単価ではない。例: 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.

Input parameters:

- `limit` (integer): 返す行の上限(1〜100)。 / Maximum rows to return (1 to 100).
- `offset` (integer): 飛ばす行の数。limit と組んで次のページを取る。 / Rows to skip; use with limit to page through results.
- `period` (string): 時点(2026, 2026-09, 2025Q4, FY2025)。 / Period.
- `pref` (string): 都道府県。 / Prefecture.
- `query` (string): 工種・品目(例: 掘削)。 / Work item.

Output parameters:

- `composition_rows_attached`: 添えた構成比の行数 / attached composition rows
- `count` (number): 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.
- `did_you_mean`: Near matches, when an exact match was not found.
- `lookup` (string): 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 abo…
- `packages`: 施工パッケージの単価 / unit price packages
- `source_read` (boolean): 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.

### `get_jccdb_index_series` (~320 tokens)

Get Construction Cost Index Series with Year-over-Year Change

建設費の指数(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.

Input parameters:

- `country` (string): 国で絞る: JP 日本、US 米国。 / Country filter: JP for Japan, US for the United States.
- `from` (string): 始め(2020, 2020Q1, 2020-01, FY2020)。 / Start period.
- `limit` (integer): 返す系列の上限(1〜20)。 / Maximum series to return (1 to 20).
- `query` (string): 系列名(例: NHCCI)。 / Series name.
- `source_id` (string): 出典 ID で絞る(get_jccdb_coverage に detail:true を渡すと一覧が出る)。 / Source id filter; get_jccdb_coverage with detail:true lists the ids.
- `to` (string): 終わり(含む)。 / End period (inclusive).

Output parameters:

- `count` (number): 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.
- `did_you_mean`: Near matches, when an exact match was not found.
- `lookup` (string): 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 abo…
- `series`: 系列(時点と値、前年同期比は computed:true) / series with computed year-over-year
- `source_read` (boolean): 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.
- `yoy_note`: 前年同期比の説明 / year-over-year note

### `get_us_construction_prices` (~865 tokens)

Get U.S. Construction Prices (all layers: prevailing wages, wages, bids, equipment, permits, indexes, cost limits)

米国の公的な建設費データベースを 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.

Input parameters:

- `geo` (string): 州・郡 FIPS(county:06037)・都市圏 CBSA(cbsa:31080)・市(Austin, TX)・郡の名前(Los Angeles County, CA)。 / State, county FIPS, CBSA, place or county name.
- `include_national` (boolean): 州を指定したとき全国一律・地域一律の行も返す(既定 true。郡・都市圏・市では既定 false)。 / Include national and regional rows (default true for a state).
- `layer` (string): データの種類: material 資材、labor 労務単価、work 工事の単価、equipment 機械損料、index 指数、wage 賃金統計、bid_item 入札の品目単価、cost_sqft 面積あたり工事費、spending 工事支出と建築許可、house_price 住宅価格、cost_limit 費用の上限。国ごとの有無は get_jccdb_coverage で確かめる。…
- `limit` (integer): 返す行の上限(1〜100)。 / Maximum rows to return (1 to 100).
- `offset` (integer): 飛ばす行の数。limit と組んで次のページを取る。 / Rows to skip; use with limit to page through results.
- `period` (string): 時点(2024, 2025-05, 2025Q4, FY2026)。 / Period.
- `query` (string): 品目・職種(英語。例: excavation, carpenters)。 / Item or occupation in English.
- `source_id` (string): 出典 ID で絞る(get_jccdb_coverage に detail:true を渡すと一覧が出る)。 / Source id filter; get_jccdb_coverage with detail:true lists the ids.
- `state` (string): 州名・略号・FIPS(California, CA, 06, カリフォルニア)。 / State name, abbreviation or FIPS.

Output parameters:

- `by_layer`: 種類別の件数 / counts by layer
- `count` (number): 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.
- `did_you_mean`: Near matches, when an exact match was not found.
- `license_note`: 利用条件 / licence note
- `lookup` (string): 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 abo…
- `rows`: 1 行 1 観測 / one row per observation
- `source_read` (boolean): 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.

### `get_jccdb_coverage` (~460 tokens)

Get JCCDB Observation Coverage (what exists, what does not)

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).

Input parameters:

- `country` (string): 国で絞る: JP 日本、US 米国。 / Country filter: JP for Japan, US for the United States.
- `detail` (boolean): true で出典ごとの行も返す(既定は要約: layer ごとの件数と出典の系統の上位 5。米国の非公開の層の件数も付く)。 / true for per-source rows; the default is a summary.
- `geo` (string): 地域(都道府県・州)。 / Region.
- `layer` (string): データの種類: material 資材、labor 労務単価、work 工事の単価、equipment 機械損料、index 指数、wage 賃金統計、bid_item 入札の品目単価、cost_sqft 面積あたり工事費、spending 工事支出と建築許可、house_price 住宅価格、cost_limit 費用の上限。国ごとの有無は get_jccdb_coverage で確かめる。…

Output parameters:

- `absent`: 無い組み合わせ / combinations not ingested
- `count` (number): 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.
- `did_you_mean`: Near matches, when an exact match was not found.
- `lookup` (string): 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 abo…
- `matrix`: 国 x 種類 x 出典の件数 / rows by country, layer and source
- `source_read` (boolean): 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.
- `total_rows`: 行数 / total rows

### `get_us_prevailing_wage` (~401 tokens)

Get U.S. Davis-Bacon Prevailing Wages (base and fringe)

米国 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.

Input parameters:

- `construction_type` (string): Building / Heavy / Highway / Residential。 / Construction type.
- `county` (string): 郡 FIPS 5桁か郡の名前(Los Angeles)。 / County FIPS or name.
- `decision` (string): 決定番号(例 CA20260001)。 / Wage determination number.
- `limit` (integer): 返す行の上限(1〜100)。 / Maximum rows to return (1 to 100).
- `offset` (integer): 飛ばす行の数。limit と組んで次のページを取る。 / Rows to skip; use with limit to page through results.
- `state` (string): 州名・略号・FIPS。 / State.
- `trade` (string): 職種(英語。例: carpenter, electrician, laborer)。 / Trade in English.

Output parameters:

- `count` (number): 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.
- `coverage_note`: 取り込んだ州の範囲 / state coverage
- `did_you_mean`: Near matches, when an exact match was not found.
- `lookup` (string): 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 abo…
- `rates`: 基本時給と付加給付(決定番号・出典つき) / base wage and fringe with decision number
- `source_read` (boolean): 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.

### `get_us_permits` (~460 tokens)

Get U.S. Building Permits (counts, valuation, per unit, city quartiles)

米国の建築許可を地域と年で引く: 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.

Input parameters:

- `geo` (string): 州・郡(FIPS か 'Multnomah County, OR')・都市圏(cbsa:38900)・市(Austin, TX)。無ければ全国。 / State, county, CBSA or place; national if omitted.
- `limit` (integer): 返す行の上限(1〜100)。 / Maximum rows to return (1 to 100).
- `offset` (integer): 飛ばす行の数。limit と組んで次のページを取る。 / Rows to skip; use with limit to page through results.
- `source` (string): 出典: bps は Census Building Permits Survey、city は市の許可データ、all は両方(既定)。 / bps for the Census Building Permits Survey, city for city permit records, all for both (default).
- `structure` (string): 建物あたりの戸数の区分: 1-unit 戸建て、2-units、3-4 units、5+ units 集合住宅。 / Units per building: 1-unit, 2-units, 3-4 units, 5+ units.
- `year` (string): 年(2024)。 / Year.

Output parameters:

- `bps`: Census BPS の棟数・戸数・工事額 / Census BPS
- `city_permits`: 市の許可の申告工事額の分布 / city permit valuations
- `count` (number): 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.
- `did_you_mean`: Near matches, when an exact match was not found.
- `lookup` (string): 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 abo…
- `source_read` (boolean): 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.

### `get_us_area_factor` (~381 tokens)

Get U.S. Location Cost Factors (DoD Area Cost Factor, USACE state adjustment)

米国の場所ごとの建設費の係数を引く: 国防総省の 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.

Input parameters:

- `geo` (string): 州・郡・ZIP(zip:28533)・市(Cherry Point, NC)・国外(country:JP)。 / State, county, ZIP, city or overseas country.
- `include_history` (boolean): true で CWCCIS の州の調整係数を年ごとに返す。 / true to return the yearly CWCCIS state adjustment series.
- `installation` (string): 施設の名前(例: Fort Bragg)。 / Installation name.
- `limit` (integer): 返す行の上限(1〜100)。 / Maximum rows to return (1 to 100).
- `offset` (integer): 飛ばす行の数。limit と組んで次のページを取る。 / Rows to skip; use with limit to page through results.

Output parameters:

- `acf_stats`: 係数の要約 / factor summary
- `count` (number): 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.
- `did_you_mean`: Near matches, when an exact match was not found.
- `lookup` (string): 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 abo…
- `sites`: 施設ごとの係数 / factors by installation
- `source_read` (boolean): 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.
- `state_adjustment_factor`: USACE の州の係数 / USACE state factor

### `get_us_price_chain` (~475 tokens)

Get U.S. Material Price Chain (landed import cost to wholesale, retail and contractor)

米国で建材や化学品が流通の各段でいくらになるかを計算して返す: 輸入の陸揚げ原価(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.

Input parameters:

- `hs` (string): HS の頭 2〜10 桁(例 2523 セメント、4412 合板、3917 樹脂管、6907 タイル)。 / HS code prefix.
- `include_thin` (boolean): 取引の薄い品目も入れる(既定は外す)。 / Include thinly traded items.
- `limit` (integer): 返す行の上限(1〜50)。 / Maximum rows to return (1 to 50).
- `query` (string): 英語の品名(例 plywood, portland cement, pvc pipe, ceramic tiles)。 / Product name in English.

Output parameters:

- `count` (number): 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.
- `did_you_mean`: Near matches, when an exact match was not found.
- `how_to_cite`: 引用の仕方 / how to cite
- `lookup` (string): 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 abo…
- `markups`: 元請の上乗せ率(州の交通局の原本) / contractor markups from state DOT originals
- `rows`: 品目ごとの陸揚げ・卸・小売・元請(式・出典・sha256) / landed, wholesale, retail, contractor with formula and sources
- `source_read` (boolean): 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.

### `get_us_import_landed_cost` (~380 tokens)

Get U.S. Landed Import Cost by HS Code and Partner Country

米国に輸入される建材と化学品の陸揚げ原価を 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.

Input parameters:

- `country` (string): 相手国(英語の国名か Census の国コード 4 桁)。 / Partner country.
- `hs` (string): HS の頭 2〜10 桁(例 7214 棒鋼)。 / HS code prefix.
- `limit` (integer): 返す行の上限(1〜50)。 / Maximum rows to return (1 to 50).
- `query` (string): 英語の品名。 / Product name in English.
- `top_countries` (integer): 相手国の上位を何か国返すか(1〜20、既定 5。country を渡したときは使わない)。 / Number of top partner countries (1 to 20, default 5; ignored when country is given).

Output parameters:

- `count` (number): 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.
- `did_you_mean`: Near matches, when an exact match was not found.
- `how_to_cite`: 引用の仕方 / how to cite
- `lookup` (string): 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 abo…
- `rows`: HS 10 桁ごとの CIF・関税・単価 / CIF, duty and unit cost by HS code
- `source_read` (boolean): 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.

### `get_us_trade_margins` (~505 tokens)

Get U.S. Wholesale and Retail Gross Margins (Census) and BEA Margin Structure

米国の卸と小売の粗利率を 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.

Input parameters:

- `commodity` (string): BEA の品目の語(英語。例 cement, lighting)。 / BEA commodity words.
- `history` (boolean): true で年ごと。 / All years.
- `include_bea` (boolean): true で BEA 2007 の流通構造(生産者価格・運賃・卸・小売・購入者価格)も返す。 / true to add the BEA 2007 margin structure (producer price, freight, wholesale, retail, purchaser price).
- `limit` (integer): 返す行の上限(1〜200)。 / Maximum rows to return (1 to 200).
- `naics` (string): NAICS の頭(4233 建材卸、423720 配管・暖房卸、4441 建材小売、444110 ホームセンター)。 / NAICS prefix.
- `query` (string): 業種の語(英語。例 plumbing, paint)。 / Industry words in English.
- `trade` (string): wholesale 卸 か retail 小売 で絞る。 / Filter to wholesale or retail.
- `year` (string): 年(例 2022。AIES は 2024)。 / Year, e.g. 2022 (AIES covers 2024).

Output parameters:

- `count` (number): 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.
- `did_you_mean`: Near matches, when an exact match was not found.
- `lookup` (string): 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 abo…
- `margin_index`: マージン物価指数 / trade-margin price indexes
- `rows`: NAICS ごとの粗利率と kake_cost_ratio / margins and cost ratio by NAICS
- `source_read` (boolean): 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.

### `get_us_contract_discounts` (~544 tokens)

Get U.S. Public Contract Discount Rates off List Price (kake ratio)

州と共同購買の契約書が公開している、定価からの値引き率を返す(ワシントン州 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.

Input parameters:

- `basis` (string): 値引きの基準で絞る: MSRP Discount 定価からの値引き、Over MSRP 定価への上乗せ、Catalog Off 業者の目録からの値引きなど。 / Discount basis filter, e.g. MSRP Discount, Over MSRP, Catalog Off.
- `limit` (integer): 返す行の上限(1〜100)。 / Maximum rows to return (1 to 100).
- `manufacturer` (string): メーカー名(英語)。 / Manufacturer name.
- `offset` (integer): 飛ばす行の数。limit と組んで次のページを取る。 / Rows to skip; use with limit to page through results.
- `query` (string): メーカー・製品系列・分野・業者の語(英語)。 / Manufacturer, product line, category or vendor words.
- `source_id` (string): 契約の出典: 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-…
- `vendor` (string): 業者名(英語。例 Grainger, Fastenal)。 / Vendor name.

Output parameters:

- `count` (number): 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.
- `did_you_mean`: Near matches, when an exact match was not found.
- `lookup` (string): 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 abo…
- `rows`: 契約・メーカーごとの値引き率と kake_ratio / discount and kake ratio
- `source_read` (boolean): 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.
- `summary_by_vendor`: メーカーごとの要約 / summary by vendor

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ogasurfproject-jpg-construction-cost-data/ccdb#diagnostics

## Score history

- 2026-10-24: 77
- 2026-10-23: 77
- 2026-10-22: 77
- 2026-10-21: 76
- 2026-10-20: 76
- 2026-10-19: 75
- 2026-10-18: 75
- 2026-10-17: 74
- 2026-10-16: 74
- 2026-10-15: 73
- 2026-10-14: 73
- 2026-10-13: 72
- 2026-10-12: 72
- 2026-10-11: 71
- 2026-10-10: 71
- 2026-10-05: 69
- 2026-10-04: 68
- 2026-10-03: 68
- 2026-10-02: 67

## Common questions

### What is the HORIZON SHIELD Construction Cost Data: JCCDB (Japan) and… MCP server?

HORIZON SHIELD Construction Cost Data: JCCDB (Japan) and… is an MCP server listed in the public MCP registry as io.github.ogasurfproject-jpg/construction-cost-data. Public construction cost data for Japan and the U.S., each row with its source URL and licence. This page covers its hosted endpoint (https://ccdb.horizonshield.dev/mcp).

### Is the HORIZON SHIELD Construction Cost Data: JCCDB (Japan) and… MCP server safe to use?

HORIZON SHIELD Construction Cost Data: JCCDB (Japan) and… scores 77 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the HORIZON SHIELD Construction Cost Data: JCCDB (Japan) and… MCP server expose?

HORIZON SHIELD Construction Cost Data: JCCDB (Japan) and… exposes 15 tools: search_jccdb_items, get_jccdb_observations, get_jccdb_labor_rate, compare_jccdb_regions, get_jccdb_work_unit_price, and 10 more. Their descriptions and schemas cost roughly 6,926 tokens of context every time the server is loaded.

### Does the HORIZON SHIELD Construction Cost Data: JCCDB (Japan) and… MCP server require authentication?

No. We connected to HORIZON SHIELD Construction Cost Data: JCCDB (Japan) and… without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the HORIZON SHIELD Construction Cost Data: JCCDB (Japan) and… MCP server still maintained?

HORIZON SHIELD Construction Cost Data: JCCDB (Japan) and… is still listed as active in the MCP registry. We last reached this channel on 24 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://ccdb.horizonshield.dev/mcp
- Repository: https://github.com/ogasurfproject-jpg/horizon-shield
- Website: https://ccdb.horizonshield.dev/
- Changelog RSS feed: https://verifymcp.io/servers/ogasurfproject-jpg-construction-cost-data/ccdb.xml
- Changelog JSON feed: https://verifymcp.io/servers/ogasurfproject-jpg-construction-cost-data/ccdb.json
- HTML version of this page: https://verifymcp.io/servers/ogasurfproject-jpg-construction-cost-data/ccdb
