Skip to main content
Glama
Izyuusya
by Izyuusya

japan-data-mcp

日本の地域分析・比較に特化した MCP(Model Context Protocol)サーバーです。

e-Stat(政府統計の総合窓口)国税庁 法人番号公表サイト国土交通省 不動産情報ライブラリ適格請求書発行事業者公表サイト の API を通じて 日本の公的データにアクセスし、人間が読みやすい形式に自動変換して返します。

解説記事: e-Stat APIを100回叩いてわかった、政府データが宝の持ち腐れな件|DATA POPCORN

特徴

  • コード自動変換 — e-Stat が返すコード番号(13000東京都)を名称に自動変換

  • 全国市区町村対応 — 47 都道府県 + 20 政令指定都市 + 全国約 1,700 市区町村に対応

  • 地域比較 — 複数地域のデータをピボットテーブルで並べて比較

  • プリセット分析 — 統計表 ID を知らなくても、地域名だけで人口データや地域プロファイルを取得

  • 法人検索 — 法人名から企業の法人番号・所在地・種別を検索

  • インボイス確認 — 会社名からインボイス登録番号を検索、登録状況・有効性を確認

  • 不動産取引価格 — 地域の不動産取引データと価格サマリーを取得

  • データ検証 — 全ての出力にデータ出典・検証リンク・取得日時を付与

Related MCP server: MLIT Geospatial MCP Server

提供ツール一覧

統計データ(e-Stat API)

ツール名

説明

search_statistics

キーワードで統計表を検索

get_regional_data

指定地域の統計データを取得(summary=True で最新データのみ)

compare_regions

複数地域のデータを比較(ピボットテーブル)

get_meta_info

統計表のメタ情報(分類コード体系)を確認

resolve_area

地域名 → 地域コードを検索

list_available_stats

統計分野コードの一覧を表示

get_population

地域の人口データを自動取得(プリセット)

get_regional_profile

地域の総合プロファイルを自動取得(プリセット)

法人情報(法人番号 Web-API)

ツール名

説明

search_corporations

法人名で企業を検索(地域・種別で絞り込み可)

get_corporation

法人番号から企業の詳細情報を取得

インボイス(適格請求書発行事業者公表 Web-API)

ツール名

説明

search_invoice_by_name

会社名からインボイス登録番号を検索(法人のみ)

check_invoice_registration

登録番号(T+13桁)でインボイス登録状況を確認

validate_invoice_on_date

指定日時点でのインボイス登録有効性を確認

不動産取引(不動産情報ライブラリ API)

ツール名

説明

get_real_estate_transactions

不動産取引価格情報を取得(価格サマリー付き)

セットアップ

1. インストール

# uv(推奨)
uv add japan-data-mcp

# pip
pip install japan-data-mcp

# ソースから
git clone https://github.com/Izyuusya/japan-data-mcp.git
cd japan-data-mcp
uv sync

2. APIキー設定

対話的セットアップコマンドで簡単に設定できます:

japan-data-mcp setup

画面の案内に従って API キーを入力すると .env ファイルが自動生成されます。

必要なAPIキー

環境変数

API

必須

取得先

ESTAT_APP_ID

e-Stat API

必須

e-Stat API ガイド

CORP_APP_ID

法人番号 Web-API

任意

法人番号公表サイト(発行まで2〜4週間)

REALESTATE_API_KEY

不動産情報ライブラリ API

任意

不動産情報ライブラリ

  • e-Stat API は必須 です。未設定の場合サーバーが起動しません。

  • 法人番号・不動産 API は任意です。未設定でも他の機能は正常に動作します。

  • CORP_APP_ID はインボイスAPIでも共用されます(追加キー不要)。

  • 全て 無料 で取得できます。

手動設定する場合

プロジェクトルートに .env ファイルを作成:

ESTAT_APP_ID=あなたのアプリケーションID
CORP_APP_ID=あなたのアプリケーションID
REALESTATE_API_KEY=あなたのAPIキー

3. サーバー起動

japan-data-mcp

Claude Desktop での設定

claude_desktop_config.json に以下を追加してください。

uv でインストールした場合

{
  "mcpServers": {
    "japan-data-mcp": {
      "command": "uv",
      "args": ["run", "japan-data-mcp"],
      "env": {
        "ESTAT_APP_ID": "あなたのアプリケーションID",
        "CORP_APP_ID": "あなたのアプリケーションID(任意)",
        "REALESTATE_API_KEY": "あなたのAPIキー(任意)"
      }
    }
  }
}

