关于 Kira — Romanian rentals
Kira 是用于搜索罗马尼亚租房信息的 MCP 服务和命令行工具,覆盖三个房产网站。它合并并筛选房源,从广告文本提取供暖、停车等信息,还可估算到指定地点的步行距离。
主要功能
- 01并行搜索三个租房网站
- 02合并重复项并排除非出租信息
- 03按价格、房间数、供暖和停车筛选
- 04从房源文本提取详情
- 05估算至指定地点的步行距离
- 06搜索出租车位
适用场景
- 01按月预算寻找公寓
- 02确认房源是否包含停车位
- 03寻找工作地点或学校附近的出租房
- 04在罗马尼亚城镇搜索车库
MCP 相关
向 MCP 客户端提供四种只读工具,用于搜索租房和车位、获取房源详情及查询地点。结果包含原始房源链接;服务也支持 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 服务(也提供命令行工具),可实时搜索 storia.ro、publi24.ro 和 lajumate.ro,合并结果、去除重复房源和非出租信息,并读取广告文本,提取网站筛选器无法提供的信息:供暖类型、停车位、个人房东还是中介,以及到你指定地点的步行距离。
支持 Claude(Code 和 Desktop)、Cursor、VS Code、Windsurf、Gemini CLI、Codex 以及其他 MCP 客户端。也可以直接作为命令行工具使用。
🇷🇴 罗马尼亚语指南
“帮我找一套克卢日的两居室公寓,租金低于 500 欧元,带独立锅炉和停车位,步行到 UMF 最多 20 分钟。”
$ 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 会帮你在各个标签页间切换并阅读广告,让 Agent 能回答你真正提出的问题。
功能
- 覆盖整个罗马尼亚:基于 Wikidata 收录 3,181 个地区(市、镇、乡)。可省略变音符号,也能识别常用简称(
cluj、tg mures、buc),并可消除名称歧义(Floresti, Prahova)。 - 并行搜索 3 个网站,跨站去重(同一套公寓在两个网站发布时只显示一次,并标注
also_listed_on)。 - 筛选条件:价格(欧元;列伊会换算)、房间数、供暖、停车位、个人房东、关键词。
- 针对真实罗马尼亚租房广告优化的文本提取:供暖(
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
- 设置 → Developer → Edit Config(会打开
claude_desktop_config.json)。 - 粘贴(与现有内容合并):
{
"mcpServers": {
"kira": {
"command": "uvx",
"args": ["kira-rentals-mcp"]
}
}
}
- 完全退出 Claude Desktop(托盘图标 → Quit),然后重新启动。 “kira”会显示在工具/连接器菜单中。
如果提示服务启动失败,请将 uvx 的完整路径用作 command
(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 Agent 模式)
工作区中的 .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
会在 http://localhost:8000/mcp 提供 MCP 服务。
第 3 步 — 提问
直接用英语或罗马尼亚语与它交流:
- "帮我在锡比乌找一间单间公寓,租金低于 350 欧元,有独立供暖系统。"
- "在蒂米什瓦拉找一套两居室公寓,最高 500 欧元,房东直租,按价格排序。"
- "在克卢日找两居室公寓,步行到 UMF 不超过 20 分钟。"
- "这套房包含停车位吗?"
- "在布拉索夫找一个出租停车位,租金低于 60 欧元。"
首次调用时,uv 会多花几秒钟下载软件包。
没有 MCP?使用 Agent 技能或 CLI
- Agent 技能:将
skills/romania-rentals/复制到你的技能文件夹(例如~/.claude/skills/)。它会教 Agent 何时搜索以及如何阅读结果,可通过 MCP 工具或 CLI 完成。 - CLI:见下文。
工具
| 工具 | 功能 |
|---|---|
search_rentals | 搜索一个地区。筛选条件:min_price、max_price(欧元/月)、rooms、heating、parking、owner_only、keywords、near + max_walk_minutes、sort(newest、price_asc、price_desc、distance)、limit。 |
get_listing_details | 获取单条房源广告的完整描述、照片,以及带置信度的供暖/停车信息。 |
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 | 操作系统缓存目录 | 地理编码结果的缓存位置。 |
来源和限制
| 网站 | 状态 |
|---|---|
| storia.ro | ✅ 服务端价格/房间筛选、分页 |
| publi24.ro | ✅ 每次搜索仅获取最新页面 |
| lajumate.ro | ✅ 分页 |
| olx.ro | ❌ 阻止自动访问(HTTP 403) |
| imobiliare.ro | ❌ 阻止自动访问(HTTP 403) |
kira-mcp 不会尝试绕过阻止它访问的网站。因此,结果涵盖了市场上的很大一部分,但并非全部——工具会在每条回复中说明这一点。
请文明使用。 kira-mcp 会标明自身身份,在请求之间等待,将页面缓存 10 分钟,只获取单次搜索所需的内容,并返回指向各网站的链接。它旨在帮助个人寻找公寓,而非批量采集信息。用于其他用途前,请查看各网站的服务条款。
距离为估算值(直线距离 × 1.3,步行速度 4.7 km/h)。计算使用发布者填写的位置;如果广告只提供街区信息,则距离精度为 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 的类;请参阅 sites/base.py。
致谢
- 地点数据:Wikidata(CC0)。
- 地理编码:Nominatim / © OpenStreetMap 贡献者(ODbL),每秒请求不超过 1 次,并启用了缓存。
- 提取规则源自个人找房机器人 Kira。
许可证
MIT © 2026 Cezar Tocaciu
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。