mcpField
U
US Places, Then

US Places, Then

ローカル
github.com/ianderso地図・旅行03 週間前に更新

US Places, Then について

米国の歴史地理、土地、家系調査向けの読み取り専用 MCP サーバーです。日付ごとの郡管轄を、連邦土地測量、地名、郵便局、旧地形図のデータと組み合わせ、土地特許から国立公文書館の案件ファイル検索情報も作成します。

主な機能

  1. 01日付時点で地点を管轄した郡の特定
  2. 02PLSS 土地記述の解析と位置特定
  3. 03歴史地名と郵便局の検索
  4. 04地点を含む旧地形図の検索
  5. 05土地特許から公文書検索情報を作成

活用シーン

  1. 01過去の土地証書を所管した郡の特定
  2. 02PLSS 記述を地図上の位置に変換
  3. 03消滅した地名、旧郵便局、地図の調査

MCP 対応

stdio 経由で読み取り専用ツールを提供し、地理・歴史資料の検索と公文書検索情報の作成を行います。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ianderso-us-places": {
"command": "uvx",
"args": [
"us-places-mcp"
],
"env": {
"US_PLACES_OVERPASS_URL": "<US_PLACES_OVERPASS_URL>",
"US_PLACES_PLSS_URL": "<US_PLACES_PLSS_URL>",
"US_PLACES_GNIS_URL": "<US_PLACES_GNIS_URL>",
"US_PLACES_GNIS_ARCHIVE_URL": "<US_PLACES_GNIS_ARCHIVE_URL>",
"US_PLACES_TNM_URL": "<US_PLACES_TNM_URL>",
"US_PLACES_DATAVERSE_URL": "<US_PLACES_DATAVERSE_URL>",
"US_PLACES_CACHE_DIR": "<US_PLACES_CACHE_DIR>",
"US_PLACES_TIMEOUT": "<US_PLACES_TIMEOUT>",
"US_PLACES_CONTACT": "<US_PLACES_CONTACT>"
}
}
}
}
起動コマンドuvx us-places-mcp
設定が必要な環境変数
US_PLACES_OVERPASS_URLOpenHistoricalMap's Overpass endpoint.
US_PLACES_PLSS_URLBLM's national PLSS (CadNSDI) map service.
US_PLACES_GNIS_URLUSGS's GNIS map service (The National Map).
US_PLACES_GNIS_ARCHIVE_URLWhere USGS keeps the August 2021 GNIS state files.
US_PLACES_TNM_URLThe National Map's TNM Access products API.
US_PLACES_DATAVERSE_URLHarvard Dataverse, which holds the US post offices dataset.
US_PLACES_CACHE_DIRDirectory for the on-disk response cache and the downloaded datasets.
US_PLACES_TIMEOUTHTTP timeout in seconds.
US_PLACES_CONTACTAn email address or URL appended to the User-Agent, so the services can reach whoever runs the server.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypius-places-mcp0.2.0

ツール

12

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
datestringはい出来事の日付:YYYY、YYYY-MM、または YYYY-MM-DD。年または月を指定すると、その期間中に地点を管轄していたすべての郡を返します。
refreshbooleanいいえTrue を指定すると、キャッシュを使わずにサービスへ再度問い合わせます。
latitudenumberはい10進数の緯度。例:39.896。
longitudenumberはい10進数の経度。米国内では負の値です。

詳細

us-places-mcp

CI PyPI

