mcpField
P
Polish Archives Indexes

Polish Archives Indexes

ローカル
github.com/ianderso検索23 週間前に更新

Polish Archives Indexes について

ポーランドの戸籍記録を調べる系譜研究者向けのMCPサーバーです。Geneteka、The Poznań Project、BaSIAの索引を検索し、Szukaj w Archiwachから公文書のスキャンを取得できます。索引は手がかり、スキャンは記録の証拠として扱います。

主な機能

  1. 01Genetekaの教区別索引範囲を確認
  2. 02出生・婚姻・死亡記録を検索
  3. 03配偶者の姓で歴史的婚姻を検索
  4. 04場所と年でBaSIAの項目を検索
  5. 05公文書の高解像度スキャンを取得

活用シーン

  1. 01教区と年が索引化済みか確認
  2. 02ポーランドの先祖の戸籍記録を探す
  3. 03索引項目に対応するスキャンを取得

MCP 対応

stdio経由でMCPツールを提供し、MCPクライアントから起動・呼び出しできます。索引範囲の確認、記録検索、スキャン取得に対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"ianderso-polish-archives": {
"command": "uvx",
"args": [
"polish-archives-mcp"
],
"env": {
"POLISH_ARCHIVES_CACHE_DIR": "<POLISH_ARCHIVES_CACHE_DIR>",
"POLISH_ARCHIVES_TIMEOUT": "<POLISH_ARCHIVES_TIMEOUT>",
"POLISH_ARCHIVES_MIN_INTERVAL": "<POLISH_ARCHIVES_MIN_INTERVAL>",
"POLISH_ARCHIVES_CONTACT": "<POLISH_ARCHIVES_CONTACT>",
"POLISH_ARCHIVES_DOWNLOAD_DIR": "<POLISH_ARCHIVES_DOWNLOAD_DIR>"
}
}
}
}
起動コマンドuvx polish-archives-mcp
設定が必要な環境変数
POLISH_ARCHIVES_CACHE_DIRDirectory for the on-disk response cache.
POLISH_ARCHIVES_TIMEOUTHTTP timeout in seconds for one request. Scan downloads get 180 s to read.
POLISH_ARCHIVES_MIN_INTERVALLeast seconds between two requests to one site. Never below 4; BaSIA always gets at least 10.
POLISH_ARCHIVES_CONTACTAn email address or URL appended to the User-Agent, so a site can reach whoever runs the server.
POLISH_ARCHIVES_DOWNLOAD_DIRAn existing folder. When set, swa_scan saves only inside it; needed to save under ~/Library, such as an iCloud Drive folder.

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

パッケージ
pypipolish-archives-mcp0.1.1

ツール

7

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

このツールにパラメーターはありません。

詳細

polish-archives-mcp

CI PyPI

ポーランドのボランティアによる重要記録索引と、そこから案内されるアーカイブのスキャン画像を扱う MCP サーバーです。

  • Geneteka:Polskie Towarzystwo Genealogiczne による教区簿および民事登録簿の索引です。ポーランド各地の数千の教区における洗礼、婚姻、埋葬の記録が数千万件収録されており、一部はポーランド国外の記録も含まれます。収録範囲の一覧では、教区ごとに索引化された登録簿と年が示されています。
  • Poznań Project:1800~1899年の Wielkopolska と Kujawy、旧プロイセン領ポーゼン州およびその周辺地域の婚姻記録です。年齢と親の情報も含まれます。
  • BaSIA:Wielkopolskie Towarzystwo Genealogiczne "Gniazdo" によるアーカイブ索引です。各項目には、アーカイブ、請求記号、スキャン画像が記載されています。
  • Szukaj w Archiwach:ポーランド国立公文書館のポータルです。このサーバーでは、スキャン画像の名前を指定すると、公開されている画像ホストからフルサイズのスキャン画像をダウンロードできます。

慎重な系譜研究者と同じように動作します。索引の行は検索の手がかりです。登録簿からボランティアが入力したもので、どの登録簿のどの記録を確認すべきかを示します。証拠となるのはスキャン画像です。検索結果がゼロでも、索引化された範囲しか対象になりません。そのため、最初に Geneteka の収録範囲一覧を確認してください。また、スキャン画像はアーカイブ独自の請求記号で引用します。Szukaj w Archiwach の資料単位ページにある Sygnatura を使い、索引側の表記は使いません。

ここで何かを書き込むことも、家系図を保存することもありません。これは、ある家族史プロジェクトで使われていたスクリプトから発展したもので、多くの同じ登録簿をフィルム撮影した複製を収録する目録を持つ familysearch-mcp と併用できます。

