mcpField
K
Kira — Romanian rentals

Kira — Romanian rentals

ローカル
github.comビジネス・マーケティング03 週間前に更新

Kira — Romanian rentals について

Kiraは、ルーマニアの3つの不動産サイトを検索するMCPサーバー兼コマンドラインツールです。掲載情報を統合・絞り込み、暖房や駐車場などの詳細を抽出し、指定地点までの徒歩距離を推定します。

主な機能

  1. 013つの賃貸サイトを並行検索
  2. 02重複掲載と賃貸以外を除外
  3. 03価格、部屋数、暖房、駐車場で絞り込み
  4. 04掲載文から詳細情報を抽出
  5. 05指定地点までの徒歩距離を推定
  6. 06賃貸駐車スペースを検索

活用シーン

  1. 01月額予算内のアパート探し
  2. 02駐車場込みかどうかの確認
  3. 03職場や学校に近い賃貸物件探し
  4. 04ルーマニアの町でガレージを検索

MCP 対応

賃貸・駐車場検索、掲載情報の取得、地域名の検索に使える4つの読み取り専用ツールをMCPクライアントに提供します。結果には元の掲載URLが含まれ、streamable HTTPにも対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cezart3-kira": {
"command": "uvx",
"args": [
"kira-rentals-mcp"
]
}
}
}
起動コマンドuvx kira-rentals-mcp

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

パッケージ
pypikira-rentals-mcp0.1.1

ツール

4

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

パラメーター型必須説明
citystringはいルーマニアの地域名です。ダイアクリティカルマークは省略できます:'Cluj-Napoca'、'Iasi'、'Floresti'、'Brasov'。'Floresti, Prahova' と指定すると曖昧さを解消できます。
nearanyいいえ徒歩距離の測定基準とする同じ地域内の場所です:'UMF'、'Piata Unirii'、'Iulius Mall'、'strada Observatorului 34'。
sortenumいいえ'distance' には `near` が必要です。newest | price_asc | price_desc | distance
limitintegerいいえ返す結果の数です。
pagesintegerいいえサイトごとに取得する結果ページ数です。ページ数を増やすと処理は遅くなりますが、検索範囲は広がります。
roomsanyいいえ部屋数です。1 = garsonieră/ワンルーム、4 は 4 室以上を意味します。例:[2, 3]。
countyanyいいえ名称が曖昧な場合は県(județ)を指定します。例:'Prahova'。
heatinganyいいえcentrala_proprie = 専用ガスボイラー;termoficare = 地域暖房または建物内の共用暖房。
parkinganyいいえこれらの駐車場ステータスのみを残します。例:['included'] または ['included', 'likely_included']。
keywordsanyいいえ広告内にすべて含まれている必要がある語句です。例:'balcon mobilat' または 'pet'。
max_priceanyいいえ月額家賃の上限(EUR)。
min_priceanyいいえ月額家賃の下限(EUR)。
owner_onlybooleanいいえ個人オーナーが掲載した広告のみを対象にします(不動産会社は除外)。この情報を報告するのは storia のみのため、他サイトの広告は除外されます。
max_walk_minutesanyいいえ`near` と併用します。徒歩時間が指定分数を超える掲載情報を除外します。

詳細

kira-mcp

ci PyPI MIT python MCP

AI に頼んで、ルーマニアのどの都市、町、コミューンでも賃貸物件を探せます。

デモ:Claude Code にアパートを尋ねると、kira-mcp がリアルタイムでサイトを検索します

MCP サーバー(および CLI)です。storia.ro、publi24.ro、lajumate.ro をリアルタイムで検索し、結果を統合して重複や賃貸物件以外を除外します。また、サイトのフィルターではわからない情報を広告本文から読み取ります。暖房の種類、駐車場、個人オーナーか不動産会社か、気になる場所までの徒歩距離などです。

Claude(Code と Desktop)、Cursor、VS Code、Windsurf、Gemini CLI、Codex、その他あらゆる MCP クライアントで動作します。通常の CLI としても利用できます。

🇷🇴 ルーマニア語のガイド

「クルジュで、500 € 以下、専用ボイラーと駐車場付き、UMF から徒歩 20 分以内の 2 部屋のアパートを探してください。」