かつて、その場所がどこにあったかを調べるためのMCPサーバーです。記録が示すのは現在の管轄ではなく、出来事の日付にその場所を管轄していた区域です。たとえば、現在はペンシルベニア州グリーン郡にある農場の1795年の権利証書は、ワシントン郡の記録にあります。グリーン郡が分割して設けられたのは翌年だからです。このサーバーは、どの役所に問い合わせるべきかを判断するための次の質問に答えます。

  • この場所は、その日にどの郡に属していましたか? Newberry Library の Atlas of Historical County Boundaries に基づいています。この地図帳には、1629年から2000年までの全米のすべての郡の設置と境界変更が、日付と根拠となった法律とともに記録されています。OpenHistoricalMap がこの地図帳を取り込み、無料で公開しています(CC0)。このサーバーはそこに問い合わせます。
  • この土地の説明は、実際の地図上のどこに当たりますか? Bureau of Land Management の全国 Public Land Survey データを使い、「E½NE Sec. 18, T84N R39W, 5th P.M.」を重心、境界ボックス、BLM の ID に変換します。地図上のピンから土地の説明を得ることもできます。
  • この土地特許の元になった事件ファイルはどこにありますか? 土地特許は手続きの最後に発行されるものです。National Archives にあるファイルには、申請書や、ホームステッドの場合は何年にもわたる居住記録、証人、米国市民権に関する書類が含まれます。このサーバーは該当するファイルとシリーズを示し、検索条件を作成します。
  • Mount Hope Cemetery や Hines Corners はどこにありましたか? USGS の Geographic Names Information System(GNIS)は、消滅した町に付く「(historical)」の表示も含め、把握しているあらゆる地物の名称と場所を記録しています。2021年に墓地、教会、学校、郵便局などの人工地物が削除されました。このサーバーは、USGS が2021年8月時点で保存したアーカイブも検索し、どちらのデータが回答したかを示します。
  • どの郵便局が、いつ存在していましたか? Richard Helbock がまとめた1639年から2000年までの全米の郵便局リストを Cameron Blevins がジオコーディングしたものです。開設年と閉鎖年を含む166,140か所の郵便局が収録されています。郵便局は、集落の存在を示す唯一の手がかりであることも少なくありません。
  • この場所が載っている古い地図はどれですか? 1884年以降に作成された、指定地点を含むすべての USGS 地形図を、古い順にスキャン画像へのリンクとともに表示します。

このサーバーはどこにも書き込みを行わず、家系図を保存することもありません。nara-catalog-mcpと組み合わせると、このサーバーが作成した検索を実行できます。また、familysearch-mcpやsnac-archives-mcpとの併用にも適しています。

これは独立したプロジェクトです。Newberry Library、OpenHistoricalMap、Bureau of Land Management、US Geological Survey、Harvard Dataverse、データセットの著者、National Archives との提携、承認、支援は受けていません。

ツール

サーバーは12個のツールを公開しています。すべて読み取り専用で、クライアント向けに注釈が付けられています。そのうち5個はネットワーク呼び出しを一切行いません。

ある日時点の管轄

ツール目的
county_atある地点をある日時点で管轄していた郡(または複数の郡)を、日・月・年単位で調べます。管轄していた郡、その期間、成立のきっかけとなった出来事と法律、その地点における郡の変遷の全体像、1年以内の変更(手作業で確認してください)、2つの政府間で管轄が争われたかどうかを返します。
county_history1つの郡のすべての変遷を調べます。いつ、何を基に設立され、その後どのように変わったかを法律とともに示します。

連邦所有地

ツール目的
parse_legal_descriptionどのような表記の土地記述でも(E½NE、E2NE、E 1/2 NE 1/4、「北東4分の1の東半分」、GLOのゼロ埋め表記0840N、ロット、複数の区画など)、四分の四まで分解して読み取り、推測した箇所には警告を付けます。オフラインで動作します。
plss_locate土地記述の位置を地図上に示します。重心、境界ボックス、面積、BLMのIDを、タウンシップ、セクション、四分の四またはロット単位で返します。
plss_from_point地点にある測量区画の名称を調べます。タウンシップ、レンジ、セクション、四分の四を返します。
public_land_stateこの州が連邦所有地だったかを調べます。そうでなければ、最初に所有権を付与した者と関連記録の所在を、そうであれば、子午線と特例を示します。オフラインで動作します。

消えた場所と古地図

ツール目的
find_place_nameGNISに登録された地名の地点、分類、州、郡を調べます。現在のGNISを検索し、州を指定すると、GNISが2021年に削除した墓地、教会、学校、郵便局、建物を収録した2021年8月のアーカイブも検索し、どちらから回答が得られたかを示します。
post_offices1639~2000年に存在した米国の郵便局を、名称、州、現在の郡、地点周辺、特定の年で調べます。それぞれの存続期間、継続して運営されていたか、ジオコーディング済みの場合は地点も示します。
historical_topo_maps地点を含むすべてのUSGS地形図を古い順に表示します。日付、縮尺、図郭に加え、GeoPDF、GeoTIFF、JPEGプレビューへのリンクと、JPEGおよびKMZ用のTopoViewリンクを示します。

土地特許から事件ファイルまで