これは独立したプロジェクトです。Polskie Towarzystwo Genealogiczne、Poznań Project、Wielkopolskie Towarzystwo Genealogiczne "Gniazdo"、Naczelna Dyrekcja Archiwów Państwowych、またはいずれかのアーカイブとは、提携、推奨、支援の関係にありません。

ツール

このサーバーは7つのツールを公開しています。swa_scanを除くすべてのツールは読み取り専用です。 swa_scanは新しいファイルを1つ書き込みますが、既存のファイルを上書きすることはありません。

検索の前に

ツール目的
regionsGenetekaの地域コードと名称です(15wpはWielkopolskaです)。リクエストは行いません。
geneteka_coverageGenetekaが教区ごとに索引化した記録です。出生、婚姻、死亡の別、Genetekaに記載されている正確な年(欠落期間を含む)、各記録のridを確認できます。yearを指定すると、各記録がその年を対象としているかどうかも確認できます。リストは1週間キャッシュされます。

索引の検索

ツール目的
geneteka_search1つの地域、またはridで指定した1つの記録から、出生、婚姻、死亡を検索します。各行には、帳簿を所蔵する機関、索引作成者のメモ(多くの場合、日付や村名)、スキャンへのリンクが記載されています。1ページあたり50件です。
poznan_search1800~1899年の婚姻を、新郎と新婦の姓、またはいずれか一方の姓で検索します。名はプロジェクトの名前グループと照合されます。どのグループにもない名前を指定すると、グループが返されます。各行には、原本の記録を所蔵する機関が記載されています。
basia_searchBaSIAの項目を姓で検索します。同じ項目に記載されたほかの人物、場所と検索範囲、年、役所、記録の種類も確認できます。各行にはBaSIAの請求記号とスキャン、szukajwarchiwach.gov.pl上の所蔵単位の住所、BaSIAのシリーズ番号に関する注意書きが記載されています。

スキャンの閲覧

ツール目的
swa_scanSzukaj w Archiwachの画像ホストから、64文字の名前を指定してフルサイズ(約3500 px)のスキャンを1つダウンロードします。新しい.jpgを保存します。隠しファイルや~/Library内への保存は行いません。
cache_statusこのセッションのサイトごとのリクエスト、キャッシュ、リクエスト間隔を確認します。リクエストは行いません。
検索の流れ
  1. 教区についてgeneteka_coverageを使い、索引にどの記録と年があるかを確認します。 一覧にない年は検索されていません。
  2. geneteka_search、poznan_search、basia_searchを使います。記録は ラテン語、ポーランド語、ドイツ語で記されています。WojciechはAdalbertusとAdalbertでも、 JanはJoannesとJohannでも、MariannaはMariaでも検索してください。-skiと-ska、および 属格形(「z Kowalskich」)は同じ姓です。
  3. 所蔵単位のページ(BaSIAの行にあるunit_url、またはGenetekaの行にあるスキャン リンク)をブラウザーで開きます。Szukaj w Archiwachのページにはボットチェックがあり、 このサーバーがページを取得することはありません。ページでSygnaturaを確認し、 画像アドレス(photos.szukajwarchiwach.gov.pl/<name>)から各スキャンの名前を確認します。
  4. その名前を指定してswa_scanを実行します。内容について述べる前に、スキャンを確認してください。
  5. 所蔵単位のページの住所とともに、アーカイブ、Sygnatura、スキャン番号を引用します。 見つける手掛かりとして、索引のID(Geneteka、Poznań Project、BaSIA)も残してください。

セットアップ

Python 3.11以降とuvが必要です。 キーの申請やアカウントの作成は不要です。

クローンせずに使う場合。 uvxを使うと、PyPIから取得して1ステップで実行できます。

uvx polish-archives-mcp

変更する場合は、クローンから実行する方法を使ってください。

git clone https://github.com/ianderso/polish-archives-mcp
cd polish-archives-mcp
uv sync
uv run polish-archives-mcp   # stdio server, usually launched by the client

どちらの場合も、サーバーはstdio経由でMCPを使用するため、通常は手動で実行するのではなく、MCPクライアントから起動します。

Claude Desktop
{
  "mcpServers": {
    "polish-archives": {
      "command": "uvx",
      "args": ["polish-archives-mcp"]
    }
  }
}

デスクトップアプリがシェルのPATHを常に引き継ぐとは限りません。uvxが見つからずサーバーを起動できない場合は、which uvxで表示されるフルパスをcommandに指定してください。

Claude Code
claude mcp add polish-archives -- uvx polish-archives-mcp

Configuration

何も設定する必要はありません。サーバーの起動ディレクトリにある .env ファイルで、環境変数にない値を補えます。読み込まれるのは、そのディレクトリだけです。