pip でインストールした場合

{
  "mcpServers": {
    "japan-data-mcp": {
      "command": "japan-data-mcp",
      "env": {
        "ESTAT_APP_ID": "あなたのアプリケーションID",
        "CORP_APP_ID": "あなたのアプリケーションID(任意)",
        "REALESTATE_API_KEY": "あなたのAPIキー(任意)"
      }
    }
  }
}

ヒント: .env ファイルに設定済みの場合は env セクションを省略できます。

使用例

地域の人口データを取得する

get_population("札幌市")

複数地域を比較する

compare_regions(
    stats_data_id="0003433219",
    areas=["札幌市", "仙台市", "福岡市"]
)

法人を検索する

search_corporations("トヨタ", area="愛知県")

インボイス登録を確認する

search_invoice_by_name("トヨタ自動車", area="愛知県")

不動産取引価格を調べる

get_real_estate_transactions("札幌市", year=2023)

地域の総合プロファイルを取得する

get_regional_profile("東京都")

人口・経済・労働など複数分野のデータをまとめて取得し、1 つのレポートとして返します。

開発

# 依存関係のインストール
uv sync

# テスト実行
uv run python -m pytest tests/ -v

# サーバーの直接起動
uv run japan-data-mcp

出典

このプロジェクトは以下の API を利用しています:

このサービスは各 API 提供元のデータを利用していますが、サービスの内容は各機関によって保証されたものではありません。

ライセンス

MIT License

Available Tools

14 tools
check_invoice_registrationA

適格請求書発行事業者の登録情報を登録番号で確認する.

インボイス制度に基づく適格請求書発行事業者の登録状況・ 名称・所在地などを確認できる。

Args: number: 登録番号(T+13桁の数字、例: "T1234567890123")。 カンマ区切りで最大10件まで同時に検索可能。 history: 変更履歴を含めるか(デフォルト: False)

Returns: 登録事業者の情報(マークダウン)

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYes
historyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that the tool returns markdown, supports up to 10 comma-separated numbers, and includes a history flag. However, it does not explicitly state that the operation is read-only or disclose any potential side effects, rate limits, or error behaviors. Adequate but not rich.

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

Conciseness5/5

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

The description is well-structured with a clear purpose statement followed by an Args/Returns section. It is concise, with no fluff, and front-loads the primary purpose. The docstring-like format aids readability.

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

Completeness4/5

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

The description covers all essential elements for a check tool: purpose, parameters, and return format (markdown). Since an output schema exists, detailed return structure is not required. Minor gaps like error handling or prerequisites are not critical for this simple read operation.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate. It does so thoroughly: it explains the 'number' parameter format (T+13 digits, example provided, comma-separated up to 10), and the 'history' parameter (whether to include change history, default False). This adds substantial meaning beyond the raw schema and fully covers both parameters.

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

Purpose5/5

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

The description states a specific verb ('確認する' - check), resource ('適格請求書発行事業者の登録情報' - registration info of qualified invoice issuers), and method ('登録番号で' - by registration number). It clearly distinguishes from siblings like search_invoice_by_name and validate_invoice_on_date by specifying the identifier type. The purpose is unambiguous and not a tautology.

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

Usage Guidelines3/5

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

The description implies usage: if you have a registration number, use this tool. However, it does not explicitly mention alternatives or when not to use it. No sibling routing is provided. This is implied usage rather than explicit guidance, so it falls short of a higher score.

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

compare_regionsA

複数地域の統計データを比較する.

時間軸(年)を行、地域を列にしたピボットテーブルを生成。

Args: stats_data_id: 統計表ID(search_statistics で取得) areas: 比較する地域名のリスト(例: ["東京都", "大阪府", "愛知県"]) tab_code: 表章項目コード(特定の指標に絞り込む場合) cat01_code: 分類事項01コード(特定のカテゴリに絞り込む場合)

Returns: 地域比較のピボットテーブル(マークダウン)

ParametersJSON Schema
NameRequiredDescriptionDefault
areasYes
tab_codeNo
cat01_codeNo
stats_data_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries full behavioral burden. It discloses the return format (Markdown pivot table), the structural orientation (years as rows, regions as columns), and the filtering behavior of optional codes. It stops short of discussing error handling or area resolution, but for a read-style data retrieval tool this is solid coverage.

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

Conciseness5/5

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

The description is front-loaded with the core purpose, immediately followed by the pivot-table structure, then an Args list and Returns line. Every sentence serves a functional role; there is no filler or redundant restatement of the tool name.

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

