mcpField
D
Divar

Divar

本地服务
github.com商业与营销0今天更新

关于 Divar

Divar 是面向 Agent 的只读 MCP 服务,用于搜索伊朗分类广告平台 Divar。它支持比较广告、估算价格和地图浏览,涵盖住房、汽车、工作等类别。

主要功能

  1. 01按城市、类别和条件搜索广告
  2. 02比较广告并筛选预算选项
  3. 03依据市场统计估算价格
  4. 04在地图上浏览附近广告
  5. 05监控搜索并导出结果

适用场景

  1. 01比较伊朗城市中的租房广告
  2. 02判断二手车标价是否合理
  3. 03查找符合已保存搜索的新广告

MCP 相关

它向 MCP 客户端提供 Divar 搜索、广告、卖家、地图和价格分析工具,以及资源和提示词。服务通过 stdio 通信,并执行只读查询。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sepehr071-divar": {
"command": "uvx",
"args": [
"divar-mcp"
],
"env": {
"DIVAR_MCP_PROXY": "<DIVAR_MCP_PROXY>"
}
}
}
}
启动命令uvx divar-mcp
需要配置的环境变量
DIVAR_MCP_PROXYOptional HTTP proxy URL for requests to divar.ir, or a comma-separated list: one is used until it gets blocked or fails to connect, then the next. System proxy settings are ignored.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypidivar-mcp0.2.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

divar-mcp:面向 AI Agent 的 Divar MCP 服务

让你的 AI Agent 在伊朗任意城市搜索 Divar(دیوار)上的广告,并判断价格是否合理。
一个非官方、只读的 MCP 服务,适用于 Divar——伊朗最大的分类信息网站(房屋、汽车、手机、工作、服务)。
通过 Claude、Cursor 或 Copilot 搜索、查看广告、比较价格、查找最便宜和性价比最高的广告、评估价格并浏览地图。价格单位为 Toman。

PyPI Python CI MCP Registry License: MIT

在 VS Code 中安装

面向 AI Agent · 原因 · 功能 · 快速开始 · 工具 · 工作原理 · 须知 · 常见问题 · 配置 · فارسی · 开发


面向 AI Agent

  • 是什么: 面向 Divar(دیوار,divar.ir)的非官方 MCP 服务(模型上下文协议)。使用波斯语查询效果最佳;阿拉伯字母变体(ي/ك)会统一处理。
  • 安装: uvx divar-mcp 或 claude mcp add divar -- uvx divar-mcp。传输方式:stdio。需要 uv(Python 3.10+)。
  • 身份验证: 无需 API 密钥或账户。可选配置 DIVAR_MCP_PROXY(HTTP 代理 URL 或逗号分隔的列表);系统代理设置会被忽略。
  • 访问权限: 对 Divar 仅有只读权限。它无法登录、发布广告、聊天、收藏广告或查看卖家的电话号码,因此调用工具前无需确认。只有 dv_watch 和 dv_price_trend 会写入数据,且仅写入你自己的搜索记录所在的本地文件。
  • 工具: 共 31 个,名称均以 dv_ 开头。建议从 dv_search、dv_post、dv_cheapest、dv_best_for_budget、dv_market 开始。
  • 典型流程: dv_cities / dv_categories -> dv_filters -> dv_search -> dv_post -> dv_similar / dv_appraise / dv_compare。
  • 此外: 资源 divar://cities、divar://categories、divar://category-filters/{slug};提示词 compare_ads、best_under_budget、appraise_listing、watch_market。
  • 单位: 价格单位为 Toman(Divar 自身使用的单位,不进行换算)。出售房源使用 price;出租房源使用 deposit + rent(当 full_deposit 为 رهن کامل 时,rent 为 0);没有价格表示可议价。
  • 适用场景: 用户想查找、核对价格或监控 Divar 上的广告(待售或出租的公寓、二手车、手机、家具、工作等),或询问某个城市的物品价格。
  • 不适用场景: 用户想发布广告、联系卖家或获取电话号码(这些操作在 Divar 上需要登录),或需要查询 Divar 以外的市场。
  • 输出: 紧凑的 JSON 广告卡片。在工具间传递 token,并将 next_cursor 作为 cursor 传回。
  • 机器可读信息: server.json 和 iran-mcp 目录(TOOLS.md、servers.json、llms.txt)。