変数意味
POLISH_ARCHIVES_CACHE_DIRレスポンスキャッシュのディレクトリです。デフォルトは ~/.cache/polish-archives-mcp です。
POLISH_ARCHIVES_TIMEOUT1 回のリクエストに対する HTTP タイムアウト(秒)です。デフォルトは 60 です。スキャンのダウンロードでは、読み込みに 180 秒を割り当てます。
POLISH_ARCHIVES_MIN_INTERVAL同じサイトへの 2 回のリクエストの間に設ける最短の間隔(秒)です。デフォルトは 4 秒で、4 秒未満にはなりません。BaSIA では常に 10 秒以上です。
POLISH_ARCHIVES_CONTACTUser-Agent に追加するメールアドレスまたは URL です。利用によって問題が起きた場合に、サイトから連絡できるようにします。任意ですが、設定するのが望ましいです。
POLISH_ARCHIVES_DOWNLOAD_DIR既存のフォルダーです。設定すると、swa_scan はその中にのみ保存します。~/Library の下にある iCloud Drive フォルダーに保存するには、そのフォルダーを指定してください。

使用できない値は、最初のツール呼び出し時に、その変数名を示す not_configured 結果として報告されます。

サイトに配慮した利用

各サイトは、ボランティア団体のサーバーか、アーカイブのサーバーです。クライアントは各サイトに一度に 1 件ずつ、少なくとも 4 秒間隔でリクエストを送ります。BaSIA と Geneteka には 10 秒間隔で送信します。サイトが異なる場合は互いに待ちません。Geneteka の検索では、1 回の呼び出しにつき 50 行のページを 1 ページだけ取得し、結果全体をまとめて取得することはありません。処理中の同一の呼び出しが 2 件ある場合は、1 件のリクエストを共有します。対象範囲の一覧は 1 週間、検索結果は 1 日、Poznań Project の名前グループは 1 か月キャッシュされます。失敗はキャッシュされません。429、5xx、または接続切断が発生した場合は、Retry-After に従って 1 回再試行します。User-Agent には、パッケージ名、バージョン、およびこのリポジトリが記載されます。

2026-10-11 時点で確認した、各情報源の自動利用に関する説明は次のとおりです。

  • Geneteka. geneteka.genealodzy.pl には利用規約へのリンクがありません。robots.txt では何も拒否されておらず、Crawl-delay: 120 が設定されています。このサーバーは、ツール呼び出し 1 回につき 1 件のリクエストを送り、少なくとも 10 秒間隔を空けます。
  • The Poznań Project. 概要ページには、データベースは「dostępna dla wszystkich użytkowników sieci poprzez bezpłatną wyszukiwarkę」(無料の検索エンジンを通じて、すべてのインターネットユーザーが利用可能)と記載されています。robots.txt は提供されていません。
  • BaSIA. www.basia.famula.pl では利用規約が見つかりませんでした。robots.txt では Crawl-delay: 10 が設定され、/search.php とその他のスクリプトが拒否されています。また、各検索はコストのかかるデータベースクエリであるため、ロボットは情報ページをインデックスしてもよいが、「ale nie wyszukiwarkę ani skrypty pobierające dane」(検索エンジンやデータ取得スクリプトは不可)とコメントに記載されています。このサーバーはサイト独自の検索フォームを /en/ に送信し、ツール呼び出し 1 回につき検索 1 回、少なくとも 10 秒間隔で実行し、各結果を 1 日キャッシュします。
  • Szukaj w Archiwach. ポータルの所蔵機関ページと文書群ページは Imperva のボットチェックで保護されているため、このサーバーからはリクエストしません。ブラウザーで人が開きます。写真ホストは robots.txt を提供していません(400 を返します)。ポータル独自の利用規約はブラウザーなしでは確認できませんでした。スキャン画像の再利用条件は各アーカイブが定めているため、公開する前に確認してください。

サイトから停止を求められた場合は、利用を停止してください。サーバーの運用者に伝え、このプロジェクトで変更できるよう issue を作成してください。