Completeness4/5

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

All required parameters are explained with examples, and the return format is specified. The description could optionally mention how to discover tab_code/cat01_code values (e.g., via get_meta_info), but that is a minor gap given these are optional and an agent can infer the workflow from sibling tools.

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

Parameters5/5

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

Schema coverage is 0%, so the description is the sole source of parameter meaning. Each parameter gets a purpose: stats_data_id is sourced from search_statistics, areas includes a concrete example list, tab_code is for filtering by indicator, and cat01_code is for filtering by category. This adds substantial meaning beyond bare titles and types.

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

Purpose5/5

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

The description opens with a clear verb and object: '複数地域の統計データを比較する' (compare statistical data across multiple regions), and specifies the output artifact: a pivot table with time as rows and regions as columns. This distinguishes it from sibling tools focused on single-region data (get_regional_data, get_population) or metadata lookup (get_meta_info).

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

Usage Guidelines4/5

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

The description clearly frames the tool's context: comparing multiple regions' statistics. It also provides a prerequisite: stats_data_id is obtained via search_statistics. It does not explicitly name alternatives or exclusions, but the intended use case is clear enough for an agent to select it over get_regional_data or get_regional_profile.

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

get_corporationA

法人番号から企業の詳細情報を取得する.

13桁の法人番号を指定して、法人の正式名称・所在地・種別などを取得。

Args: corp_number: 法人番号(13桁の数字)

Returns: 法人の詳細情報(マークダウン)

ParametersJSON Schema
NameRequiredDescriptionDefault
corp_numberYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the return format (markdown) but does not mention error behavior (e.g., invalid or missing number), authentication requirements, rate limits, or that it is a read-only operation. This is a notable gap for a tool with zero annotation coverage.

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

Conciseness5/5

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

The description is brief and well-structured, with a clear one-line purpose followed by an Args/Returns block. No unnecessary text; every sentence earns its place. The purpose is front-loaded.

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

Completeness4/5

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

For a simple single-parameter lookup with an output schema, the description covers the core: what it does, what to provide, and the return format. It does not explain error cases or when to use it versus siblings, but given the tool's simplicity and the output schema, it is reasonably complete. A slightly richer description would improve this.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It explains the parameter corp_number as a 13-digit number, giving its format and purpose. This adds meaning beyond the plain string schema, though it could mention formatting nuances (e.g., leading zeros) or validation rules.

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

Purpose5/5

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

The description clearly states the tool retrieves corporate details from a corporate number (法人番号), listing specific fields (official name, location, type). It differentiates itself from search_corporations by requiring the exact 13-digit number, so an agent can distinguish it without opening schemas.

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

Usage Guidelines3/5

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

Usage is implied: the tool requires a 13-digit corporate number, so it is used when that number is available. However, it does not explicitly say when to prefer this over search_corporations or other siblings, nor does it mention any exclusions or alternatives.

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

get_meta_infoA

統計表のメタ情報(分類コード体系)を取得する.

統計表にどのような次元(地域・時間・カテゴリ等)があるか、 各次元にどのようなコードが定義されているかを確認できる。 データ取得前の下調べに便利。

Args: stats_data_id: 統計表ID(search_statistics で取得)

Returns: 分類オブジェクトの一覧(各次元のコード→名称マッピング)

ParametersJSON Schema
NameRequiredDescriptionDefault
stats_data_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that the operation retrieves information and returns a list of classification objects, implying a read-only action. Yet it does not explicitly state that it has no side effects, mention any permissions, or address potential errors. The disclosure is adequate but not rich.

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

Conciseness4/5

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

The description is concise, with the main purpose front-loaded and a clear Args/Returns structure. It avoids redundancy and includes useful explanatory detail about dimensions and code mappings without unnecessary length. Slightly more detail than strictly needed, but still well-structured.

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

Completeness4/5

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

Given the tool has a single parameter and an existing output schema, the description covers the essential context: what it does, what it returns, and how to source the parameter. It mentions the pre-research use case. It does not delve into error cases or edge conditions, but for a simple get tool with an output schema, this is sufficient.

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

Parameters4/5

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

The schema provides zero description coverage for the only parameter, stats_data_id. The description compensates by explaining that it is the statistical table ID and that it is obtained via search_statistics, linking to a sibling tool. This adds practical meaning beyond the schema's bare type and required flag.

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

Purpose5/5

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

The description clearly states the tool retrieves meta information (classification code system) for a statistical table, specifying the verb '取得する' and the resource. It explains what that entails (dimensions and code mappings) and distinguishes itself from data-retrieval siblings by framing it as pre-research before data acquisition.

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

