Token导航 LogoToken导航TokenDH.com
Price Comparison Tool logo
搜索检索未说明官方级别未说明来源级核验

Price Comparison Tool

MCP Server

一个基于TypeScript的价格比较工具,通过Google Shopping、Brave Search和Tavily搜索多个零售商以找到最佳产品价格。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude搜索Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mdcoolcat

提供方

mdcoolcat

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

产品价格比较工具

一个基于TypeScript的价格比较工具,使用Google Shopping、Brave Search和Tavily搜索多个零售商,以找到最佳产品价格。

特性

  • URL或产品名称输入:输入产品URL或仅输入产品名称
  • 自动产品提取:使用Tavily从URL中提取产品名称
  • 多引擎搜索:在Google Shopping、Brave和Tavily中搜索综合结果
  • 灵活的搜索模式:选择特定发动机(google, brave, tavily, mcp)或一次全部搜索
  • 智能过滤:自动过滤掉非电子商务网站(YouTube、Reddit、社交媒体)
  • 价格解析:自动提取价格、货币和折扣信息
  • 智能分拣:结果先按最低价格排序
  • 多种货币支持:处理美元、英镑、欧元、加元和澳元
  • 干净的Web界面:简单、响应迅速的用户界面,便于价格比较
  • 综合测试:105次测试,通过率100%

建筑

该工具支持 多种集成方法 访问搜索引擎:

  1. 谷歌购物API -与Google自定义搜索的直接REST API集成
  2. MCP工具 -三种不同的集成选项:

- CLI网桥 (当前活动):生成Claude Code CLI命令 - 直接MCP SDK:原生SDK与stdio传输的集成 - HTTP代理:MCP工具访问的独立代理服务器

核心组件

  1. URL处理者 (src/core/urlHandler.ts)-验证并规范URL
  2. 产品提取器 (src/core/productExtractor.ts)-从URL中提取产品名称
  3. 搜索服务 (src/core/searchService.ts)-通过灵活的模式协调多个引擎的搜索
  4. 价格分析器 (src/core/priceParser.ts)-从搜索结果中提取价格和折扣
  5. 结果排序器 (src/core/resultSorter.ts)-按价格对结果进行排序和重复数据消除

搜索引擎集成

该工具通过不同的服务与多个搜索引擎集成:

活动服务:

  • mcpBridge.ts -MCP工具的Claude Code CLI桥接器(Brave+Tavily)
  • googleShopping.ts -用于购物结果的Google自定义搜索API

替代MCP集成选项:

  • mcpClient.ts -使用@modelcontextprotocol/sdk直接集成
  • mcpProxy.ts + mcp-proxy-server.ts -基于HTTP的代理架构

使用的MCP工具

  • mcp__tavily-mcp__tavily-extract -从URL中提取产品信息
  • mcp__brave-search__brave_web_search -通过勇敢搜索API进行搜索
  • mcp__tavily-mcp__tavily-search -通过Tavilly Search API进行搜索

安装

# Install dependencies
npm install

# Configure environment variables
cp .env.example .env
# Edit .env and add your API keys

环境配置

创建一个 .env 具有以下API密钥的文件:

# Required for Brave Search
BRAVE_API_KEY=your_brave_api_key

# Required for Tavily
TAVILY_API_KEY=your_tavily_api_key

# Optional - for Google Shopping results
GOOGLE_API_KEY=your_google_api_key
GOOGLE_SEARCH_ENGINE_ID=your_search_engine_id

获取API密钥:

  • 勇敢的搜索:在获取API密钥 勇敢搜索API
  • 塔维利:注册地址: 塔维利
  • 谷歌自定义搜索 (可选):

- API密钥: 谷歌云控制台 - 搜索引擎ID: 可编程搜索引擎

用法

发展模式

# Start development server (with auto-reload)
npm run dev

服务器将在以下时间启动 http://localhost:3000

生产模式

# Build TypeScript
npm run build

# Start production server
npm start

API

POST/api/搜索

使用灵活的搜索模式搜索产品价格。

请求:

{
  "input": "Gaming Laptop",
  "mode": "all"
}

搜索模式:

  • all (默认)-同时搜索Google、Brave和Tavily
  • google -仅搜索谷歌购物
  • brave -只搜索勇敢
  • tavily -仅搜索Tavily
  • mcp -通过MCP工具搜索Brave和Tavily

URL输入:

{
  "input": "https://amazon.com/product/gaming-laptop-123",
  "mode": "all"
}

答复:

{
  "success": true,
  "productName": "Gaming Laptop XYZ",
  "results": [
    {
      "retailer": "Amazon",
      "productName": "Gaming Laptop XYZ",
      "currentPrice": 1249.99,
      "currency": "USD",
      "discount": 10,
      "originalPrice": 1388.88,
      "url": "https://amazon.com/...",
      "source": "google",
      "normalizedPrice": 1249.99
    }
  ]
}

源值:

  • google -Google购物结果
  • brave -Brave搜索结果
  • tavily -Tavily搜索结果

测试

该项目包括对所有核心功能的全面测试:

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Generate coverage report
npm run test:coverage

测试覆盖率

  • URL处理者:23个测试-URL验证、规范化、协议处理
  • 价格分析器:27项测试-各种价格格式、货币、折扣
  • 结果排序器:23个测试-排序、货币标准化、过滤
  • 产品提取器:17个测试-内容提取、产品名称解析
  • 搜索服务:15项测试-多引擎搜索、重复数据删除