返ってくる情報の読み方

  • インデックスの行は、調査の手がかりです。 検索結果には必ずその旨が記載されています。この行から、確認すべき台帳、年、記録が分かります。記録そのものはスキャンです。
  • ゼロを信頼する前に、収録範囲を確認してください。 rid と年の範囲を指定した geneteka_search では、Geneteka がインデックス化していない年(years_not_indexed)が示されます。Poznań Project と BaSIA は同様の一覧を公開していないため、検索結果がゼロでも意味合いは異なります。
  • 「多すぎる」はゼロではありません。 Poznań Project では、検索結果が多すぎる場合に記録が表示されません。poznan_search は件数とともに too_many_results を返すため、条件を絞り込んでください。BaSIA は検索結果の先頭250件のみを一覧表示し、その旨を示します(truncated)。
  • BaSIA ではなく、アーカイブの請求記号を記載してください。 BaSIA の請求記号は独自の形式で記載されており、その中間の番号(シリーズ番号)がアーカイブのものと異なる場合があります。BaSIA の各行にはこの注意書きがあります。ユニットのページで Sygnatura を確認してください。BaSIA の行には、現在は廃止された szukajwarchiwach.pl ドメインへのリンクが残っている場合があります。このリンクはもう開けません。そのような行には unit_url がなく、古いリンクに記載されていた参照情報と、ユニットの見つけ方に関する注記のみがあります。
  • 台帳の所蔵先。 Geneteka の行には、Geneteka が記載する所蔵者(大司教区アーカイブ、国立アーカイブ、教区など)が示されています。Poznań Project の行には、プロジェクト独自のアーカイブページに基づき、原本の台帳の所蔵先が示されています。
  • 名前は3言語で現れます。 ポーランドの人物名は、3つの記録で Wojciech、Adalbertus、Adalbert のように表記されることがあります。Poznań Project の名前グループは名の異形を対応付けます。それ以外の名前は、それぞれの表記で検索してください。
  • コメントは、ほかの調査者が書いたものです。 Poznań Project のコメントは、投稿者の名前や住所を含めずに返されます。

あえて対象外とするもの

  • Szukaj w Archiwach の独自ページ。 ボットチェックを通過するにはブラウザーセッションが必要です。それを回避するためブラウザーを操作するサーバーは、人間になりすますことになります。ユニットのページはその人が閲覧し、公開されているスキャンホストを swa_scan が使用します。
  • その他のインデックス(metryki.genealodzy.pl のスキャン、Kartenmeister、ポメラニアの Greif インデックス)。提案は Issue としてお寄せください。
  • 修正やコメントを含め、サイトへの書き込み全般。
  • ボットチェックの回避。 チャレンジを返すサイトは blocked として報告し、それ以上の操作は行いません。

セキュリティ

ツールの引数はモデルが作成し、モデルはこのサーバーが管理できないテキスト(インデックスの注記、コメント、ウェブページ)を読み取ります。サーバーは、そのテキストがモデルの動作を誘導し得ると想定し、誘導されたモデルにできることを制限しています。

  • 接続先ホスト。 コード内で固定された4つのホスト、geneteka.genealodzy.pl、poznan-project.psnc.pl、www.basia.famula.pl、photos.szukajwarchiwach.gov.pl のみです。引数でホストを指定することはできません。引数で指定できるのは検索条件のみで、スキャン名は64文字の16進数でなければなりません。リクエストフックは、レスポンスから取得したアドレスを含め、それ以外のすべてを拒否します。リダイレクトは同一ホスト内でのみ追跡します。
  • データ量。 10 MBを超えるページ、または60 MBを超えるスキャンは、ストリーミング中に拒否されます。
  • ファイル。 swa_scan は新しいファイルを1つ作成し、既存ファイルを上書きしません。先頭のバイト列に基づきJPEGと判定され、写真ホストの「ファイルを利用できません」という画像でないバイト列である必要があります。ファイル名は .jpg または .jpeg で終わらなければなりません。隠しファイルやフォルダー、および ~/Library 配下には保存できません。また、POLISH_ARCHIVES_DOWNLOAD_DIR が設定されている場合、リンクの解決後に判定して、その範囲外にも保存できません。ダウンロードが拒否された場合、ディスクには何も残りません。
  • サイトのテキストは信頼できません。 名前、注記、コメントはそのままモデルに渡されます。サーバーの指示では、このテキストを指示ではなく、評価対象の資料として扱うようモデルに伝えています。それでも最終的に判断するのはモデルなので、モデルが実行しようとする内容を確認してください。

脆弱性の報告については、SECURITY.md をご覧ください。

開発

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

ライブチェックでは、記録済みのフィクスチャでは確認できないこと、つまり各サイトの応答が、サーバーが読み取る形式のままかどうかを確認します。同じペースを守って実行するため、数分かかります。テストスイートの構成についてはCONTRIBUTING.md、各サイトで確認された内容とその時期についてはdocs/API-NOTES.md、サーバーがこのような設計になっている理由についてはdocs/DESIGN.mdをご覧ください。

謝辞

インデックスは、Polskie Towarzystwo Genealogiczne、Poznań Project、Wielkopolskie Towarzystwo Genealogiczne "Gniazdo"の何千人ものボランティアの活動によって作成されました。登録簿とそのスキャン画像は、それらを所蔵するアーカイブの所有物です。

ライセンス

MIT。

コメント

MCP は初めてですか?

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

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