Usage Guidelines4/5

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

The description provides clear usage context: it is useful for preliminary research before data acquisition, and it references how to obtain the required ID via search_statistics. However, it does not explicitly name alternative tools or conditions when not to use it, so it falls short of a 5.

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

get_populationA

地域の人口データを自動取得する(プリセット).

統計表IDを知らなくても、地域名を指定するだけで 人口推計や国勢調査から人口推移データを取得できる。

Args: area: 地域名(例: "東京都")または地域コード(例: "13000")

Returns: 人口推移の整形済みレポート(マークダウン)

ParametersJSON Schema
NameRequiredDescriptionDefault
areaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description must carry the transparency burden. It discloses the data sources (population estimates and census) and the output format (markdown report), which is useful. However, it omits details such as error handling for invalid areas, data freshness, or whether the operation is read-only. Given the simplicity, this is adequate but not thorough.

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

Conciseness5/5

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

The description is concise and well-structured with Args and Returns sections. The main purpose is front-loaded, and every sentence provides necessary information. No redundant phrasing or unnecessary details.

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

Completeness4/5

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

For a single-parameter tool with an output schema, the description covers the essential aspects: what it does, how to specify the area, and the return format. It could mention edge cases like invalid area names or the time range of data, but given the simplicity and presence of an output schema, it is largely complete.

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

Parameters4/5

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

Schema coverage is 0%, so the description must explain the parameter. It does so clearly, stating 'area' accepts either a region name (e.g., 東京都) or a region code (e.g., 13000), with concrete examples. This fully compensates for the lack of schema description.

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

Purpose4/5

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

The description clearly states the tool retrieves population data for a region automatically, using population estimates and census data, and returns a formatted markdown report. It distinguishes itself by noting it does not require knowing the statistical table ID, which hints at an alternative but does not explicitly contrast with siblings.

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

Usage Guidelines3/5

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

It implies usage: just specify a region name or code, no need for a statistical table ID. However, it does not explicitly state when to prefer this tool over alternatives like search_statistics or get_regional_data, nor does it mention when not to use it. The guidance is implicit rather than explicit.

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

get_real_estate_transactionsA

不動産取引価格情報を取得する.

国土交通省の不動産情報ライブラリから、指定地域の不動産取引データを取得。 取引種別・価格・面積・建築年・最寄駅などの情報を含む。

Args: area: 地域名(例: "東京都", "水戸市")または地域コード year: 取引年で絞り込み(例: 2023) quarter: 四半期で絞り込み(1〜4)

Returns: 不動産取引データの一覧と価格サマリー(マークダウン)

ParametersJSON Schema
NameRequiredDescriptionDefault
areaYes
yearNo
quarterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are present, so the description carries the behavioral disclosure burden. It names the external data source, lists the included data fields, and states the return format as a list plus markdown summary. It does not mention auth, rate limits, or error handling, but for a public-data retrieval tool the essential behavior is disclosed.

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

Conciseness5/5

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

The description is compact and well-structured with a summary sentence followed by Args and Returns sections. Every sentence adds useful information and there is no filler or repetition.

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

Completeness4/5

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

Given the output schema, the parameter explanations, and the stated return format, an agent has enough to invoke the tool correctly. Minor gaps remain around valid area-code formats and possible error conditions, but these are not critical for a straightforward retrieval tool.

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

Parameters5/5

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

Schema description coverage is 0%, so the description fully compensates by defining all three parameters: area as a region name or code with examples, year as a transaction-year filter, and quarter as a 1–4 range. This adds meaning that the raw schema completely lacks.

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

Purpose5/5

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

States a specific verb and resource: retrieves real estate transaction price information from the MLIT real estate information library. It also lists the data fields included, such as transaction type, price, area, construction year, and nearest station, which clearly distinguishes it from sibling tools like get_population or get_regional_data.

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

Usage Guidelines4/5

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

Gives clear usage context: the tool is for obtaining real estate transaction data for a specified area, with optional filtering by year and quarter. It does not explicitly name alternatives or exclusion conditions, but the intended context is unambiguous.

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

get_regional_dataA

指定した地域の統計データを取得し、整形して返す.

コード番号は自動的に人間が読める名称に変換される。