$ kira search Brasov --rooms 2 --max-price 500 --heating centrala_proprie --limit 3
Brașov, Brașov — 10 matching, showing 3
  storia: ok (74 fetched, 374 on site)
  publi24: ok (24 fetched)
  lajumate: ok (56 fetched, 382 on site)

 1. Studio Maurer Villas partial mobilat
    500 EUR | 2 cam | 45 mp | heating: centrala_proprie | parking: included
    Tractorul, Brasov, Brasov
    https://www.storia.ro/ro/oferta/studio-maurer-villas-partial-mobilat-IDIPoX
 2. Apartament pe 2 niveluri, 62 mp, zona Faget-Tractorul
    400 EUR | 2 cam | 62 mp | heating: centrala_proprie
    ...

特長

ルーマニアの賃貸サイトはそれぞれ市場の一部しかカバーしておらず、フィルターも限られています。内見するかどうかを決める情報――専用ボイラーか地域暖房か?駐車スペースは含まれているのか、「近隣に駐車できる可能性」があるだけなのか?――は自由記述の中にあります。kira-mcp が複数サイトの切り替えと内容の読み取りを行うため、エージェントは実際に尋ねた質問に答えられます。

機能

  • ルーマニア全土に対応:Wikidata の 3,181 の地域(自治体、市、コミューン)に対応しています。ダイアクリティカルマークは省略可能で、よく使われる略称(cluj、tg mures、buc)も認識し、曖昧な地名(Floresti, Prahova)も特定します。
  • 3 サイトを並列検索し、サイト間の重複を除去します(同じアパートが 2 つのサイトに掲載されていても 1 件だけ表示され、also_listed_on に掲載先が表示されます)。
  • フィルター:価格(EUR。RON は換算)、部屋数、暖房、駐車場、個人オーナー、キーワード。
  • 広告本文の抽出は、実際のルーマニア語広告に合わせて調整されています。暖房(centrala_proprie/termoficare)、駐車場(included、likely_included、area_possible、none)、部屋数、面積、階、通りを抽出します。フィルターに必要な場合は、抜粋だけでなく広告全文を読み取ります。
  • あらゆる場所からの徒歩距離(near="UMF")を OpenStreetMap でジオコーディングし、Google マップの経路リンクを表示します。
  • 賃貸物件以外を除外:販売広告、駐車場のみの広告、ホテル形式の短期滞在を除外します。
  • 駐車場検索(search_parking)。
  • プライバシー:返されるテキストから電話番号とメールアドレスを伏せます。ユーザーは元のサイトでオーナーに連絡します。

クイックスタート(5 分)

ステップ 1 — uv をインストールする(初回のみ)

kira-mcp は uv 経由で動作します。初回の使用時に uv と Python がダウンロードされます。それ以外のインストールは不要です。

  • Windows(PowerShell): powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  • macOS / Linux: curl -LsSf https://astral.sh/uv/install.sh | sh

ターミナルを閉じて開き直し、uvx --version を実行して確認します。

ステップ 2 — AI に接続する
Claude Code
claude mcp add kira -s user -- uvx kira-rentals-mcp

claude mcp list を実行し、kira: ... ✓ Connected と表示されることを確認します。

Claude Desktop
  1. Settings → Developer → Edit Config(claude_desktop_config.json が開きます)。
  2. 貼り付けます(既存の内容と統合してください)。
{
  "mcpServers": {
    "kira": {
      "command": "uvx",
      "args": ["kira-rentals-mcp"]
    }
  }
}
  1. Claude Desktop を完全に終了し(トレイアイコン → Quit)、再起動します。 ツール/コネクターのメニューに「kira」が表示されます。

サーバーの起動に失敗したと表示される場合は、command に uvx のフルパスを指定します (Windows では where uvx、macOS では which uvx を実行します。例: C:\Users\you\.local\bin\uvx.exe)。

Cursor / Windsurf / Gemini CLI

Claude Desktop と同じ JSON を、~/.cursor/mcp.json、 ~/.codeium/windsurf/mcp_config.json または ~/.gemini/settings.json に設定します。

VS Code(Copilot エージェントモード)

ワークスペース内の .vscode/mcp.json:

{
  "servers": {
    "kira": {
      "type": "stdio",
      "command": "uvx",
      "args": ["kira-rentals-mcp"]
    }
  }
}
Codex CLI

~/.codex/config.toml:

[mcp_servers.kira]
command = "uvx"
args = ["kira-rentals-mcp"]
その他/リモートクライアント(HTTP)
uvx kira-rentals-mcp --transport streamable-http --port 8000

MCP を http://localhost:8000/mcp で提供します。

ステップ 3 — 質問する

