汽车优惠搜索MCP
使用人工智能助手从Cars.com、Autotrader和KBB搜索二手车列表
一种MCP(模型上下文协议)服务器,用于聚合和搜索来自多个来源的汽车列表。并行删除列表,提取价格、里程、经销商信息,并应用可选的CARFAX式过滤器(1个所有者,无事故,个人使用)。

______________________________________________________________________
🚀 快速开始
先决条件
- Node.js (v16或更高版本)
- 铬/铬 已安装浏览器(Puppeteer要求)
- 如果Chrome不在默认位置,请设置 PUPPETEER_EXECUTABLE_PATH 指向Chrome/Chromium二进制文件的环境变量
安装
# Clone the repository
git clone https://github.com/SiddarthaKoppaka/car_deals_search_mcp.git
cd car_deals_search_mcp
# Install dependencies (includes Puppeteer)
npm install与MCP客户端一起使用
配置您的MCP客户端(Claude Desktop、VS Code、GitHub Copilot等)以使用此服务器:
适用于克劳德桌面 (~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"car-deals": {
"command": "node",
"args": ["/absolute/path/to/car_deals_search_mcp/src/server.js"]
}
}
}对于其他MCP客户端,请参阅其文档和使用方法:
- 命令:
node - 参数:
["/src/server.js"]
独立测试
# Run the test command
npm test
# Or test manually with a specific search
node -e "
const { scrapeCarscom } = require('./src/scraper.js');
scrapeCarscom({
make: 'Toyota',
model: 'Camry',
oneOwner: true,
noAccidents: true,
personalUse: true
}, 5).then(listings => listings.forEach(l => console.log(l.format())));
"______________________________________________________________________
✨ 特性
- 多源聚合:同时搜索Cars.com、Autotrader和KBB
- 智能过滤:CARFAX式过滤器(1-所有者,无事故,个人使用)
- 交易评级:基于启发式的交易质量评估
- 平行刮擦:跨源的快速并发查询
- 隐身模式:具有反机器人检测技术的木偶
______________________________________________________________________
📊 支持的来源
| 来源 | 价格 | 里程数 | 交易评级 | 经销商信息 | CARFAX筛选器 |
|---|---|---|---|---|---|
| Cars.com✅ | ✅ | ✅ | ✅ | ✅ | |
| 自动交易 | ✅ | ✅ | ⚠️ 有限 | ✅ | ⚠️ 有限 |
| KBB | ✅ | ✅ | ✅ | ⚠️ 有限 | ⚠️ 有限 |
______________________________________________________________________
🔧 MCP工具: search_car_deals
参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
make | string | ✅ | 汽车制造商(例如“丰田”、“本田”) |
model | string | ✅ | 车型(如“凯美瑞”、“雅阁”) |
zip | string | ❌ | 本地搜索的邮政编码(默认值:“90210”) |
yearMin | 整数 | ❌ | 最低车型年份 |
yearMax | 整数 | ❌ | 最大车型年份 |
priceMax | 整数 | ❌ | 最高价格(美元) |
mileageMax | 整数 | ❌ | 最大行驶里程 |
maxResults | 整数 | ❌ | 每个源的最大结果数(默认值:10) |
sources | 数组 | ❌ | 要查询的来源: ["cars.com","autotrader","kbb"] (默认值:全部) |
oneOwner | boolean | ❌ | 仅适用于CARFAX 1车主车辆的过滤器 |
noAccidents | boolean | ❌ | 无事故报告过滤器 |
personalUse | boolean | ❌ | 仅供个人使用的过滤器(不出租/车队) |
示例响应
🚗 2021 Toyota Camry XSE
💰 Price: $23,491
📏 Mileage: 52,649 mi
⭐ Deal Rating: Good Deal
🏆 CARFAX: 1-Owner | No Accidents | Personal Use
🏪 Dealer: Valencia BMW
🌐 Source: Cars.com
🔗 https://www.cars.com/vehicledetail/...______________________________________________________________________
🛠️ 技术细节
- 抓取:Puppeteer(无头Chromium),带有隐形插件,可绕过机器人检测
- 并发:并行scraper workers用于同时进行多源查询
- 协议:实现用于AI辅助集成的MCP(模型上下文协议)
- 数据提取:特定于源代码的解析器将列表规范化为通用模式
铬/铬要求
此项目使用Puppeteer,需要安装Chrome或Chromium:
- macOS:Chrome通常在
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome - Linux:通常由Puppeteer或
/usr/bin/chromium-browser - 视窗:通常在
C:\Program Files\Google\Chrome\Application\chrome.exe
如果Puppeteer找不到您的浏览器,请设置环境变量:
export PUPPETEER_EXECUTABLE_PATH="/path/to/chrome"______________________________________________________________________
🧪 开发与测试
# Run tests
npm test
# Test individual scrapers
node src/scraper.js
# View code structure
ls -la src/______________________________________________________________________
🤝 贡献
欢迎投稿!请遵循以下工作流程:
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 添加新功能的测试
- 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
请包括抓取/解析更改的测试覆盖率,以避免源站点更新时出现退化。
______________________________________________________________________
📄 许可证
MIT许可证-请参阅 许可证 详细信息文件
______________________________________________________________________
🔗 链接
- 仓库: https://github.com/SiddarthaKoppaka/car_deals_search_mcp
- 问题: https://github.com/SiddarthaKoppaka/car_deals_search_mcp/issues
- MCP协议: https://modelcontextprotocol.io