Args: stats_data_id: 統計表ID(search_statistics で取得) area: 地域名(例: "東京都")または地域コード(例: "13000") tab_code: 表章項目コード(特定の指標に絞り込む場合) time_code: 時間軸コード(特定の年に絞り込む場合) cat01_code: 分類事項01コード(特定のカテゴリに絞り込む場合) limit: 取得件数上限(デフォルト1000) summary: Trueの場合、最新時点の主要指標のみ返す(データ量を大幅に削減)

Returns: 整形済みの統計データ(マークダウンテーブル)

ParametersJSON Schema
NameRequiredDescriptionDefault
areaYes
limitNo
summaryNo
tab_codeNo
time_codeNo
cat01_codeNo
stats_data_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that codes are automatically converted to human-readable names, returns a markdown table, and that the summary option reduces data volume. However, it does not mention whether the operation is read-only, any error handling, rate limits, or side effects, leaving gaps in behavioral transparency.

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

Conciseness5/5

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

The description is concise and well-structured: a brief purpose statement, a note about code conversion, an organized Args list with each parameter on its own line, and a Returns section. No redundant information, and the structure makes it easy to scan.

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

Completeness4/5

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

Given the output schema exists, return values are covered. The description covers all parameters, mentions the summary behavior, and the prerequisite of search_statistics. However, it lacks guidance on when to use this tool vs siblings, and doesn't mention error scenarios or edge cases, leaving some contextual gaps.

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

Parameters5/5

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

The schema has 0% description coverage, so the description must fully compensate. It explains every parameter: stats_data_id (from search_statistics), area (with examples), tab_code, time_code, cat01_code (filtering), limit (with default), and summary (with behavior). This is comprehensive and adds meaning beyond the bare schema.

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

Purpose4/5

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

The description clearly states the tool retrieves and formats regional statistics data, with a specific verb and resource. It also mentions code conversion. However, it does not explicitly differentiate itself from siblings like get_population or get_regional_profile, so the agent must infer which tool fits based on names.

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

Usage Guidelines2/5

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

The description mentions that stats_data_id is obtained from search_statistics, which implies a prerequisite. However, it provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions. There is no statement like 'use this for general statistics' or 'for population-specific data, use get_population'.

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

get_regional_profileB

地域の総合プロファイルを自動取得する(プリセット).

人口・経済・労働など複数分野の統計データを自動検索・取得し、 1つのレポートにまとめる。地域の概要を素早く把握したいときに便利。

Args: area: 地域名(例: "東京都")または地域コード(例: "13000")

Returns: 地域の総合プロファイル(マークダウン)

ParametersJSON Schema
NameRequiredDescriptionDefault
areaYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool searches and aggregates statistics but does not state safety (read-only), data sources, freshness, failure modes, or any side effects. The 'preset' nature is vague about what is included. This is a significant gap for a tool with zero annotation coverage.

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

Conciseness4/5

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

The description is concise and front-loaded with the main purpose, then explains the aggregation behavior and ends with a clear parameter description. The Args/Returns section is slightly redundant with the schema but not harmful. No filler words.

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

Completeness3/5

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

The output schema handles return format, so that's covered. However, the description doesn't mention whether area names need pre-resolution (sibling resolve_area exists), doesn't explain which statistics are included, and doesn't clarify the relationship to similar tools like get_regional_data or compare_regions. For an agent to call this correctly and confidently, additional context would help.

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

Parameters4/5

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

With schema coverage at 0%, the description compensates well by explaining the 'area' parameter: it accepts either a region name (e.g., '東京都') or a code (e.g., '13000'), providing concrete examples. This gives clear meaning beyond the bare string type.

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

Purpose4/5

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

The description states a clear verb ('自動取得する' – automatically retrieve) and resource ('地域の総合プロファイル' – comprehensive regional profile). The 'preset' aspect distinguishes it from sibling search tools like search_statistics, but it doesn't explicitly differentiate from get_regional_data or compare_regions, which could overlap.

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

Usage Guidelines3/5

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

It says the tool is useful '地域の概要を素早く把握したいときに' (when you want a quick overview), which gives a context but no explicit instructions on when to choose this over alternatives, nor any exclusions. It doesn't mention any prerequisites or setup.

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

list_available_statsA

利用可能な統計分野の一覧を表示する.

search_statistics の stats_field パラメータに使えるコードの一覧。

Returns: 統計分野コードと名称の一覧

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only mentions the output (codes and names) but does not disclose whether the operation is read-only, has any side effects, requires authentication, or has rate limits. Even though a list operation is low-risk, the description lacks explicit behavioral transparency.

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

Conciseness5/5

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

