Skip to main content
Glama
uedayou

loa-mcp-server

by uedayou

複数住所の位置をファイルへエクスポート保存(地図・アプリをその場で作る用途には使わない)

save_address_locations_to_file

Geocode a list of Japanese addresses and export them directly to a local GeoJSON file, enabling large batch exports without response size limits.

Instructions

「地図を作りたい/表示したい/見せてほしい」等、Claude自身が取得したポリゴンを使ってその場で地図・可視化・アプリを組み立てる依頼には、このToolを使ってはならない — 書き出したファイルの中身はMCPレスポンスに含まれずClaudeからは見えないため、地図を描画できなくなる。そのような依頼では必ず get_address_locations を使うこと(47都道府県なら5グループに分割する)。このToolを使ってよいのは、ユーザーが明示的にファイルへの保存・エクスポートだけを求めている場合(例: 「GeoJSONファイルとして保存して」「〇〇のデータをエクスポートして」、Claude自身が中身を読む必要がない場合)に限る。get_address_locations と同じく複数の住所をまとめて取得するが、結果をMCPレスポンスに含めず1つのGeoJSON FeatureCollectionとしてローカルファイルへ直接書き出し、パスと概要だけを返す。Claude Desktop等の多くのMCPクライアントが持つTool呼び出し1回あたり約1MBのレスポンス上限を構造的に回避できるため、大きいバッチ(例: 47都道府県すべての結合データ)でもget_address_locationsのように5グループに分割せず1回の呼び出しで(正確な形状のまま)ファイルに書き出せる。このToolはローカルのファイルシステムに書き込む点に注意。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
simplifyNoポリゴンの座標点数を間引くレベル(既定 'none')。get_address_locationsと同じトポロジー考慮型の簡略化(全件のうち隣接する地域同士の境界線を共有した状態のまま間引くため、境界のズレは生じない)。ファイルに書き出すためMCPレスポンスのサイズ制限はないが、ファイルサイズや後段で読み込むツール側の負荷を抑えたい場合は指定するとよい。
addressesYes住所文字列またはURIの配列(最大50件)。get_address_locations と同じ表記ゆれ(郡名・政令市名の省略、全角数字・漢数字・ハイフン区切り、「ケ/ヶ/ヵ」等の異体字)を自動補完する。47都道府県すべてをファイルへエクスポートする場合は、名前を手で列挙せず list_prefectures の結果を使うこと(手で列挙すると書き漏らしが起きることがある)。このToolは結果をファイルに書き出すため、get_address_locationsと違って1MB制限を避けるために件数を分ける必要はない(ただしファイルに保存したいだけの場合に限る。地図・アプリをその場で作る依頼にはこのTool自体を使わないこと。titleの注意参照)。
outputPathYes書き出し先のファイルパス(相対パスはこのサーバープロセスのカレントディレクトリ基準、絶対パスも可)。拡張子は呼び出し側が指定した通りに使う(GeoJSONとして扱えるよう `.geojson` を推奨)。親ディレクトリが存在しない場合は自動的に作成する。既存ファイルがあれば上書きする。
dropSmallIslandsNo既定false(何も除外しない=正確な形状を保つ)。trueにすると、実面積が約0.01km^2(概ね100m四方)未満の離島(岩礁・洲を含む)をポリゴンから丸ごと除外する。**addressesの全要素が都道府県そのもの(例: '東京都'、'沖縄県'。市区町村以下は不可)である場合のみ指定できる**。このToolはMCPレスポンスのサイズ制限を受けないため、47都道府県すべてを結合したファイルが欲しいだけなら指定不要(falseのまま正確な形状で書き出せる)。ファイルサイズ自体を抑えたい場合のみ指定すること。
degenerateIslandsNo**dropSmallIslands:true かつ simplify が'none'以外である場合のみ指定できる**。get_address_locationsと同じ意味(既定'keepOriginal'は退化した離島をフル精度に戻す、'omit'はその離島を結果から丸ごと除外してさらに軽量化する)。
Behavior5/5

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

With no annotations provided, the description correctly carries the full burden. It discloses that the tool writes to the local filesystem, does not include the file contents in the MCP response, returns only a path and summary, overwrites existing files, and can create parent directories. It also explains the technical reason (1MB response limit) and the practical consequence that Claude cannot draw maps from the written file.

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 long but well-structured with a bold warning up front, followed by clear use-case boundaries, technical rationale, and a final caution. The repetition of the 'not for map-building' rule is somewhat redundant, but it is a critical safety constraint that warrants emphasis. Overall, each section contributes useful context for correct tool selection and invocation.

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?

The description is complete for a complex tool with no output schema and no annotations. It explains the return value (path and summary), the invisibility of file contents to Claude, the difference from get_address_locations, the 1MB workaround, filesystem write behavior, and links to sibling tools like list_prefectures. Combined with the very detailed input schema, there is no significant missing context for invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The input schema already provides detailed semantics for all parameters, including addresses, outputPath, simplify, dropSmallIslands, and degenerateIslands. The main description adds some usage context, such as recommending list_prefectures for 47 prefectures and clarifying that the 1MB limit does not require splitting, but these are reinforcement of schema information rather than new parameter-level semantics.

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 a specific verb+resource: exporting multiple addresses to a single GeoJSON FeatureCollection file, returning only path and summary. It explicitly distinguishes itself from get_address_locations, which returns data in the MCP response, while this tool writes to a local file and avoids the 1MB response limit. The title also reinforces the export/save purpose.

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 gives explicit when-to-use and when-not-to-use guidance: it must not be used for building maps or visualizations in place, and get_address_locations must be used instead for such requests. It states that this tool is only appropriate when the user explicitly asks for file export/save and Claude does not need to read the contents. It also explains when it is better than splitting into 5 groups, e.g., for 47 prefectures.

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

Install Server

Other Tools

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/uedayou/loa-mcp-server'

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