英語またはルーマニア語で、そのまま話しかけてください。

  • "シビウで、専用ボイラー付き、350 € 未満のワンルームを探して。"
  • "ティミショアラで、最大 500 €、個人オーナー、価格の安い順に2部屋のアパート。"
  • "クルジュで、UMF まで徒歩20分以内の2部屋のアパート。"
  • "この物件に駐車場は含まれていますか? "
  • "ブラショフで、60 € 未満の貸し駐車場。"

最初の呼び出しでは、uv がパッケージをダウンロードするため、数秒余分にかかります。

MCP が使えない場合:エージェントスキルまたは CLI を使用
  • エージェントスキル:skills/romania-rentals/ をスキルフォルダー(例:~/.claude/skills/)にコピーします。MCP ツールまたは CLI を使って いつ検索し、結果をどう読み取るかをエージェントに教えます。
  • CLI:下記を参照してください。

ツール

ツール機能
search_rentals地域を指定して検索します。フィルター:min_price、max_price(EUR/月)、rooms、heating、parking、owner_only、keywords、near + max_walk_minutes、sort(newest、price_asc、price_desc、distance)、limit。
get_listing_details1件の広告 URL について、詳細な説明、写真、確度付きの暖房/駐車場情報を取得します。
search_parking地域内の貸し駐車スペース/ガレージを検索します。
find_localityあいまいな地名やスペルミスのある地名を解決し、郡名とともに候補を一覧表示します。

すべてのツールは読み取り専用です。すべての結果に元の広告 URL が含まれます。

CLI

uvx --from kira-rentals-mcp kira search "Cluj-Napoca" --rooms 2 --max-price 500 --near UMF --max-walk 20 --sort distance
kira search Iasi --heating centrala_proprie --parking included likely_included
kira listing https://www.storia.ro/ro/oferta/...
kira parking Brasov --max-price 80
kira find Floresti
kira --json search Sibiu        # machine-readable

設定

環境変数デフォルト値
KIRA_RON_PER_EUR5.0RON 建て価格に適用する為替レート。
KIRA_REQUEST_DELAY1.2同じサイトへのリクエスト間隔(秒)。
KIRA_USER_AGENTkira-mcp/<version> (+repo url)
KIRA_CACHE_DIROS のキャッシュディレクトリジオコーディング結果のキャッシュ先。

情報源と制限事項

サイト状況
storia.ro✅ サーバー側の価格/部屋数フィルター、ページネーションに対応
publi24.ro✅ 検索ごとに最新ページを取得
lajumate.ro✅ ページネーションに対応
olx.ro❌ 自動アクセスをブロック(HTTP 403)
imobiliare.ro❌ 自動アクセスをブロック(HTTP 403)

kira-mcp は、アクセスをブロックするサイトの制限を回避しようとしません。そのため、検索結果は 市場の大部分をカバーしますが、すべてではありません。各応答でその旨を伝えます。

マナーを守って利用してください。 kira-mcp は自身の情報を明示し、リクエストの間隔を空け、 ページを10分間キャッシュし、1回の検索に必要なデータだけを取得して、サイトへのリンクを返します。 個人の部屋探しを想定しており、大量収集を目的としたものではありません。それ以外の用途で使う前に、 各サイトの利用規約を確認してください。

距離は概算です(直線距離 × 1.3、徒歩時速4.7 km)。投稿者が入力した位置を使用します。 地区名のみの広告では district 精度の距離が表示され、どちらも記載されていない広告には距離が表示されません。

開発

git clone https://github.com/Cezart3/kira-mcp && cd kira-mcp
uv sync --group dev
uv run pytest            # offline, against synthetic fixtures
KIRA_LIVE=1 uv run pytest -m live   # against the real sites
uv run ruff check .

地域リストは uv run python scripts/build_localities.py で再構築されます。

サイトパーサーは src/kira_mcp/sites/ にあります。サイトを追加するには、search_rentals と fetch_detail を備えたクラスを 1 つ作成します。sites/base.py を参照してください。

クレジット

  • 地域データ:Wikidata(CC0)。
  • ジオコーディング:Nominatim / © OpenStreetMap の貢献者(ODbL)。リクエストは 1 秒あたり 1 回以下とし、キャッシュしています。
  • 抽出ルールは、個人用の物件探しボット Kira をもとに発展しました。

ライセンス

MIT © 2026 Cezar Tocaciu

コメント

MCP は初めてですか?

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

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