关于 Marktplaats & 2dehands
marktplaats-mcp 将 MCP 客户端连接到 Marktplaats.nl 和 2dehands.be 的分类信息。它支持精细搜索、卖家核查和价格分析;本地浏览器会话还可执行账户操作,写入操作需明确确认。
主要功能
- 01按条件筛选广告
- 02广告详情与卖家可信度信息
- 03价格统计与新广告监控
- 04账户消息、收藏和竞价
- 05写入操作预览与确认
- 06托管只读端点
适用场景
- 01按地点、价格和属性查找分类广告
- 02评估卖家并比较报价
- 03监控荷兰或比利时的新广告
- 04使用现有账户管理消息与竞价
MCP 相关
向 MCP 客户端提供结构化工具、提示词和类别资源。客户端可连接托管只读端点,也可运行本地服务以使用账户工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://marktplaats-mcp.jaspnerd.dev/mcpclaude mcp add --transport http jasp-nerd-marktplaats https://marktplaats-mcp.jaspnerd.dev/mcp{"mcpServers":{"jasp-nerd-marktplaats":{"type":"http","url":"https://marktplaats-mcp.jaspnerd.dev/mcp"}}}在 Cursor 中打开{"servers":{"jasp-nerd-marktplaats":{"type":"http","url":"https://marktplaats-mcp.jaspnerd.dev/mcp"}}}在 VS Code 中打开{"mcpServers":{"jasp-nerd-marktplaats":{"type":"http","url":"https://marktplaats-mcp.jaspnerd.dev/mcp"}}}{"mcpServers":{"jasp-nerd-marktplaats":{"serverUrl":"https://marktplaats-mcp.jaspnerd.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
English | Nederlands | Français
marktplaats-mcp:Marktplaats 和 2dehands MCP 服务
marktplaats-mcp 是适用于 Marktplaats.nl(荷兰)和 2dehands.be(比利时)的 MCP 服务,这两个平台提供荷兰和比利时的二手分类信息(tweedehands、petites annonces d'occasion)。您可以通过 Claude、ChatGPT、Cursor、Codex、Gemini 或任何其他 MCP 客户端搜索商品信息、按类别属性筛选、核查卖家、比较价格并关注新发布的信息。使用自己的登录账号,还可以读取和发送消息、出价,以及管理收藏和发布的信息。无需 API 密钥。
## 🚀 开始使用无需安装:粘贴 URL 即可。 托管的只读服务运行在 https://marktplaats-mcp.jaspnerd.dev/mcp。将其添加为自定义连接器,即可在 claude.ai(Settings → Connectors,免费方案和移动端均可使用)、ChatGPT、Mistral Le Chat、Perplexity 或 Gemini app 中使用。
Claude Code:一条命令。
claude mcp add --scope user marktplaats -- uvx marktplaats-mcp
其他客户端。 安装 uv(运行 brew install uv,或在 Windows 上运行 winget install --id=astral-sh.uv -e),然后添加标准 MCP 配置:
{ "mcpServers": { "marktplaats": { "command": "uvx", "args": ["marktplaats-mcp"] } } }
适用于 40 种客户端(Cursor、VS Code、Codex、Gemini CLI、Cline、Windsurf、JetBrains、Zed、opencode、Goose 等)的分步说明,包含各操作系统对应的配置路径,以及每个客户端官方指南的链接:docs/clients.md。
然后询问:“找一辆 €500 以下、距离 1011 AB 不超过 25 km、车架尺寸为 57-61 cm 的公路自行车,并告诉我卖家看起来是否靠谱。”
Marktplaats 没有公开 API,且登录需要通过短信进行双重身份验证,因此此服务绝不会索要你的密码。它会从你已登录的浏览器中复制会话:
uvx --from 'marktplaats-mcp[login]' marktplaats-mcp login
会话存储在 ~/.config/marktplaats-mcp/session.json 中,只有你的用户账户可读取。重启 MCP 客户端后,账户工具就会显示。
marktplaats-mcp login --site 2dehands # also import your 2dehands.be session
marktplaats-mcp login --read-only # never send, bid or change favorites
marktplaats-mcp login --window # open a browser window and log in there instead
marktplaats-mcp login --paste # paste a Cookie header from DevTools instead
marktplaats-mcp status # is the stored session still valid?
marktplaats-mcp logout # delete it
如果登录时提示无法读取浏览器 Cookie
- macOS:系统会阻止命令行工具读取浏览器数据,且不会弹出提示。请打开“系统设置” →“隐私与安全性” → 完全磁盘访问权限,添加你使用的终端应用(Terminal、iTerm、Warp 或 VS Code),然后退出并重新打开该应用。接着再次运行登录命令。
- Windows:Chrome 和 Edge 运行时会锁定 Cookie 文件;此工具会先复制文件,因此通常可以正常使用。如果无法使用,请关闭浏览器并重新登录,或使用
--paste。 - Linux:Chromium 浏览器会将 Cookie 密钥存储在密钥环(GNOME Keyring 或 KWallet)中,必须先解锁;Firefox 无需任何操作。Snap 或 Flatpak 浏览器会将配置文件保存在其他位置,因此请在这些浏览器中使用
--paste。 - 所有平台:
marktplaats-mcp login --paste无需任何权限。在浏览器中打开 marktplaats.nl,按 F12 → Network,点击任意请求,复制Cookie请求标头并粘贴。
或者,在客户端配置中设置 MARKTPLAATS_COOKIE / TWEEDEHANDS_COOKIE(请求的 Cookie 标头)。会话有效期为数周;会话过期时,工具会提示你重新登录。
发送消息、联系卖家和出价都会先返回预览,只有再次调用并设置 confirm=true 后才会执行。出价在 Marktplaats 上具有约束力;工具会拒绝低于最低金额的出价。Marktplaats 条款禁止自动发布广告,因此此功能不会实现。请参阅安全模型。
🧰 工具
| 工具 | 功能 | 账户 | 写入 |
|---|---|---|---|
search_listings | 按查询词、类别、子类别、类别专属属性、价格范围、成色、配送方式(自取/配送)、与邮政编码的距离、发布时间、排除关键词、排序和分页搜索 | ||
get_listing_details | 完整广告信息:描述、属性、状态(有效/已关闭)、准确发布时间、浏览和收藏次数、竞价状态和最低出价、配送、图片、卖家回复率和账户年龄。接受粘贴的 URL | ||
get_seller_profile | 信任指标:银行账户、身份、电话、企业认证、付款方式、评价分数和数量、卖家接受的最低出价 | ||
list_seller_listings | 某位卖家发布的所有商品:冒充私人卖家的专业经销商和重复广告 | ||
list_categories | 用于筛选的类别树(名称和 ID),也可作为 MCP 资源使用 | ||
list_category_filters | 查找某个类别的筛选条件(品牌、车架高度、里程、燃料、RAM……)及其有效值和数量 | ||
check_new_listings | 按最新发布顺序监控,并使用无状态游标:仅返回 since 之后发布的广告,绝不会漏掉任何广告 | ||
analyze_prices | 搜索结果要价的中位数、四分位数、最小值、最大值和平均值,以及最便宜的匹配结果 | ||
get_my_account | 会话检查、未读消息和通知 | ✅ | |
list_conversations、get_conversation | 收件箱和完整消息线程 | ✅ | |
list_my_listings、list_favorites、list_my_bids、list_saved_searches | 你的广告(浏览量、收藏数、最高出价、到期时间)、收藏、出价和已保存的搜索 | ✅ | |
send_message、contact_seller | 在消息线程中回复,或向卖家提问、提出无约束力的报价。先预览,再设置 confirm=true 发送 | ✅ | ✅ |
place_bid | 对广告出价。先预览;拒绝低于最低出价的报价,并标记为破坏性操作 | ✅ | ✅ |
set_favorite、extend_my_listing | 收藏/取消收藏广告;续期你即将到期的广告 | ✅ | ✅ |
只读工具带有相应的 MCP 注释,因此客户端会跳过这些工具的确认提示,并对写入工具请求确认。每个工具都会返回具有真实架构的结构化输出。两个提示词 bargain_hunt 和 vet_listing 编码了常见工作流。
你可以怎么说,以及会发生什么
| 你说 | Agent 调用 |
|---|---|
| “一部成色良好的 iPhone 15 128 GB,售价 €450,价格合理吗?” | analyze_prices → 中位数、四分位数和最便宜的三条广告 |
| “找一辆二手 Golf,2018-2022 年款,行驶里程低于 100,000 km,汽油车,私人卖家出售” | list_category_filters("Auto's") → search_listings(attributes={"Bouwjaar": "2018-2022", "Kilometerstand": "-100000", "Brandstof": "Benzine", "Adverteerder": "Particulier"}) |
| “这个卖家可信吗?他们还在卖什么?” | get_listing_details → get_seller_profile → list_seller_listings |
| “安特卫普附近有新的货运自行车广告时告诉我” | check_new_listings(site="2dehands", postcode="2000", distance_km=25),每次轮询时都使用返回的游标 |
| “问卖家商品是否还在,并出价 €120” | contact_seller(..., offer_euros=120) 预览 → 你确认 → 已发送 |
| “回复 Piet,说我星期六可以去取” | list_conversations → send_message 预览 → 你确认 → 已发送 |
🔒 安全模型
- 默认不需要凭据。 搜索、详情、卖家检查、筛选、价格统计和监控均无需账号。
- 会话由你掌控。 本地服务只会从你的浏览器或只有你能读取的文件中读取 Cookie,并且只将其发送到 marktplaats.nl / 2dehands.be,绝不记录。托管端点在配置了账号凭据时会拒绝启动。
- 写入操作需要明确确认。 发送消息和出价前会显示预览,并要求
confirm=true;低于最低金额的出价会被拒绝;login --read-only或MARKTPLAATS_READ_ONLY=1会彻底禁用写入操作;每次确认后的写入操作都会在本地记录。 - 不可信内容会被标记。 商品信息和消息由其他用户撰写;服务会告知模型将其视为数据,绝不能视为指令。
- 对交易平台保持礼貌。 请求会间隔发送(
MARKTPLAATS_MIN_INTERVAL_MS,默认值为 200),并在失败后通过退避策略和Retry-After重试;搜索页面会缓存 1 分钟。托管端点会对每个客户端和全局请求进行速率限制。 - 没有联盟链接,也不跟踪用户。 返回的商品 URL 与交易平台发布的完全一致。
❓ 常见问题
有 Marktplaats 的 MCP 服务吗?
有,就是这个。免费、开源(MIT),无需 API 密钥。将托管 URL 粘贴到 claude.ai,或运行 uvx marktplaats-mcp。
它支持 2dehands.be 和比利时吗?
支持。每个工具都接受 site="2dehands";设置 language="nl" 或 "fr" 可将比利时搜索结果限定为一种语言。
我需要 Marktplaats 账号或 API 密钥吗?
不需要。只有账号工具需要使用你自己的登录信息,并且它们使用你现有的浏览器会话,而非密码。
AI 可以读取和发送我的 Marktplaats 消息,或进行出价吗?
可以,使用本地服务并运行 marktplaats-mcp login 后即可。发送消息和出价前会显示预览,并且只有在你确认后才会执行。
我的登录凭据存储在哪里?
凭据存储在你设备上的 ~/.config/marktplaats-mcp/session.json 中,该文件只有你的用户账户可以读取;也可以存储在你自行设置的环境变量中。凭据只会发送到 marktplaats.nl / 2dehands.be。运行 marktplaats-mcp logout 即可将其删除。
不安装任何东西也能使用吗?
可以:托管端点 https://marktplaats-mcp.jaspnerd.dev/mcp 可在 claude.ai 中使用,包括 Free 方案和移动应用。它提供只读工具。
它支持 ChatGPT、Cursor、Gemini、VS Code 和 Cline 吗?
支持。请参阅 docs/clients.md,了解各客户端的分步说明。任何能运行 stdio 服务的客户端都可以使用 uvx marktplaats-mcp;支持远程服务的客户端则可以使用托管 URL。
这是 Marktplaats 官方项目或与其有关联吗?
不是。这是一个独立的开源项目,与 Marktplaats、2dehands 或 Adevinta 均无关联。它使用网站所用的相同公开 JSON 端点;该 API 没有文档,且可能发生变化,因此我们每天都会运行一次线上金丝雀测试。
为什么我有时看到的结果少于限制数量,或者 total_count 看起来很大?
默认会过滤掉付费推广商品(DAGTOPPER、TOPADVERTENTIE);传入 include_sponsored=true 即可查看这些商品。total_count 是过滤前交易平台提供的原始数量。
支持哪些 Python 版本?
支持 Python 3.10 及更高版本。CI 会在 Linux、macOS 和 Windows 上测试 3.11 至 3.13 版本。
📚 文档
🗺️ 路线图
- 跨站点搜索(一次调用即可搜索 NL 和 BE)
- 由 Agent 创建已保存的搜索
- Claude Desktop 扩展包(MCPB)
🤝 参与贡献
欢迎提交 PR。开发环境设置请参阅 CONTRIBUTING.md:运行 uv sync --all-groups,然后运行 uv run pytest。uv run python scripts/e2e_smoke.py 可运行线上金丝雀测试。
本项目借鉴了 marktplaats-py、marktplaats-monitor、marktplaats-2dehands-mcp 和 PonClick/marktplaats-mcp 中经过验证的思路。详情请见 THIRD_PARTY_NOTICES.md。
如果本项目帮你省下了一趟去 Marktplaats 的路程,点个星标有助于其他人发现它。
📄 许可证
MIT © 2026 jasp-nerd
mcp-name: io.github.jasp-nerd/marktplaats-mcp
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。