Cenogram - Polish Real Estate Prices & Parcel Data について
Cenogramは、鑑定士や投資家、調査担当者向けのポーランド不動産分析用MCPサーバーです。登記された取引価格に、用途地域や災害リスク、交通アクセスなどの地籍筆情報を組み合わせます。
主な機能
- 01ポーランドの不動産取引検索
- 02場所・価格・日付による絞り込み
- 03地籍筆の計画・リスク情報確認
- 04地籍筆レポートと価格推定
- 05地域別の価格統計比較
活用シーン
- 01住所や地籍番号から取引を検索
- 02洪水・用途地域・交通条件を確認
- 03地区間の不動産価格を比較
MCP 対応
取引検索、価格統計、地籍筆の照会、周辺情報、価格推定のツールをMCPクライアントに提供します。ホスト型エンドポイントのほか、npxによるローカル実行にも対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.cenogram.pl/mcpclaude mcp add --transport http pl-cenogram https://mcp.cenogram.pl/mcp{"mcpServers":{"pl-cenogram":{"type":"http","url":"https://mcp.cenogram.pl/mcp"}}}Cursor で開く{"servers":{"pl-cenogram":{"type":"http","url":"https://mcp.cenogram.pl/mcp"}}}VS Code で開く{"mcpServers":{"pl-cenogram":{"type":"http","url":"https://mcp.cenogram.pl/mcp"}}}{"mcpServers":{"pl-cenogram":{"serverUrl":"https://mcp.cenogram.pl/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Cenogram MCP Server
AI 向けポーランド不動産取引・区画データ
ポーランドの不動産データにアクセスするための MCP サーバーです。国立価格・価値登録簿(Rejestr Cen Nieruchomosci、RCN)に登録された800万件以上の不動産取引に、Claude、Cursor、ChatGPT、Grok、または MCP 互換の AI アシスタントから直接アクセスできます。掲載価格ではなく、公証人作成の証書に基づく価格です。取引価格に加え、地籍区画を特定して区画ごとの情報を提供します。用途地域、洪水・地滑りリスク、文化財登録簿、建築許可と建設活動、公共交通機関へのアクセス、農地の分類、周辺の土地利用、自然環境(近隣の森林および重複する保護区域)、地下にあるもの(鉱区および主要な地下水貯留層)、土地利用と土壌品質の分類、道路へのアクセスが含まれます。
データソース:ポーランド国立 RCN 登録簿(Rejestr Cen Nieruchomosci) | プラットフォーム:cenogram.pl
API キーを取得する
- cenogram.pl/api にアクセスします
- メールアドレスを入力します
- メールで
cngrm_...API キーが届きます
キーは cenogram.pl/ustawienia で管理できます。
無料枠
新規アカウントには、1,000トークンと Standard プランの14日間トライアルが付与されます。その後もキーは週50トークンで利用できます。残高は蓄積されず、7日ごとに50に回復します。有効期限はなく、カードも不要です。
統計、参照データ、区画の識別、自治体の情報は1トークン、取引検索は3トークン(リストとその要約。summaryOnly を指定した場合は1トークン)、価格ヒストグラムまたは区域内の区画一覧は2トークン、区画または取引のコンテキストレイヤー1つは4トークン、空間検索、区画の輪郭、評価額、複数地区の比較は5トークンかかります。すべてのレイヤーを一度に返す get_parcel_report は45トークンです。位置情報のカタログは無料です。有料プランでは利用枠が増えます。詳しくは cenogram.pl/api をご覧ください。
インストール
クライアントを選択してください。以下のすべてのオプションはホスト型サーバーを使用するため、ローカルへのインストールは不要です(npx/stdio を除く)。
Claude Code
コマンドを 1 つ実行するだけで、設定ファイルは不要です。
claude mcp add cenogram https://mcp.cenogram.pl/mcp \
-t http -H "Authorization: Bearer YOUR_API_KEY"
Codex CLI
API キー。 ~/.codex/config.toml に追加します。
[mcp_servers.cenogram]
url = "https://mcp.cenogram.pl/mcp"
bearer_token_env_var = "CENOGRAM_API_KEY"
次に、Codex を起動するシェルでキーをエクスポートします。
export CENOGRAM_API_KEY=cngrm_...
OAuth。 bearer_token_env_var を含まない同じブロックを使用してから、サインインします。
[mcp_servers.cenogram]
url = "https://mcp.cenogram.pl/mcp"
codex mcp login cenogram
API キーまたは OAuth ログインがない場合、サーバーは 401 を返します。設定キーは Codex のバージョンによって異なるため、お使いのバージョンに対応する Codex のドキュメントを確認してください。このセクションでは、特定のバージョンで接続できることを保証していません。
Cursor
プロジェクトの .cursor/mcp.json に追加します。
{
"mcpServers": {
"cenogram": {
"type": "http",
"url": "https://mcp.cenogram.pl/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Claude Desktop
設定ファイルに追加します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
npx(stdio):
{
"mcpServers": {
"cenogram": {
"command": "npx",
"args": ["-y", "@cenogram/mcp-server@latest"],
"env": {
"CENOGRAM_API_KEY": "YOUR_API_KEY"
}
}
}
}
VS Code / GitHub Copilot
ワークスペースの .vscode/mcp.json に追加します。
{
"servers": {
"cenogram": {
"type": "http",
"url": "https://mcp.cenogram.pl/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json に追加します。
HTTP リモート:
{
"mcpServers": {
"cenogram": {
"type": "http",
"url": "https://mcp.cenogram.pl/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
HTTP が動作しない場合は、代わりに以下の npx(stdio) オプションを使用してください。
Cline
VS Code で、Settings > Cline > MCP Servers を開いて追加します。
{
"cenogram": {
"type": "http",
"url": "https://mcp.cenogram.pl/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
npx(stdio)- ローカル/オフライン
Node.js >= 18 が必要です。ホスト型サーバーに接続するのではなく、サーバーをローカルで実行する場合に使用してください。
{
"mcpServers": {
"cenogram": {
"command": "npx",
"args": ["-y", "@cenogram/mcp-server@latest"],
"env": {
"CENOGRAM_API_KEY": "YOUR_API_KEY"
}
}
}
}
| クライアント | 設定ファイル |
|---|---|
| Cursor | .cursor/mcp.json |
| Claude Code | プロジェクト内の .mcp.json |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Cline | VS Code の設定 > Cline > MCP Servers |
設定
| 環境変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
CENOGRAM_API_KEY | はい(stdio) | - | cenogram.pl/api の API キー |
CENOGRAM_API_URL | いいえ | https://cenogram.pl | API ベース URL |
MCP_TRANSPORT | いいえ | stdio | Streamable HTTP モードでは http に設定します |
MCP_PORT | いいえ | 3002 | HTTP サーバーのポート(HTTP モードのみ) |
CENOGRAM_CLIENT_ID | いいえ | 自動生成 | 永続的なクライアント識別子 |
MCP_TRANSPORT=http の代わりに、--http CLI フラグを使用することもできます。
ヒント
- モデルの選択:最良の結果を得るには、Claude の Opus を使用してください。連続してより多くのツール呼び出しを行い、より豊かな分析を生成します。チャットウィンドウ下部のドロップダウンからモデルを切り替えられます。
プロンプトの例
ポーランド語:
- "Jaka jest mediana cen mieszkan w Krakowie w 2025?"
- "Pokaz transakcje z ulicy Pulawskiej 15 na Mokotowie"
- "Znajdz transakcje na dzialce 126104_9.0015.201"
- "Sprawdz plan miejscowy i ryzyko powodziowe dla dzialki 126104_9.0015.201"
- "Znajdz transakcje gruntow w promieniu 5km od centrum Wroclawia powyzej 500 000 PLN"
- "Porownaj ceny mieszkan na Mokotowie i Woli"
- "Pokaz rozklad cen nieruchomosci w Polsce"
英語:
- "What's the median apartment price in Krakow in 2025?"
- "Show transactions at Pulawska 15 in Mokotow"
- "Find all transactions on parcel 126104_9.0015.201 and then search nearby"
- "Check the zoning and flood risk for parcel 126104_9.0015.201"
- "Find land transactions within 5km of Wroclaw center above 500,000 PLN"
- "Compare apartment prices in Mokotow and Wola districts"
- "Show the price distribution of real estate in Poland"
ツール
| ツール | 説明 | 主なパラメーター |
|---|---|---|
search_transactions | フィルターを指定して取引を検索します | location、street、buildingNumber、parcelId、propertyType、marketType、価格/日付/面積の範囲 |
get_price_statistics | 地域別の価格/m²統計(住宅のみ)。デフォルトでは過去24か月を対象とし、回答に期間が示されます | location(任意)、period(24m|all)、dateFrom/dateTo |
get_price_distribution | 価格のヒストグラム | bins、maxPrice |
search_by_area | 地理的な半径を指定して取引を検索します | latitude、longitude、radiusKm |
get_market_overview | データベースの概要と統計 | (なし) |
list_locations | 利用可能な地域の一覧 | search(任意) |
search_parcels | 地籍IDの接頭辞で区画を検索します | q(区画IDの接頭辞、最小3文字) |
list_parcels_in_area | エリア内の地籍区画を一覧表示します。簡易リストまたは詳細な形状を取得できます | teryt、location、bbox、lat + lng + radiusKm、またはpolygon;includeGeometry、minArea/maxArea、street/buildingNumber、cursor |
search_by_polygon | GeoJSONポリゴン内の取引を検索します | polygon、propertyType、dateFrom/dateTo |
compare_locations | 2~5地区の統計を比較します | districts(カンマ区切り)、propertyType |
get_building_breakdown | 1件の取引について建物ごとの内訳(建築面積、階数、推定床面積)を取得します | transaction_id(検索結果に含まれるUUID) |
get_parcel_report | 1区画の複合レポートです。基本情報、13の補足レイヤー、取引履歴、地域の価格状況(郡およびgminaの物件タイプ別中央値 zł/m²)、自治体の状況、区画形状のセクション(外接矩形、最大内接円、形状クラス、境界から離れた面積。形状データは外周のみ)を含みます | parcelId(地籍IDまたはUUID) |
resolve_parcel | 区画を特定し、地籍上の識別情報を取得します | parcelId、q(完全な地籍IDまたは「地域名 + 区画番号」。住所は不可)、またはlat + lng |
get_demographics | 地域の人口および人口統計情報を取得します | locationまたはteryt、year(またはyearFrom/yearTo)、category |
get_infrastructure_signals | 自治体のインフラ情報(入札、公共サービス、資本支出)を取得します | locationまたはteryt |
estimate_value | 近隣の成約事例に基づいてアパートの価格を推定します | area、およびlat + lngまたはparcelId;rooms、market |
estimate_land_value | 未開発地(建築用地または農地)の成約事例に基づく価格推定を、m²あたりおよびヘクタールあたりで取得します | lat + lng(面積必須)またはparcelId(面積は地籍情報から取得);landType、mpzpDesignation |
get_transaction_flood | 取引物件の洪水リスクを取得します | transaction_id(検索結果に含まれるUUID) |
get_transaction_heritage | 物件の文化財登録状況を取得します | transaction_id |
get_transaction_landslide | 物件の地滑りリスクを取得します | transaction_id |
get_transaction_surroundings | 物件周辺の迷惑要因および土地利用状況を取得します | transaction_id |
get_transaction_transit | 物件の公共交通機関へのアクセス状況を取得します | transaction_id |
get_transaction_permits | 物件について記録された建築許可を取得します | transaction_id |
get_permits_in_area | 2016年以降に地点周辺で登録された建築許可および工事届を、発行済みの決定に限って一覧と「年 × カテゴリー」の集計で取得します | lat + lng;radiusKm(最大2)、dateFrom、dateTo、intent、categories、excludeCategories、worksType、limit、cursor、aggregateOnly |
get_transaction_planning | 物件の地域区画指定および計画状況を取得します | transaction_id |
get_transaction_farmland | 物件の農地利用分類を取得します | transaction_id |
get_transaction_nature | 物件周辺の森林および重複する自然保護区域を取得します | transaction_id |
get_transaction_subsurface | 物件の地下にある鉱区および主要な地下水貯留層を取得します | transaction_id |
get_transaction_roads | 物件の道路アクセスに関する幾何学的情報(距離、道路区分、アクセス指標)を取得します | transaction_id |
場所の命名
- ほとんどの都市:都市名をそのまま使用します(例:「Gdansk」、「Lublin」)。
- ワルシャワ:「Warszawa」は18のすべての地区を一括で対象にします。範囲を絞るには、1つの地区名(「Mokotow」、「Srodmiescie」、「Wola」)を指定します。
- クラクフとウッチも同様です。都市名を指定するとすべての地区が対象になり、地区名(「Krakow-Podgorze」)を指定することもできます。
- 近隣地域名は行政区画ではありません。代わりに、半径またはポリゴンで検索してください。
- 有効な名前を調べるには、
list_locationsを使用します。
物件タイプ
| 値 | ポーランド語 | 英語 |
|---|---|---|
land | Grunt | 土地 |
building | Budynek | 建物 |
developed_land | Grunt zabudowany | 開発済みの土地 |
unit | Lokal | アパート/ユニット |
ワークフロー
検索結果には区画IDとGPS座標が含まれるため、複数の手順にわたる調査が可能です。
1. Search by address -> search_transactions(location="Mokotow", street="Pulawska", buildingNumber="15")
2. Note parcel_id and coordinates from results
3. Search nearby -> search_by_area(lat=52.19, lng=21.01, radiusKm=2, propertyType="unit")
4. Compare prices -> get_price_statistics(location="Mokotow")
これは、不動産鑑定士が評価レポート用の類似取引を探す方法を再現しています。
権利証書ではなく土地から始める場合は、別の手順になります。
1. List the parcels -> list_parcels_in_area(location="Wawer", minArea=800)
2. Draw the ones you want -> list_parcels_in_area(bbox="21.10,52.20,21.14,52.23", includeGeometry=true)
3. Open one in full -> get_parcel_report(parcelId="146518_8.0108.27")
ステップ1ではカーソルを使ってページを取得します。ステップ2には上限があり、通常は結果が途中で切り詰められるため、切り詰められた回答をそのエリアの区画一覧として読み取るのではなく、ボックスの範囲を狭めてください。
データ
- 800万件以上の取引:ポーランド全土(380郡)
- 期間: 2003年〜現在
- 出典: ポーランド国立RCN登録簿(Rejestr Cen Nieruchomosci)
- 更新: RCNから定期的に更新
- 区画ごとのコンテキスト: ゾーニング、洪水および地滑りリスク、文化財登録簿、建築許可および建設活動、公共交通機関へのアクセス、農地利用、周辺環境、自然環境(近隣の森林や保護地域)、地下環境(鉱山地域および主要な地下水貯留層)、土地利用および土壌品質の分類、道路へのアクセス。これらは地籍IDで参照できます。
トラブルシューティング
「Error: CENOGRAM_API_KEY is required」 - これはstdioモードの場合にのみ該当します。MCP設定のenvブロックでCENOGRAM_API_KEYが設定されていることを確認してください。HTTPリモートの場合は、代わりにAuthorizationヘッダーにキーを指定します。
npxがハングする、または失敗する - node -vでNode.jsのバージョンを確認してください。stdioモードにはNode.js >= 18が必要です。古いバージョンを使用している場合は、代わりにHTTPリモートオプションを使用してください(Node.jsは不要です)。
場所を指定しても結果が0件になる - その名前は行政区画ではない可能性があります。地区と近隣地域は別のものです。「Mokotow」は地区なので使用できますが、その中の近隣地域である「Sluzew」は使用できません。有効な名前を調べるにはlist_locations(search="...")を使用するか、地区より小さい範囲を調べる場合は半径で検索(search_by_area)してください。
401 Unauthorized(HTTPモード) - サーバーは、APIキー(Authorization: Bearer cngrm_...。Bearerプレフィックスとキー全体が必要で、プレフィックスだけではありません)または、OAuthサインインを完了したクライアントからのOAuthアクセストークンを受け付けます。トークンがない場合、または認識されない形式の場合は、cenogram.pl/apiへのリンクを含む本文とともに401が返されます。このページでキーを取得できます。キーもOAuthログインもないクライアント(たとえばCodex CLI)は、すべてのリクエストで401になります。上記のセットアップを参照してください。
402 Payment Required - アカウントのトークンを使い切っています。無料アカウントの場合、残高が週50に戻る日付がレスポンスに表示されます。それまではキーと接続は有効です。有料プランでは上限が解除されます。cenogram.pl/apiを参照してください。
開発
git clone https://github.com/cenogram/mcp-server.git
cd mcp-server
npm install
npm test
npm run build
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。