ツール目的
find_land_entry_file特許のAuthorityから、申請の種類、ファイルに含まれる内容、所蔵する国立公文書館のシリーズ、nara-catalog-mcpのsearch_records_advancedですぐに使える検索語、オンラインで閲覧できない場合のファイルの取り寄せ方法を調べます。オフラインで動作します。
glo_linksBLMのGeneral Land Office Recordsサイトで検索ページまたは個別記録を開くためのリンクを返します。オフラインで動作します。
cache_statusこのセッション中のライブ呼び出しとキャッシュヒット、およびこれまでにダウンロードしたデータセットを表示します。オフラインで動作します。

セットアップ

Python 3.11以降とuvが必要です。キーの申請は不要です。

uvx us-places-mcp

またはクローンから:

git clone https://github.com/ianderso/us-places-mcp
cd us-places-mcp
uv sync
uv run us-places-mcp   # stdio server, usually launched by the client
Claude Desktop
{
  "mcpServers": {
    "places": {
      "command": "uvx",
      "args": ["us-places-mcp"]
    }
  }
}

uvxが見つからずサーバーが起動しない場合は、which uvxで表示されるフルパスをcommandとして指定してください。

Claude Code
claude mcp add places -- uvx us-places-mcp

設定

設定は不要です。サーバーの起動ディレクトリにある .env ファイルから、環境変数で指定されていない値が読み込まれます。読み込まれるのはそのディレクトリだけです。

変数意味
US_PLACES_OVERPASS_URLOpenHistoricalMap の Overpass エンドポイントです。デフォルトは https://overpass-api.openhistoricalmap.org/api/interpreter です。
US_PLACES_PLSS_URLBLM の全国 PLSS マップサービスです。デフォルトは https://gis.blm.gov/arcgis/rest/services/Cadastral/BLM_Natl_PLSS_CadNSDI/MapServer です。
US_PLACES_GNIS_URLUSGS の GNIS マップサービスです。デフォルトは https://carto.nationalmap.gov/arcgis/rest/services/geonames/MapServer です。
US_PLACES_GNIS_ARCHIVE_URL2021 年 8 月の GNIS 州別ファイルがあるフォルダーです。デフォルトは https://prd-tnm.s3.amazonaws.com/StagedProducts/GeographicNames/Archive/MainDomestic です。
US_PLACES_TNM_URLThe National Map の TNM Access 製品 API です。デフォルトは https://tnmaccess.nationalmap.gov/api/v1/products です。
US_PLACES_DATAVERSE_URL郵便局データセットを保管している Harvard Dataverse です。デフォルトは https://dataverse.harvard.edu です。
US_PLACES_CACHE_DIR応答キャッシュディレクトリです。ダウンロードしたデータセットはその中の data フォルダーに保存されます。デフォルトは ~/.cache/us-places-mcp です。
US_PLACES_TIMEOUTHTTP タイムアウト(秒)です。デフォルトは 60 です。
US_PLACES_CONTACTサービスから連絡できるように、User-Agent に追加するメールアドレスまたは URL です。任意ですが、設定するのが望ましいです。

すべての URL は https である必要があります。サーバーが接続するのは、それらのホストと、Dataverse のファイルストア(ダウンロードをリダイレクトする dvn-cloud-iqss.s3.amazonaws.com)だけです。

適切な利用のために

OpenHistoricalMap の Overpass サーバーは寄付されたリソースで運用されており、レート制限は公開されていません。サーバーは各サービスに一度に 1 件ずつリクエストを送信します。間隔は OpenHistoricalMap では 2 秒、BLM では 0.5 秒、USGS と Dataverse では 1 秒です。また、実行中の同一呼び出しをまとめ、回答をディスクにキャッシュします。郡の回答は 90 日間、GNIS とマップの回答は 30 日間、測量の回答は refresh=true を指定するまでキャッシュされます。429 または 5xx が返された場合は、バックオフを挟んで 3 回再試行し、その後 rate_limited または upstream_error として報告します。これらは「該当なし」とは明確に異なります。

ダウンロードしたデータ

2 つのデータソースはサービスではなくファイルのため、サーバーは一度ダウンロードしてローカルで読み込みます。ツールが必要とするまでダウンロードは行われず、ダウンロードのきっかけとなった結果には、対象、ファイルサイズ、検証方法、保存先が示されます。

