Skip to main content
Glama
jpzip

jpzip MCP server

Official
by jpzip

mcp-server-jpzip

日本の郵便番号を Claude / 任意の MCP クライアントから引ける Model Context Protocol サーバー。jpzip.nadai.dev(Cloudflare Pages 配信の静的データ)を背後にもつ、stateless な stdio サーバー。

インストール (Claude Code)

claude mcp add jpzip -- npx -y @jpzip/mcp-server-jpzip

Claude Desktop など mcp.json を直接編集する場合:

{
  "mcpServers": {
    "jpzip": {
      "command": "npx",
      "args": ["-y", "@jpzip/mcp-server-jpzip"]
    }
  }
}

Related MCP server: Japan Area Code MCP Server

提供 Tool

Tool

用途

lookup_zipcode(zipcode)

郵便番号 → 住所(漢字/カナ/ローマ字 + JIS/総務省コード)

search_by_address(query, limit?)

住所文字列 → 郵便番号候補(漢字/カナ/ローマ字横断、空白無視の部分一致)

list_cities_in_prefecture(prefecture)

都道府県名 → 市区町村一覧(総務省コード付き)

get_metadata()

データバージョン・件数・生成時刻

動作モデル

  • lookup_zipcode は対応する 3 桁 prefix(数十KB)のみを CDN から取得し、メモリにキャッシュする。

  • search_by_address / list_cities_in_prefecture は初回呼び出し時に全件(約 25MB)を CDN から取得しメモリに保持する。同一 MCP プロセス内の以降の呼び出しは即時。

  • 永続キャッシュは持たない(stateless)。Claude の再起動で in-memory データは破棄され、次回必要になった時に再取得する。

既知の制約

  • 駅・路線・事業所情報は jpzip データセットに含まれない(郵便番号⇄住所のみ)。

  • 検索クエリは 1 言語(漢字 / カナ / ローマ字)内での連続部分一致のみ対応。例えば「Yokohama Honcho」(ローマ字で中区を飛ばす)はマッチしない。

ライセンス

MIT(コード) / 配信データは Public Domain 相当(日本郵便)。

Available Tools

4 tools
get_metadataA

Return the jpzip dataset metadata: data version (YYYY-MM), generated timestamp, total entry count, and per-prefecture counts. Useful for confirming the dataset is current.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, but the description lists all returned metadata fields, giving full transparency for a read-only operation.

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

Conciseness5/5

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

Two concise sentences with no fluff, directly stating action and output.

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 tool with no output schema, the description fully explains the return structure (version, timestamp, counts), making it 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?

The input schema has no parameters, so no additional parameter info is needed; the description suffices.

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 returns dataset metadata (version, timestamp, counts) with specific fields, leaving no ambiguity.

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 includes 'Useful for confirming the dataset is current,' which implies when to use it, though it does not explicitly exclude alternatives.

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

list_cities_in_prefectureA

List all municipalities (city / ward / town / village) in a Japanese prefecture, with their Soumu city codes. Prefecture name accepts kanji, katakana, or romaji. Shares the same in-memory dataset as search_by_address.

ParametersJSON Schema
NameRequiredDescriptionDefault
prefectureYesPrefecture name, e.g. "神奈川県" / "カナガワケン" / "Kanagawa".

TDQS

A4.3/5.0
Behavior3/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 mentions sharing an in-memory dataset with search_by_address, but does not explicitly state that the operation is read-only or disclose any limitations or side effects. For a simple list operation, this is adequate but not highly transparent.

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?

Two sentences with no redundant information. The first sentence states the core purpose, and the second adds important context about input formats and dataset sharing. Every part earns its place.

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 the tool's simplicity (one parameter, no output schema), the description covers what the tool returns, acceptable input formats, and its relationship to a sibling tool. No critical information is missing.

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 100% and the parameter description already provides an example. The description adds value by specifying that the prefecture name can be in kanji, katakana, or romaji, which goes beyond the schema's example.

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 action (list) and resource (municipalities in a Japanese prefecture), and mentions the output includes Soumu city codes. It distinguishes the tool from siblings like search_by_address or lookup_zipcode.

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 implies usage for listing cities given a prefecture name, with flexibility in input format. It does not explicitly state when not to use or provide alternatives, but the context is clear.

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

