mcpField
V
VanAuto Campers

VanAuto Campers

远程服务
github.com/vanautoPL地图与出行03 周前更新
代码仓库

关于 VanAuto Campers

VanAuto Campers 是只读 MCP 服务,可搜索房车销售、租赁和市场商品信息,并提供详情、照片、价格分析及买卖双方相关信息。

主要功能

  1. 01搜索销售和租赁房源
  2. 02查看规格、照片和设备
  3. 03分析房源价格
  4. 04查找相似房车
  5. 05搜索配件和求购信息
  6. 06查看卖家资料及租赁评价

适用场景

  1. 01比较待售或出租的房车
  2. 02根据市场价格评估房源
  3. 03查找兼容配件或求购信息

MCP 相关

通过公开的 Streamable HTTP 端点向 MCP 客户端提供搜索、房源、市场分析、市场商品和评价工具及提示词;也提供本地 stdio 入口。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.vanauto.pl/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

12
参数类型必填说明
citystring否波兰语城市名,例如 "Wrocław"、"Kraków"。按城市目录匹配。
makestring否露营车品牌,例如 "Adria"、"Fiat"、"Benimar"。使用 list_camper_makes 解析名称。
sortenum否排序顺序。Rental 仅支持 newest、price_asc、price_desc。newest | oldest | price_asc | price_desc | ranking | year_desc | year_asc
afterstring否从先前调用的 nextCursor 获取下一页的非透明游标。
limitinteger否要返回的最大行数(1-50)。
modelstring否露营车型号,例如 "Ducato"、"Jumper"。
querystring否在列表标题和描述中进行全文搜索。
stateenum否brand_new 或 pre_owned。brand_new | pre_owned
segmentenum否列表类型:sale 或 rental。sale | rental
yearMaxinteger否最晚生产年份。
yearMininteger否最早生产年份。
fuelTypeenum否燃料类型。petrol | diesel | electric | hybrid | lpg | other
priceMaxnumber否PLN 计价的最高价格(销售价格或每期租金)。
priceMinnumber否PLN 计价的最低价格(销售价格或每期租金)。
camperTypeenum否车身类型。van | integra | half_integra | alcove | pickup | trailer | rooftop | other
mileageMaxinteger否最高里程(km)。
availableTostring否仅限租赁:最晚归还日期(ISO 格式,例如 2026-07-14)。
transmissionenum否变速箱类型。manual | automatic | semi_automatic
availableFromstring否仅限租赁:最早取车日期(ISO 格式,例如 2026-07-01)。
sleepingPlacesMininteger否最少睡眠位数。

详细介绍

VanAuto Campers MCP

只读 MCP 服务,供 AI 客户端搜索和查看 VanAuto 房车挂牌信息、租赁信息和交易市场(akcesoria)商品。该服务会调用 VanAuto 公共 API,因此无需凭据,也无法更改任何数据。

公共端点: https://mcp.vanauto.pl/mcp(Streamable HTTP,无需身份验证) 健康检查: https://mcp.vanauto.pl/health(通过 GitHub Actions 每 6 小时检查一次运行状态) MCP Registry: pl.vanauto/campers — 可供连接到注册表的客户端发现。

工具

工具功能
search_campers按文本、品牌、型号、房车类型、燃料、变速箱、状态、价格、年份、里程、卧铺数和城市等条件搜索在售或出租的挂牌信息;租赁信息还支持按可租日期筛选。
get_camper_details根据 slug 获取一条挂牌信息的完整详情(自动判断在售还是出租),或根据 cam_... id 获取房车规格表:解码后的规格、照片、设备、联系方式和链接。includePhotos 会附带 400px 缩略图作为实际图像,供多模态模型查看。
analyze_camper_prices获取同类挂牌的市场价格统计(最低价/最高价/平均价/中位数/p25/p75、按年份计算的平均价);还可选地分析一条挂牌的价格对比情况(百分位数、与中位数的差异)。
find_similar_campers查找平台为某条在售挂牌推荐的替代房车。
list_camper_makes获取所有 200 多个房车品牌及其在售/出租数量,用于匹配品牌名称。
list_camper_equipment按类别分组的设备目录。
get_camper_market_stats当前市场概况:在售挂牌数量、按车身类型统计的房车数量,以及有库存的品牌。
get_rental_reviews获取租赁挂牌已发布的客户评价。
search_marketplace_listings按文本、制造商、类别、商品状况、兼容性、价格和地点等条件搜索交易市场配件。
get_marketplace_listing_details获取配件挂牌完整详情,包括卖家信息、配送、照片和相关商品。
get_marketplace_seller获取卖家资料:信任徽章、评分、信誉和在售商品。
search_wanted_ads搜索交易市场求购信息(寻找零件/配件的买家)。

提示词

支持 MCP 提示词的客户端可使用一键式工作流:

提示词功能
social-post获取挂牌信息,并撰写带主题标签的波兰语 Facebook/Instagram/OLX 帖子。
price-check将挂牌与同类市场挂牌进行比较,并用波兰语给出价格评估。
compare-campers根据买家需求并排比较 2-4 条挂牌信息。
seo-description将挂牌描述改写为适合 SEO 的波兰语文本。

数据以波兰语提供(与网站一致);价格以 PLN 计。租赁条目包含 dailyRates(各时段费率),而非单一价格。

连接客户端

远程(托管)

OpenCode(~/.config/opencode/opencode.json):