为什么选择它

Divar 是伊朗人买卖公寓、汽车和手机的平台,但要回答“瓦纳克一套两居室公寓的合理价格是多少?”,就得翻看几十条广告,还要排除虚假价格。使用 divar-mcp,Agent 会获取广告、剔除占位价格、计算标价的中位数和四分位数,并告诉你哪些广告的价格远低于这些数值。

你: 找一套瓦纳克最划算的两居室出租公寓,押金低于 10 亿 Toman。

Agent: 调用 dv_parse_query -> dv_best_for_budget -> dv_post

它会根据符合条件的广告中位数,列出性价比最高的广告并说明每项评分的原因,然后打开你选中的广告。

功能

  • 搜索:按类别、文本、街区、价格(租房还可按押金)、品牌和型号、照片、新鲜度以及类别中的其他筛选条件,在一个或多个城市搜索广告;合并多个页面并去除重复项;使用游标继续浏览
  • 读取完整广告: 价格(单位为 Toman)、规格、功能、描述、所有图片、地图位置、卖家类型、占位价格检测
  • 寻找划算选择: 最便宜的广告(跳过垃圾价格)、性价比最高和预算内最多的广告、价格远低于中位数的广告、仅显示差异的并排比较、类似广告
  • 判断价格: 提供百分位数和置信度的合理价格评估,按区域和日期统计市场数据
  • 监控: 使用上次的时间戳轮询 dv_new_since,只查看新广告;在本地保存搜索条件和每日中位数价格趋势;将结果导出为 CSV 或 JSON 行
  • 使用地图: 查找 GPS 点或地标周边的广告并显示距离;查询街区、相邻街区、边界和某个点的地址
  • 查看卖家和经销商: 查看卖家的广告数量、名片及其广告

示例提示词:

  • “找出德黑兰最便宜的二手 Peugeot 206,并判断与类似广告相比价格是否合理。”
  • “找出瓦纳克附近 80 亿 Toman 以下的出租公寓,并比较排名前三的广告。”
  • “显示今天早上以来马什哈德发布的 iPhone 15 新广告。”
  • “吉沙待售公寓的每平方米中位价是多少?”
  • ارزان‌ترین آپارتمان ۲ خوابه اجاره‌ای در ونک با ودیعه زیر ۱ میلیارد کدام است؟
  • قیمت این ماشین نسبت به آگهی‌های مشابه گران است یا ارزان؟
  • آگهی‌های جدید گوشی آیفون ۱۵ در مشهد را از امروز صبح نشان بده.

快速开始

你需要安装 uv。无需 API 密钥或账号。

Claude Code
claude mcp add divar -- uvx divar-mcp
Claude Desktop

设置 → 开发者 → 编辑配置,然后添加:

{
  "mcpServers": {
    "divar": { "command": "uvx", "args": ["divar-mcp"] }
  }
}
Cursor

将上方的 Claude Desktop 配置块添加到 ~/.cursor/mcp.json(或项目中的 .cursor/mcp.json)。

VS Code(Copilot Agent 模式)

点击上方的 在 VS Code 中安装,或添加到 .vscode/mcp.json:

{
  "servers": {
    "divar": { "type": "stdio", "command": "uvx", "args": ["divar-mcp"] }
  }
}
Codex CLI
codex mcp add divar -- uvx divar-mcp

或者添加到 ~/.codex/config.toml:

[mcp_servers.divar]
command = "uvx"
args = ["divar-mcp"]
Gemini CLI

添加到 ~/.gemini/settings.json:

{
  "mcpServers": {
    "divar": { "command": "uvx", "args": ["divar-mcp"] }
  }
}
Windsurf

将 Claude Desktop 配置块添加到 ~/.codeium/windsurf/mcp_config.json。

其他客户端

这是一个标准的 stdio MCP 服务:运行 uvx divar-mcp,或执行 pip install divar-mcp 后运行 divar-mcp。

## 工具