lookup_zipcodeA

Look up the Japanese address for a 7-digit postal code (郵便番号). Returns prefecture, city, and town(s) in kanji, katakana, and romaji, plus the JIS prefecture code and Soumu city code. Hyphens in the input are allowed.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipcodeYes7-digit postal code, e.g. "2310017" or "231-0017".

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It states inputs are allowed with hyphens and outputs multiple formats, but does not disclose behavioral traits like idempotency, error handling, or whether it modifies data. As a simple lookup, this is adequate but not fully transparent.

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 (two sentences) and front-loaded: first sentence states purpose, second provides key details. Every sentence adds value with no redundancy.

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 simple input and lack of output schema, the description adequately lists return fields (prefecture, city, town in kanji/katakana/romaji, codes). However, it does not mention error cases (e.g., zipcode not found) or provide examples, which would improve completeness.

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 100% for the single parameter, but the description adds value by stating that hyphens are allowed, which is not explicitly in the schema's description. This clarifies input formatting beyond the 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: to look up a Japanese address for a 7-digit postal code. It lists the specific output fields (prefecture, city, town in multiple scripts and codes), distinguishing it from sibling tools like 'search_by_address' or 'list_cities_in_prefecture'.

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 implies when to use (for Japanese address lookup by zipcode) and explicitly allows hyphens. However, it lacks explicit guidance on when not to use or alternatives, such as suggesting 'search_by_address' for broader address queries.

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

search_by_addressA

Search for postal codes by free-text address query. Matches against prefecture, city, and town in kanji, katakana, or romaji (case-insensitive substring match, whitespace ignored). First call in a session downloads the full dataset (~25MB) into memory; subsequent calls within the same session are instant.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesAddress keyword, e.g. "横浜市中区本町" / "ヨコハマシナカクホンチョウ".
limitNoMaximum number of hits to return (default 20).

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses matching behavior (kanji, katakana, romaji, case-insensitive, whitespace ignored) and a critical performance trait (first call downloads ~25MB, subsequent calls instant). It does not mention auth or rate limits, but for a search tool this is adequate.

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 (three sentences) and front-loaded: first sentence states purpose, second explains matching, third describes performance. Every sentence adds essential information with no redundancy.

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 purpose, matching behavior, performance, and gives parameter examples. It does not explicitly detail the output format (e.g., whether returns full address or just zip), but the tool name implies postal codes. Given no output schema, this is a minor gap, but overall sufficient for an agent to use correctly.

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 100%, so baseline is 3. The description adds value by explaining that 'query' is a free-text address keyword and providing concrete examples. The 'limit' parameter is already well-described in the schema. This extra context helps the agent generate appropriate queries.

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 searches for postal codes by free-text address, and specifies matching against prefecture, city, and town in multiple scripts. It distinguishes itself from sibling tools (get_metadata, list_cities_in_prefecture, lookup_zipcode) by focusing on free-text address queries.

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 explains that the tool is for free-text address queries and provides matching behavior (case-insensitive substring, whitespace ignored). It does not explicitly mention alternatives or when not to use, but the sibling tools imply different use cases. The performance note about dataset caching is helpful for usage planning.

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. Dates show when Glama detected each change.

  1. 4 tool updatesv0.1.0
    • First observedget_metadata
    • First observedlist_cities_in_prefecture
    • First observedlookup_zipcode
    • First observedsearch_by_address

TDQS

A4.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: metadata retrieval, city listing, zip code lookup, and address search. No overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., get_metadata, list_cities_in_prefecture), making them predictable and easy to understand.

Tool Count5/5

Four tools is appropriate for this domain, covering essential operations without being too sparse or excessive. Each tool earns its place.

Completeness5/5

The tool set covers all primary use cases for a zip code dataset: metadata, city listing, lookup by code, and free-text search. No obvious gaps.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jpzip/mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server