{
  "mcp": {
    "vanauto-campers": {
      "type": "remote",
      "url": "https://mcp.vanauto.pl/mcp",
      "enabled": true
    }
  }
}

Claude / ChatGPT:添加 https://mcp.vanauto.pl/mcp 作为自定义连接器。

Claude Desktop(不支持原生远程连接的旧版本):

{
  "mcpServers": {
    "vanauto-campers": {
      "command": "npx",
      "args": ["mcp-remote", "https://mcp.vanauto.pl/mcp"]
    }
  }
}
本地(stdio)

该软件包已准备好发布到 npm,名称为 vanauto-mcp-campers。发布后:

npx -y vanauto-mcp-campers

在此之前,请在代码检出目录中运行,并使用 src/server.js 的绝对路径(参见 mcp.config.example.json):

{
  "mcpServers": {
    "vanauto-campers": {
      "command": "node",
      "args": ["/path/to/mcp-campers/src/server.js"],
      "env": {
        "VANAUTO_API_URL": "https://api.vanauto.pl",
        "VANAUTO_SITE_URL": "https://vanauto.pl"
      }
    }
  }
}

配置

环境变量默认值用途
VANAUTO_API_URLhttps://api.vanauto.plAPI 基础 URL。设置为 http://localhost:3000 可使用本地 Rails 服务。
VANAUTO_SITE_URLhttps://vanauto.pl用于构建挂牌链接的前端基础 URL。

开发

npm install
npm start            # stdio server
npm run dev          # local HTTP endpoint at http://127.0.0.1:8787/mcp (wrangler dev)

检查

npm run check            # syntax check
npm run smoke            # live tool checks against the configured API
npm run smoke:protocol   # MCP handshake + tools/list + tools/call over stdio
npm run smoke:http       # same over HTTP: MCP_URL=https://mcp.vanauto.pl/mcp npm run smoke:http
npm run usage:report     # anonymous tool-usage report from D1 (last 30 days)

部署

服务器以 Cloudflare Worker(src/worker.js)的形式运行;stdio 入口 (src/server.js)供本地客户端使用。两者共用 src/app.js 中的 工具工厂。

npx wrangler login       # once per machine
npx wrangler deploy      # deploys the Worker + mcp.vanauto.pl custom domain

推送到 main 后会通过 .github/workflows/deploy.yml 自动部署,该工作流需要两个仓库密钥:

密钥值
CLOUDFLARE_API_TOKEN使用 Edit Cloudflare Workers 模板创建的 API 令牌
CLOUDFLARE_ACCOUNT_IDCloudflare 账户 ID(Workers 控制面板右侧栏)

每次部署后,工作流都会针对 https://mcp.vanauto.pl/mcp 运行 npm run smoke:http。

MCP Registry

此服务器已发布到官方 MCP Registry,名称为 pl.vanauto/campers (通过 vanauto.pl 上的 DNS TXT 记录验证命名空间)。更改 server.json 后,要发布新版本:

# Signing key lives outside the repo, e.g. ~/.config/vanauto-mcp/registry-key.pem
PRIVATE_KEY="$(openssl pkey -in ~/.config/vanauto-mcp/registry-key.pem -noout -text | grep -A3 'priv:' | tail -n +2 | tr -d ' :\n')"
mcp-publisher login dns --domain vanauto.pl --private-key "$PRIVATE_KEY"
mcp-publisher publish

确保 server.json 中的 version 与 package.json 保持一致;Registry 会拒绝重复版本。

使用情况分析

已部署的 Worker 会将每次工具调用记录为一条匿名数据,写入 Cloudflare D1 (tool_events):工具名称、经过清理和截断的参数、成功或错误状态、 耗时,以及根据 user agent 解析出的粗略客户端类型(chatgpt、 claude、opencode 等)。不会存储 IP 地址、令牌或用户标识符。

npm run usage:report             # last 30 days
npm run usage:report -- --days 7

报告会显示各工具的调用次数、客户端类型、租赁与出售搜索,以及最常被请求的 词组、品牌和露营车类型——这些数据可反映买家向 AI 咨询的内容。在本地, wrangler dev 会将事件写入本地数据库,而不是线上数据库。

行为说明

  • 只读。 每次调用都是针对 /public/... 的 HTTP GET;不访问数据库,也不需要身份验证令牌。
  • 只有一个公开入口。 只有 mcp.vanauto.pl 提供 MCP 服务;workers.dev 路由已禁用,因此无法绕过该区域的速率限制规则。
  • 缓存。 目录端点(品牌、设备)会在进程内缓存一小时;搜索和详情会缓存两分钟。API 本身也会缓存响应。在 Workers 上,每个 isolate 都有自己的短期缓存实例。
  • 分页。 search_campers 最多返回 50 条记录和一个 nextCursor;将其作为 after 传回即可获取下一页。Marketplace 搜索采用基于页码的分页(page、perPage)。
  • 截断。 长房源描述会被截断(默认 4000 个字符,可通过 maxDescriptionChars 修改),避免单次调用占满模型的上下文。
  • 照片。 始终包含照片 URL;includePhotos 还会附加最多 6 张(默认 3 张)400px WebP 缩略图(每张约 25 KB),作为 MCP 图像内容提供给多模态模型。
  • 工具失败时会返回带有易读消息的 isError 结果。例如,缺少 slug 时会报告 "No active sale or rental listing found with slug ..."。

评论

支持 Markdown

第一次接触 MCP?

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

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