一张广告卡片包含 token、title、price(售价)或 deposit + rent(当 rent 为 0 且有 full_deposit 时表示 رهن کامل)、info(里程、状况等)、district、seller(中介标签)、age_h(距上次刷新已过的小时数)、photos、image(缩略图 URL,仅来自带有 thumbnails 的 dv_search)、chat、tag(付费推广)、url,以及价格看起来像占位值时的 suspect_price。未出现的标志表示为 false。默认每页显示 10 到 20 条广告。

除 dv_watch 和 dv_price_trend 仅写入本地文件外,所有工具名称均以 dv_ 开头,并标注为只读。

查找地点和类别
工具功能
dv_cities按名称查找城市 ID(1,177 个城市);不提供查询时列出最大的城市
dv_districts获取城市的街区及其 ID、中心位置和主干道
dv_neighbours获取与某个街区相邻的街区(Divar 列出的街区以及距离最近的街区)
dv_locate获取 GPS 点所在的城市、街区和街道地址
dv_place_search地图自动补全:将地标或街道转换为坐标
dv_place_mapping将旧版 Divar 地点 ID 转换为当前 ID
dv_categories包含 236 个节点的类别树;按名称搜索、列出子类别
dv_filters获取某个类别的所有筛选条件:键、类型、标签、单位、选项
dv_filter_options品牌和型号键(161 个汽车品牌)、街区及其他选项列表,支持类型化搜索
dv_suggest获取搜索框建议,以及对部分文本的类别推测
dv_parse_query将普通波斯语请求(“آپارتمان اجاره ونک زیر ۸ میلیارد”)转换为 dv_search 参数:城市、街区、价格范围、面积(80 متری)、类别
dv_boundary获取城市的街区边界(GeoJSON):城市范围框,或单个街区的多边形
搜索和价格
工具功能
dv_search按城市、类别、文本、街区、价格、品牌、照片、新鲜度和任意类别筛选条件搜索广告;支持合并多页结果、客户端年龄和关键词筛选、游标分页
dv_count统计符合搜索条件的广告数量(上限为 10,000)
dv_cheapest查找搜索结果中价格最低的广告;跳过占位价格和远低于中位数的异常值
dv_best_for_budget在预算范围内查找性价比最高的选项,并根据符合条件的广告中位数计算可解释的 deal_score(及 reasons);对于待售房产,按每平方米价格计算;同时显示预算能买到的最高配置;跳过诱饵、合作和贷款标题
dv_find_deals查找价格远低于搜索结果中位数的广告;无需设置预算;剔除无效价格和诱饵标题
dv_market获取价格统计数据(最小值、四分位数、中位数、最大值),以及按街区和日期划分的明细
dv_appraise判断广告价格(或你提供的价格)相对于类似广告是偏高还是偏低:百分位、判断结果(样本过少且调用结果极端时为“可比样本不足”)、置信度
dv_new_since获取某个时间戳之后发布的广告;使用返回的 latest 轮询,以持续关注搜索结果
dv_export将搜索结果中的广告导出为 CSV 或 JSON Lines
dv_nearby获取某个点周围的地图广告(必须指定类别),按距离从近到远排列,并显示坐标、距离和总价
dv_watch保存的搜索:创建后进行检查,仅获取自上次检查以来更新的广告(本地文件)
dv_price_trend获取某个搜索条件每天的一个挂牌中位价,在本地保存,并显示与前一天相比的变化
dv_status检查 Divar 是否可访问、延迟、缓存、已保存的关注项和工具列表
一条广告及其卖家
工具功能
dv_post完整广告信息:价格、规格、特点、描述、图片、地图位置、卖家类型、标记
dv_posts一次调用获取最多 10 条广告,信息精简
dv_compare并排比较 2 到 6 条广告:价格以及有差异的规格
dv_similar类似广告(品牌和地区相同,逐步扩大范围)
dv_seller卖家的个人和商业广告数量、名片(或“个人卖家”)以及其他广告
dv_dealer商家的公开页面:名称、加入时间、前 11 条广告

工作原理

  AI agent  (Claude, Cursor, Copilot, ...)
      │
      │  MCP over stdio
      ▼
  divar-mcp  (runs on your machine)
      │
      │  HTTPS
      └──────▶  api.divar.ir   ads, categories, places, map

