Kira — Romanian rentals について
Kiraは、ルーマニアの3つの不動産サイトを検索するMCPサーバー兼コマンドラインツールです。掲載情報を統合・絞り込み、暖房や駐車場などの詳細を抽出し、指定地点までの徒歩距離を推定します。
主な機能
- 013つの賃貸サイトを並行検索
- 02重複掲載と賃貸以外を除外
- 03価格、部屋数、暖房、駐車場で絞り込み
- 04掲載文から詳細情報を抽出
- 05指定地点までの徒歩距離を推定
- 06賃貸駐車スペースを検索
活用シーン
- 01月額予算内のアパート探し
- 02駐車場込みかどうかの確認
- 03職場や学校に近い賃貸物件探し
- 04ルーマニアの町でガレージを検索
MCP 対応
賃貸・駐車場検索、掲載情報の取得、地域名の検索に使える4つの読み取り専用ツールをMCPクライアントに提供します。結果には元の掲載URLが含まれ、streamable HTTPにも対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| city | string | はい | ルーマニアの地域名です。ダイアクリティカルマークは省略できます:'Cluj-Napoca'、'Iasi'、'Floresti'、'Brasov'。'Floresti, Prahova' と指定すると曖昧さを解消できます。 |
| near | any | いいえ | 徒歩距離の測定基準とする同じ地域内の場所です:'UMF'、'Piata Unirii'、'Iulius Mall'、'strada Observatorului 34'。 |
| sort | enum | いいえ | 'distance' には `near` が必要です。newest | price_asc | price_desc | distance |
| limit | integer | いいえ | 返す結果の数です。 |
| pages | integer | いいえ | サイトごとに取得する結果ページ数です。ページ数を増やすと処理は遅くなりますが、検索範囲は広がります。 |
| rooms | any | いいえ | 部屋数です。1 = garsonieră/ワンルーム、4 は 4 室以上を意味します。例:[2, 3]。 |
| county | any | いいえ | 名称が曖昧な場合は県(județ)を指定します。例:'Prahova'。 |
| heating | any | いいえ | centrala_proprie = 専用ガスボイラー;termoficare = 地域暖房または建物内の共用暖房。 |
| parking | any | いいえ | これらの駐車場ステータスのみを残します。例:['included'] または ['included', 'likely_included']。 |
| keywords | any | いいえ | 広告内にすべて含まれている必要がある語句です。例:'balcon mobilat' または 'pet'。 |
| max_price | any | いいえ | 月額家賃の上限(EUR)。 |
| min_price | any | いいえ | 月額家賃の下限(EUR)。 |
| owner_only | boolean | いいえ | 個人オーナーが掲載した広告のみを対象にします(不動産会社は除外)。この情報を報告するのは storia のみのため、他サイトの広告は除外されます。 |
| max_walk_minutes | any | いいえ | `near` と併用します。徒歩時間が指定分数を超える掲載情報を除外します。 |
詳細
kira-mcp
AI に頼んで、ルーマニアのどの都市、町、コミューンでも賃貸物件を探せます。
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
- Settings → Developer → Edit Config(
claude_desktop_config.jsonが開きます)。 - 貼り付けます(既存の内容と統合してください)。
{
"mcpServers": {
"kira": {
"command": "uvx",
"args": ["kira-rentals-mcp"]
}
}
}
- 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_details | 1件の広告 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_EUR | 5.0 | RON 建て価格に適用する為替レート。 |
KIRA_REQUEST_DELAY | 1.2 | 同じサイトへのリクエスト間隔(秒)。 |
KIRA_USER_AGENT | kira-mcp/<version> (+repo url) | |
KIRA_CACHE_DIR | OS のキャッシュディレクトリ | ジオコーディング結果のキャッシュ先。 |
情報源と制限事項
| サイト | 状況 |
|---|---|
| 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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。