データタイミングサイズ照合対象
米国の郵便局(Blevins と Helbock、doi:10.7910/DVN/NUKCNA、CC0)最初の post_offices 呼び出し時ダウンロード時 31 MB、ディスク上 21 MBDataverse がファイルに対して公開している MD5
2021 年 8 月 25 日時点の GNIS 州別ファイル(USGS、パブリックドメイン)その州で初めて find_place_name を検索したとき州ごとに最大 17 MB(ペンシルベニア州は 9.8 MB)。削除対象のクラスのみ保持し、ペンシルベニア州では約 6 MBUSGS のバケットが報告する ETag(MD5、またはアップロードの各パートの MD5)

どちらのファイルも、リポジトリではなく、キャッシュディレクトリ内の data に SQLite ファイルとして保存されます(デフォルトは ~/.cache/us-places-mcp/data)。検証に失敗したファイルは削除され、ツールは download_failed を報告します。cache_status で保存内容を確認できます。最初からやり直すにはフォルダーを削除してください。

返される情報の読み方

  • 当時の郡であり、現在の郡ではありません。 その日にその場所を管轄していた郡が記録を作成しました。新しい郡が親郡の過去の記録を引き継ぐことはないため、Greene Countyが存在する前の権利証書は、今もWashington Countyの記録簿にあります。
  • 境界変更の前後の日付を確認してください。 boundary_change_within_a_year には、指定した日付の近くで起きた変更が表示されます。法律は定められた日に発効しましたが、役所の組織化には時間がかかりました。その数か月間の記録は、どちらの郡にある場合もあります。
  • 「付属先」。 ある地域が郡として組織される前は、行政上、近隣の郡に付属することが多く、その郡が記録を保管していました。county_at は、アトラスのイベントテキストからこれを読み取ります。
  • 係争地。 1770年代には、ペンシルベニア州とバージニア州の両方がWaynesburg周辺を統治しており、ほかの地域でも同様の争いがありました。"status": "contested" は、両方の政府の記録を調べる必要があることを意味します。
  • アトラスでは、郡は現在の州の下に分類されています。 Monongalia Countyはバージニア州によって設置されましたが、ウェストバージニア州の下に分類されています。どの政府が措置を取ったかはイベントテキストに記載されています。
  • アトラスの対象期間は2000年までで、郡のみを収録しています。町、タウンシップ、教会組織としての教区は含まれません。
  • 位置が特定された土地は、家屋の位置ではありません。 セクションの中心は、その中のどの地点からも最大で半マイル離れている場合があります。また、BLMのデータは現代の編纂物であり、補正線や水辺の近くでは元の測量図と異なることがあります。分割されたセクション(タウンシップの北端や西端、または水辺に沿った部分)には、通常のセクションにある四分の一セクションではなく、区画があります。
  • パース結果は、解釈を読み取ったものです。 parse_legal_description は元のテキストを保持し、推定した内容を示します。たとえば、「Sec.」を伴わないセクション番号や、州から推定した子午線などです。
  • 特許証は、署名日に譲渡が行われたことを証明します。 登記は何年も前に行われていました。入植者は最終証明の前に5年間土地に住み、19世紀中頃には処理の滞りにより、購入から署名まで何年もかかりました。ホームステッド法は1863年に発効したため、家族の話に出てくる「1856年のホームステッド」は、現金購入、信用購入、先占権、または土地引換券による登記です。
  • 特許権者が土地を見たことがない場合もあります。 軍人への報奨土地引換券は売買されていました。退役軍人の記録は引換券のファイルにあり、特許権者は投機家である場合があります。
  • 連邦政府が土地を付与しない州には、連邦特許証はありません。 13植民地、メイン州、バーモント州、ケンタッキー州、テネシー州、ウェストバージニア州、テキサス州、ハワイ州は、それぞれ独自に土地を付与しました。そこで検索して結果がないことに意味はありません。public_land_state は、最初の権原が記録された場所を示します。
  • 古いGLOリンクは無効です。 BLMは2026年7月にglorecords.blm.govを再構築したため、古い記録へのリンクを開くとホームページに移動します。特許証を引用する際は、整理番号、文書番号、州、署名日を記載してください。
  • GNISの名称は現在の正式名称であり、 古い記録に記載された綴りではありません。GNISではMount、Fort、Saintを省略せずに表記し、所有格のアポストロフィを省きます(Pikes Peak)。サーバーも、入力された名称を同様に処理します。現存しない場所は「Name (historical)」として掲載されていることがよくあります。GNISの郡は現在の郡です。地点をcounty_atに渡してください。
  • 2021年のアーカイブは更新されません。 墓地、教会、学校、郵便局、建物は、2021年8月25日時点でGNISに登録されていた状態のままであり、USGSは現在これらを維持管理していません。topo_quad は、それぞれが読み取られた縮尺1:24,000の地図名を示します。
  • 地図の日付は、測量または編集の日付であり、 知りたい時点の地形の日付ではありません。また、再版でも古い日付がそのまま使われます。同じ四角形区域と日付を持つスキャンが複数ある場合は、後刷りや同じ版の別の複製であることがよくあります。見比べてください。縮尺1:62,500以上の地図には、道路、教会、学校、墓地が記載され、家屋が記載されることもよくあります。家屋の記号から居住者を特定することはできません。
  • 郵便局の存続年はHelbockのデータに基づきます。 改称や支局への変更によって、ある記録が終了し、別の記録が始まる場合があるため、「廃止」は改称を意味することがあります。10年未満の閉局であれば、記録は1件のままで、continuous: false と記されます。町内での移転は記録されていません。
  • 郵便局の郡は現在の郡です。 Helbockは、現在その所在地がある郡を記載しました。当時記録を保管していた郡を調べるには、郵便局の地点と年をcounty_atに渡してください。
  • 郵便局の3分の1には地点情報がありません。 Blevinsは、名称をGNISの地物名と照合して郵便局の位置を特定しました。一致するものがなかった郵便局には座標がないため、地点周辺を検索しても見つかりません。郡も検索してください。gnis_match には、各郵便局が何と照合されたか、および一致の程度が表示されます。
  • 郵便局長の氏名は、国立公文書館の郵便局長任命記録(1789~1832年はマイクロフィルムM1131、1832~1971年はM841)に記載されています。