divar-mcp 在本地运行,并调用 divar.ir Web 应用使用的同一 JSON 网关。它不经过中间托管服务,也不需要 API 密钥。它发送的每个 POST 都是只读查询。请求通过模拟 Chrome 的客户端发出(TLS/HTTP2 指纹和请求头),同时最多发送 2 个请求,并加入短暂的随机延迟;失败的调用最多重试两次。Divar 的列表响应是 widget JSON;服务会将其转换为精简的广告卡片,并根据获取到的要价计算排名和统计数据。

须知

  • 价格单位为 Toman。 Divar 上的价格本来就是 Toman,不会进行转换。缺少价格表示可议价(توافقی),绝不表示 0。租赁房源包含 deposit(ودیعه)和 rent(اجاره);rent 为 0 且带有 full_deposit 时,表示 رهن کامل。
  • 要价。 所有价格都是卖家填写的,并非最终成交价。有些卖家会填写无效价格(如 1,111,111,或把押金填成汽车价格):suspect_price 会标记此类占位价格;排名和统计会跳过这些价格,以及低于中位数十分之一的价格。
  • 省级范围。 city: "استان مشهد"(或 province:مشهد)会搜索该城市所在的整个省份;搜索区域和边界时必须指定城市。
  • 排序。 Divar 的 API 仅按最新时间返回结果;最前面的 1-3 条可能是付费推广,日期较早。dv_search 的 sort 和价格工具只会对本次调用获取的广告排序,而非整个市场的广告。分页使用时间游标(next_cursor -> cursor)。
  • 时效性。 age_h 表示距上次刷新(نردبان)的时间,而非距发布时间的时间;只有广告页面才显示实际发布时间。
  • 筛选条件。 dv_filters 会列出某个类别的筛选键;类别不支持的筛选条件会列在 ignored 中,不会被静默丢弃。Web URL 中使用的 slug(car)和 API 中使用的 slug(light)都可用。
  • 地图位置:大多数广告的位置会被模糊处理约 500 m(approximate_location)。
  • 不提供电话号码。 Divar 仅向已登录用户显示电话号码;此服务不会登录。使用 url 打开广告。
  • 大额价格。 详情页价格取自广告的价格行;广告其他位置的 Divar 原始数值在数值较大时会因浮点数舍入而失真。
  • 不可用功能: Divar 网站本身的价格估值、在 Divar 端按价格排序、翻阅某个商家的全部广告,以及任何需要登录才能访问的内容。
  • 速率限制: 测试时未发现速率限制,但请适度调用。
  • 机器人检查: 如果 Divar 提供了验证页面,请安装 divar-mcp[browser] 并运行 patchright install chromium;之后服务会通过无头浏览器处理一次验证。未安装时,调用会失败并返回相应提示。

常见问题

有供 AI Agent 使用的 Divar API 或 MCP 服务吗?

有:这个非官方 MCP 服务封装了 Divar 网站自身使用的公开 JSON API,因此 Claude、Cursor 或 Copilot 可以搜索广告、查看详情并比较价格。Divar 官方的 Kenar API 面向合作伙伴(需要 OAuth 和 API 密钥),本项目不会使用它。

它是官方、安全且免费的吗?

它是非官方的、开源的(MIT),并且免费。它只读,无需账号或 API 密钥,在你的机器上运行,中间没有托管服务。

它能给卖家发消息、发布广告或获取电话号码吗?

不能。这些操作需要登录 Divar,因此特意未纳入其中。

匹配的广告出现时,它能提醒我吗?

它不会主动推送。dv_new_since 只会返回晚于某个时间戳的广告,而 dv_watch 会为已保存的搜索记录该时间戳(保存在 ~/.divar-mcp/state.json 中,或使用 DIVAR_MCP_STATE),因此调度程序(cron、Claude Code 循环)可以通过 action: "check" 调用 dv_watch。

价格单位是 Rial 还是 Toman?

Toman。Divar 的 API 已使用 Toman,因此无需转换。

如何将它与 Claude、Cursor 或 Copilot 搭配使用?

使用 claude mcp add divar -- uvx divar-mcp 添加该服务,或使用快速开始中的相应配置,然后用波斯语或英语以自然语言提问。

它能用于汽车、手机和工作,而不仅限于住房吗?