The description is brief and well-structured: a single sentence stating the purpose, a second sentence clarifying its relationship to search_statistics, and a clear 'Returns' line. Every sentence earns its place, and the critical usage context is front-loaded.

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

Completeness5/5

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

Given there are no parameters and an output schema exists (as indicated by the context signal), the description is complete. It clearly states what the tool does, what it returns, and how it relates to a sibling tool. Nothing essential is missing for an agent to correctly invoke it.

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

Parameters4/5

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

The tool has zero parameters, so schema coverage is 100% by default. The baseline for 0 parameters is 4. The description does not need to explain parameters, and it correctly references the related stats_field parameter of another tool without confusing it with its own. The description adds no extra parameter semantics, but none are needed.

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

Purpose5/5

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

The description clearly states the tool displays a list of available statistical categories (統計分野の一覧), with a specific verb '表示する' and resource. It explicitly connects to search_statistics' stats_field parameter, distinguishing it from sibling tools like get_regional_data or compare_regions. This makes the purpose unambiguous.

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

Usage Guidelines4/5

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

The description explicitly states this provides codes usable in the stats_field parameter of search_statistics, which is a clear usage context. It implies when to use it (before calling search_statistics) but does not explicitly state when not to use it or mention alternatives. The guidance is sufficient but could be more direct.

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

resolve_areaA

地域名から e-Stat の地域コードを検索する.

都道府県名の部分一致で検索可能。 「東京」→「東京都 (13000)」のように接尾辞なしでもマッチする。

Args: name: 地域名(例: "東京", "大阪府", "北海")

Returns: マッチした地域名と地域コードの一覧

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description must carry behavioral disclosure. It does explain matching behavior (prefix-based partial match) and example output format (name and code list). However, it omits details like whether the match is case-insensitive, handling of ambiguous matches, or potential multiple results. This is adequate but not exhaustive.

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

Conciseness5/5

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

The description is compact, well-structured, and front-loaded with the core purpose. It includes relevant examples and clear Args/Returns sections, with no unnecessary repetition or fluff. Every sentence earns its place.

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

Completeness4/5

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

For a tool with a single parameter and an output schema (implied by presence), the description covers the essential usage, matching logic, and output format. It could mention edge cases like empty results or how to handle multiple matches, but these are minor given the tool's simplicity.

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

Parameters4/5

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

Schema coverage is 0% since the schema only provides the parameter name 'name' with no description. The description fully compensates by explaining what the parameter expects (area name) with concrete examples, and also clarifies the interpretation (partial match, suffix-optional). This adds significant meaning beyond the bare schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: resolving area names to e-Stat area codes via partial matching. It provides concrete examples like '東京' → '東京都 (13000)', which fully distinguishes it from sibling tools that handle statistics, corporations, or invoices.

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

Usage Guidelines3/5

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

The description explains partial matching behavior with examples, but does not explicitly state when to prefer this tool over siblings or when not to use it. Usage is clear for the tool's own scope, but no exclusions or alternatives are mentioned.

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

search_corporationsA

法人名で企業を検索する.

国税庁の法人番号公表サイトから法人情報を検索。 地域や法人種別で絞り込み可能。

Args: name: 検索キーワード(法人名、部分一致) area: 地域名で絞り込み(都道府県名、例: "東京都") kind: 法人種別で絞り込み("01"=国の機関, "02"=地方公共団体, "03"=設立登記法人, "04"=その他) limit: 取得件数上限(デフォルト10、最大2000)

Returns: 法人情報の一覧(マークダウンテーブル)

ParametersJSON Schema
NameRequiredDescriptionDefault
areaNo
kindNo
nameYes
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It discloses that it queries the NTA site and returns a list as a markdown table, which is helpful. However, it does not explicitly state that the operation is read-only (though 'search' implies it), nor does it mention any potential rate limits, authentication requirements, or behavior when no results are found. It adds some value beyond the schema but not rich behavioral context.

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

Conciseness4/5

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

The description is well-structured with a clear heading and separate Args/Returns sections. It is concise, with each parameter explained in a single line. The main purpose is front-loaded. It is not overly verbose, but it could be slightly more compact; however, the structure earns a solid score.

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

Completeness4/5

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

The description covers all four parameters, explains the return format (markdown table), and specifies the data source. It does not address edge cases like empty results, invalid kind codes, or pagination beyond the limit parameter, but given that an output schema exists and the tool is a search operation, it is reasonably complete. The main missing piece is error handling, but that's not critical for invocation.

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

Parameters5/5

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

The input schema has zero descriptions for parameters, so the description fully compensates. It explains each parameter in detail: name (partial match), area (prefecture name, e.g., '東京都'), kind (specific codes with meanings: '01'=national agency, etc.), and limit (default 10, max 2000). This goes well beyond the schema's types and defaults, making it exceptionally helpful for correct invocation.

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

Purpose5/5

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

The description explicitly states the tool searches for corporations by corporate name using the National Tax Agency's corporate number publication site, and mentions filtering by region and type. It clearly identifies the verb ('search'), resource ('corporations'), and scope (by name, with optional filters). While it doesn't name sibling tools, the specificity of 'search by name' distinguishes it from get_corporation (likely fetching by ID) and search_invoice_by_name (different entity).

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

Usage Guidelines4/5

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

The description provides clear context: when you need to search for corporate information by name, with optional filters for area and kind. It does not explicitly mention when not to use it or point to alternative tools, but the usage scenario is evident from the purpose. This meets the 'clear context, no exclusions' bar.

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

search_invoice_by_nameA

会社名からインボイス登録番号を検索する.

法人番号APIで会社名を検索し、該当法人のインボイス登録状況を 自動で確認する。法人番号 → 登録番号(T+法人番号)の変換を 内部で行うため、登録番号を知らなくても検索できる。

※ 個人事業主は法人番号を持たないため、このツールでは検索できません。 個人事業主の場合は登録番号(T+13桁)を直接指定して check_invoice_registration をご利用ください。

Args: name: 検索キーワード(会社名、部分一致) area: 地域名で絞り込み(都道府県名、例: "東京都") limit: 取得件数上限(デフォルト5、最大10)

Returns: インボイス登録情報の一覧(マークダウン)

ParametersJSON Schema
NameRequiredDescriptionDefault
areaNo
nameYes
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses the internal pipeline (Corporate Number API search, invoice registration check, automatic conversion), a hard limitation (sole proprietors are not supported), and the markdown return format. It does not mention auth needs or rate limits, but those are less critical for a read-oriented search tool.

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

Conciseness5/5

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

The description is compact and front-loaded with the core purpose, followed by brief behavioral context, an exclusion/alternative note, and parameter documentation. Every sentence adds value and there is no filler.

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

Completeness5/5

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

For a search tool with an output schema, the description covers the operation, all parameter semantics, a key exclusion, and the correct alternative for unsupported users. No critical information is missing for an agent to invoke it correctly.

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

Parameters5/5

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

The schema has 0% description coverage, so the description fully compensates by defining all three parameters: name as a partial-match company keyword, area as a prefecture-level filter with an example, and limit with explicit default and maximum values.

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

Purpose5/5

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

The opening sentence states the specific function: 'Search invoice registration number by company name.' It also clarifies the internal mechanism (corporate number lookup and conversion to T + corporate number) and explicitly contrasts with check_invoice_registration, distinguishing it from siblings.

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

Usage Guidelines5/5

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

The description explicitly says when the tool cannot be used (sole proprietors) and directs users to the sibling check_invoice_registration as the alternative. It also implies the right use case: name-based lookup when the registration number is unknown.

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

search_statisticsA

キーワードで統計表を検索する.

Args: keyword: 検索キーワード(例: "人口", "国勢調査", "県内総生産") survey_years: 調査年で絞り込み(例: "2020", "2015-2020") stats_field: 統計分野コードで絞り込み(例: "02"=人口・世帯)。 list_available_stats で分野一覧を確認できます。 limit: 取得件数上限(デフォルト10)

Returns: 検索結果の統計表一覧(ID・統計名・タイトルなど)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
keywordYes
stats_fieldNo
survey_yearsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It discloses that the tool returns a list of statistical tables with IDs, names, and titles, and the verb '検索' implies a read-only operation. However, it does not explicitly confirm side-effect-free behavior, authorization requirements, or behavior when no results are found.

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

Conciseness5/5

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

The description is compact and well-organized: a one-line purpose, then Args and Returns sections. Every line adds value, including parameter examples and the sibling pointer. No redundant or vague prose.

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

Completeness4/5

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

For a 4-parameter tool with an output schema, the description covers all parameters, return shape, and a related sibling. Minor gaps remain: no explicit guidance about pagination or zero-result behavior, and no comparison against sibling search tools. Still, an agent can call the tool correctly with the provided information.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate. It does so thoroughly: every parameter gets an example or format note, including survey_years ranges ('2015-2020'), stats_field codes ('02'=人口・世帯), and limit's default. The pointer to list_available_stats adds actionable cross-tool context.

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