意図的に含めていないもの

  • GLO 自体の検索。 再構築されたサイトには公開 API がありません。サーバーはユーザーが開くためのリンクを作成しますが、サイトからデータを取得することはありません。
  • 管轄区域としてのタウンシップや教会教区。 地図帳に掲載されているのは郡のみです。GNIS は地名を示しますが、誰が統治していたかについては何も示しません。
  • 書き込み。

セキュリティ

  • 固定されたホストのセット。 リクエストフックは、設定済みのサービスまたは Dataverse のファイルストア宛てではないリクエストを拒否するため、モデルから渡された値を使ってサーバーに別のサイトを取得させることはできません。ダウンロードでリダイレクトをたどる場合も、これらのホストのいずれかに限られます。
  • ダウンロードは保存前に、 公開元が示すチェックサムと照合され、サイズにも上限が設けられます。
  • 入力はクエリに渡す前に検証されます。 座標は範囲内の有限数、州と GNIS クラスはテーブルに照合され、測量番号は数字のみ、郡名は文字ごとにエスケープされて Overpass クエリに渡されます。地名が GNIS に渡されるのは find の検索テキストとしてのみであり、where 句の中には入りません。また、ローカル検索ではバインドパラメーターを使用します。
  • イベント、法令、地名のテキストはデータです。 これらは情報源から取得され、そのままモデルに渡されます。サーバーの指示では、モデルにこれらをデータとして扱い、指示として扱わないよう伝えています。

脆弱性を報告するには、SECURITY.md をご覧ください。

開発

uv sync --extra dev
uv run pytest                      # mocked with respx; never touches a service
uv run ruff check .
uv run ruff format --check .
uv run python -m tests.live_check  # a few paced calls to every live service

各サービスで確認された内容とその時期については CONTRIBUTING.md と docs/API-NOTES.md を、サーバーがこのような構成になっている理由については docs/DESIGN.md をご覧ください。

クレジット

郡境界:Newberry Library の Atlas of Historical County Boundaries(編集者:John H. Long)。OpenHistoricalMap にインポートされたもので、CC0 ライセンスで公開されています。 測量データ:Bureau of Land Management の National PLSS(CadNSDI)。米国政府の著作物です。地名:US Geological Survey の Geographic Names Information System。米国政府の著作物です。地図:The National Map を通じて提供される USGS の Historical Topographic Map Collection。郵便局:Cameron Blevins と Richard W. Helbock による US Post Offices、Harvard Dataverse、 doi:10.7910/DVN/NUKCNA。CC0 ライセンスで公開されています。

ライセンス

MIT。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。