可以。dv_categories 会列出包含 236 个节点的类别树,dv_filters 会显示各类别的筛选条件(品牌和型号、里程、价格等),因此同一套搜索工具适用于各个类别。

如何调试 Agent 看到的内容?
npx @modelcontextprotocol/inspector uvx divar-mcp

配置

变量默认值含义
DIVAR_MCP_PROXYunset用于访问 divar.ir 的请求的可选 HTTP 代理 URL,也可以是逗号分隔的列表:其中一个被屏蔽或连接失败后,将使用下一个。系统代理设置会被忽略
DIVAR_MCP_STATE~/.divar-mcp/state.json用于保存监控项和价格历史的文件(供 dv_watch 和 dv_price_trend 使用)

波斯语:Divar MCP 服务

divar-mcp 是一个非官方、只读的 Divar MCP 服务。Divar 是伊朗最大的信息分类网站。该服务允许您的 AI 助手(Claude、Cursor、Copilot 等)搜索伊朗各个城市的分类广告(房屋买卖和租赁、汽车、手机等)、查看广告详情、比较多个广告,并根据预算找到最便宜、最合适的广告。

功能

  • 搜索广告,支持按城市、街区、类别、文本、价格(以及租赁押金)、品牌和型号,以及各类别的筛选条件搜索。
  • 查找最低价广告和低于市场价的广告,并剔除虚假价格。
  • **价格评估:**判断某条广告的价格相较于类似广告是偏贵还是偏便宜,并提供价格统计数据(中位数和四分位数)。
  • 比较广告并查找类似广告。
  • 查看地图上某个地点附近的广告、街区及街区边界。
  • 监控新广告,并在您自己的系统上保存搜索记录和价格趋势。

注意事项

  • 仅供读取:不支持登录账号、发布广告、与卖家聊天或显示卖家电话号码。无需 API 密钥或用户账号,并且服务在您自己的系统上运行。
  • 所有价格均以托曼为单位;未标明价格表示价格面议。价格是卖家填写的价格,并非最终成交价。
  • 使用波斯语提问效果最佳。
  • 如有需要,可设置代理,配置变量 DIVAR_MCP_PROXY。

安装(请先安装 uv)。在 Claude Code 中:

claude mcp add divar -- uvx divar-mcp

在 Claude Desktop、Cursor 和其他应用中,使用 Quick start 部分的相同配置。

示例问题

  • “文克区最便宜的两居室出租房是哪套?押金低于 10 亿托曼。”
  • “这条汽车广告的价格相比类似广告怎么样?”
  • “显示今天早上以来马什哈德发布的新手机广告。”
  • “某个街区待售公寓的每平方米价格中位数是多少?”

开发

git clone https://github.com/sepehr071/divar-mcp && cd divar-mcp
uv sync
uv run ruff check . && uv run ruff format --check .
uv run python -m pytest -q            # offline, recorded fixtures
uv run python -m pytest -m live -q    # real API, one test per tool
uv build

工具位于 src/divar_mcp/(places.py、catalog.py、search.py、post.py、market.py、watch.py、meta.py);每个工具都是带有类型注解的异步函数,并附有说明何时使用它的文档字符串。欢迎提交问题和 PR。

发布版本:更新 pyproject.toml 和 server.json 中的版本,然后推送一个 v* 标签。GitHub Actions 会发布到 PyPI。

相关服务

免责声明

本项目为非官方项目,与 Divar 无关联,也未获得 Divar 认可。它通过 divar.ir Web 应用的接口读取公开数据,这些接口可能随时更改,恕不另行通知。它返回的所有内容都是卖家填写的要价,不构成建议。请保持较低的请求频率。

如果这个项目帮您减少了点击操作,点个星标可以帮助其他人发现它。

作者

Sepehr Radmard:面向伊朗 Web 的开源 MCP 服务。LinkedIn:linkedin.com/in/sepehr-radmard

由 Sepehr Radmard(سپهر رادمرد)开发和维护。欢迎通过 LinkedIn 联系,或在 GitHub 上关注 @sepehr071,了解更多面向伊朗网站的 MCP 服务;所有服务均列于 iran-mcp。如果这个项目为您节省了时间,请给仓库点个星标,帮助其他人发现它。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。