Purpose5/5

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

The description opens with a specific verb and resource ('キーワードで統計表を検索する') and immediately shows example keywords and filters. This clearly distinguishes search_statistics from siblings like search_corporations, get_population, and list_available_stats by scope and intent.

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

Usage Guidelines3/5

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

The description implies the tool is for keyword-based statistical table search and points to list_available_stats for stats_field codes. However, it does not explicitly state when to prefer this tool over siblings such as get_population or compare_regions, nor when not to use it.

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

validate_invoice_on_dateA

指定日時点での適格請求書発行事業者の登録有効性を確認する.

特定の取引日に事業者がインボイス発行資格を持っていたかを確認できる。

Args: number: 登録番号(T+13桁の数字、例: "T1234567890123") day: 確認日(YYYY-MM-DD形式、例: "2024-12-01")

Returns: 指定日時点の登録状態(マークダウン)

ParametersJSON Schema
NameRequiredDescriptionDefault
dayYes
numberYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that the operation is a confirmation (read-only in nature) and specifies the return format (markdown). However, it does not mention any prerequisites, error conditions, or potential side effects. For a simple validation tool, this is adequate but not comprehensive.

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

Conciseness5/5

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

The description is concise and well-structured. The main purpose is stated in the first sentence, followed by a clarifying sentence, then a clear Args/Returns section. There is no unnecessary verbosity; every sentence adds value.

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

Completeness3/5

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

The tool is simple with two parameters, and the description covers them well. However, it does not provide an output schema, and the return description is vague ('指定日時点の登録状態(マークダウン)'), leaving the exact structure of the markdown unspecified. For an agent to fully understand the response, more detail would be helpful, but it may be sufficient for a simple status check.

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

Parameters5/5

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

The schema provides no descriptions (0% coverage), so the description must fully explain parameters. It does so excellently: 'number' is described as a registration number with format (T+13 digits) and an example; 'day' is described as a date with format (YYYY-MM-DD) and an example. This adds essential meaning beyond the schema.

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

Purpose4/5

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

The description clearly states the tool's purpose: checking invoice registration validity as of a specific date. It uses a specific verb (確認する) and resource (登録有効性), and includes an additional explanatory sentence. However, it does not explicitly differentiate from the sibling 'check_invoice_registration', though the date-specific aspect is implied.

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

Usage Guidelines3/5

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

The description implies usage for checking historical registration status ('特定の取引日に'), but it does not explicitly state when to use this tool over alternatives, nor does it mention any exclusions. It would benefit from referencing the sibling tool for current-status checks.

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.

  1. 14 tool updatesv0.2.2
    • First observedcheck_invoice_registration
    • First observedcompare_regions
    • First observedget_corporation
    • First observedget_meta_info
    • First observedget_population
    • First observedget_real_estate_transactions
    • First observedget_regional_data
    • First observedget_regional_profile
    • First observedlist_available_stats
    • First observedresolve_area
    • First observedsearch_corporations
    • First observedsearch_invoice_by_name
    • First observedsearch_statistics
    • First observedvalidate_invoice_on_date

TDQS

A3.9/5.0

Scored across 14 tools

Disambiguation4/5

Most tools have clearly distinct purposes, and the descriptions help separate similar actions. A few pairs could be confused—search_corporations vs. search_invoice_by_name, and check_invoice_registration vs. validate_invoice_on_date—but their intent is still discernible.

Naming Consistency4/5

The tools almost all follow a snake_case verb_noun pattern, which is predictable and readable. Minor deviations like validate_invoice_on_date and search_invoice_by_name add prepositional modifiers, and check/validate are near-synonyms, so the consistency is not perfect.

Tool Count5/5

14 tools is well within a reasonable scope for a multi-domain Japan data server covering statistics, corporate records, real estate, and invoice registration. Each tool serves a distinct purpose, including presets that add convenience without bloating the set.

Completeness4/5

The server covers core end-to-end workflows: search/retrieve statistics, resolve codes, get metadata, compare regions, look up companies, fetch real estate transactions, and verify invoice registrations. Minor gaps exist, such as limited real-estate filtering and no area-only corporate browsing, but agents can work around them.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    B
    maintenance
    Enables access to Japan's official government statistics portal (e-Stat) API to search, retrieve, and analyze statistical data including census data, economic indicators, and demographic information across 17 statistical fields.
    13
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to query Japanese public data (laws, corporations, statistics) from official government APIs, returning normalized English metadata with source attribution.
    1
    MIT