总计:105次测试,100%通过

项目结构

price-comparison-tool/
├── src/
│   ├── core/
│   │   ├── urlHandler.ts          # URL validation and normalization
│   │   ├── productExtractor.ts    # Product name extraction from URLs
│   │   ├── searchService.ts       # Multi-engine search orchestration
│   │   ├── priceParser.ts         # Price and discount extraction
│   │   └── resultSorter.ts        # Result sorting and deduplication
│   ├── services/
│   │   ├── mcpBridge.ts           # [Active] CLI bridge to Claude Code
│   │   ├── mcpClient.ts           # [Alternative] Direct MCP SDK integration
│   │   ├── mcpProxy.ts            # [Alternative] HTTP proxy client
│   │   └── googleShopping.ts      # Google Custom Search API
│   ├── types.ts                   # TypeScript interfaces
│   ├── index.ts                   # Main orchestrator
│   └── server.ts                  # Express API server
├── public/
│   ├── index.html                 # Web interface
│   ├── style.css                  # Styling
│   └── app.js                     # Frontend logic
├── tests/
│   ├── urlHandler.test.ts
│   ├── productExtractor.test.ts
│   ├── searchService.test.ts
│   ├── priceParser.test.ts
│   └── resultSorter.test.ts
├── mcp-proxy-server.ts            # [Alternative] Standalone MCP proxy server
├── .env.example                   # Environment variable template
├── .gitignore
├── package.json
├── tsconfig.json
├── vitest.config.ts
└── README.md

运作原理

  1. 输入处理:用户输入产品URL或名称(可选搜索模式)
  2. 产品提取 (如果是URL):Tavily从页面中提取产品名称
  3. 并行搜索:根据模式,在选定引擎上搜索:

- 谷歌购物API(直接REST API) - 勇敢搜索(通过MCP工具) - Tavily搜索(通过MCP工具)

  1. 电子商务过滤:删除非购物网站(YouTube、Reddit、社交媒体)
  2. 价格解析:使用正则表达式模式提取价格、货币和折扣
  3. 去重:根据URL相似性和零售商删除重复结果
  4. 货币正常化:将所有价格转换为美元进行公平比较
  5. 排序:首先按最低价格排序,优先考虑谷歌购物结果
  6. 显示:在干净、响应迅速的表格中显示结果

支持的价格格式

  • 美元: $1,299.99, $99.99, 1299.99 USD
  • 英镑: £999, £1,299.50
  • 欧元: €1.299,50, €999
  • 计算机辅助设计: CAD $199.99, 199.99 CAD
  • 澳元: AUD $149.99, 149.99 AUD

折扣检测

该工具从以下模式中检测折扣:

  • 八折
  • “节省15%”
  • “99.99美元”
  • “最初149美元”

限制和注意事项

MCP集成方法

该项目包括 三种不同的MCP集成方法:

  1. CLI网桥 (目前活跃于 mcpBridge.ts):

- 生成Claude代码CLI命令: claude mcp-call - 简单,但需要安装和配置Claude Code CLI

  1. 直接SDK (可在 mcpClient.ts):

- 用途 @modelcontextprotocol/sdk 使用stdio传输 - 效率更高,但需要安装MCP服务器包

  1. HTTP代理 (可在 mcpProxy.ts + mcp-proxy-server.ts):

- Claude Code连接到的独立代理服务器 - 允许主应用程序独立于MCP工具运行

要在方法之间切换,请在中修改导入 src/core/searchService.ts.

谷歌购物API

  • 可选的:该工具在没有Google API密钥的情况下工作,仅使用Brave和Tavily
  • 结构化数据:谷歌搜索结果通常包括更好的产品元数据
  • 速率限制:免费套餐每天允许100次查询
  • 需要设置:需要API密钥和自定义搜索引擎ID

静态汇率

货币转换使用中定义的静态汇率 src/types.ts:

  • 美元:1.0(基准)
  • GBP:1.27
  • 欧元:1.09
  • 计算机辅助设计:0.74
  • 模数:0.66

对于生产用途,请考虑集成实时汇率API。

速率限制

  • 勇敢的搜索:查看您的计划的费率限制
  • 塔维利:查看您的计划的费率限制
  • 谷歌自定义搜索:100次查询/天(免费等级)
  • 该工具并行搜索引擎,因此一个搜索=多个API调用

未来的增强功能

  • ✅ ~~Google Shopping API集成~~(已完成)
  • ✅ ~~多种搜索模式~~(已完成)
  • ✅ ~~电子商务过滤~~(已完成)
  • 实时汇率API集成
  • 具有相似性评分的高级结果重复数据删除
  • 价格历史跟踪和趋势
  • 价格下跌警报和通知
  • 浏览器扩展
  • 其他搜索引擎(必应购物、易趣API等)
  • 用户帐户和保存的搜索
  • 多个产品之间的产品比较
  • 评论和评分汇总

许可证

国际学生委员会

贡献

欢迎投稿!请确保在提交PR之前通过所有测试:

npm test

目录标签

目录标签

TypeScriptClaude搜索价格比较本地部署多引擎搜索产品提取价格解析货币支持

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP