Bargainer Mcp Client

Bargainer Mcp Client

🚀 讨价者MCP客户端 🛍️

讨价者MCP客户端是一款强大的模型上下文协议(MCP)客户端,可从多个来源查找和比较交易信息,这些来源包括Slickdeals、RapidAPI市场和网页抓取。它具备现代基于网页的聊天界面,可实现交互式交易搜索。

✨ 主要特性

  • 多源交易聚合:集成了Slickdeals API、RapidAPI市场和网页抓取功能。
  • 交互式聊天界面:通过Socket.IO实现实时消息传递的现代网页用户界面。
  • 智能交易过滤:可按价格、评级、商店和类别进行过滤。
  • 交易比较:跨多个来源比较交易信息。
  • MCP协议集成:完整实现模型上下文协议,拥有6种专业工具。
  • 提供者模式架构:可扩展设计,便于添加新的交易来源。
  • TypeScript编写:完全类型化的代码库,具备严格的类型检查。

🚀 快速开始

前提条件

  • Node.js 18+
  • npm 或 yarn
  • 外部服务的API密钥(可选,可回退到模拟数据)

📦 安装指南

# 克隆仓库
git clone https://github.com/karthiksivaramms/bargainer-mcp-client.git
cd bargainer-mcp-client

# 安装依赖
npm install

# 构建项目
npm run build

💻 使用示例

网页聊天界面

# 启动网页界面
npm run web

# 或者在开发环境下使用自动重新加载功能
npm run dev:web

然后在浏览器中打开 http://localhost:3001 并开始聊天!

MCP服务器

# 启动MCP服务器
npm run dev

# 或者运行已构建的版本
npm start

演示与测试

# 运行交互式演示
npm run demo

# 测试服务器
npm run test:server

💬 可用命令

在聊天界面中使用以下自然语言命令:

  • 搜索交易:“查找价格低于500美元的笔记本电脑交易”
  • 获取顶级交易:“显示今天的顶级电子产品交易”
  • 过滤交易:“价格低于100美元、评级4星以上的游戏耳机”
  • 交易详情:“告诉我关于这个iPhone交易的更多信息”
  • 比较交易:“跨来源比较iPad交易”
  • 列出来源:“有哪些可用的交易来源?”

🛠️ MCP工具

服务器提供6种专业工具:

  1. search_deals - 按产品名称或关键词搜索交易。
  2. get_top_deals - 从所有来源获取热门交易。
  3. filter_deals - 按价格、评级、商店、类别过滤交易。
  4. get_deal_details - 获取特定交易的详细信息。
  5. compare_deals - 跨多个来源比较交易。
  6. get_available_sources - 列出所有已配置的交易来源。

🏗️ 架构

src/
├── server.ts              # 主MCP服务器
├── providers/             # 交易来源提供者
│   ├── base.ts           # 基础提供者接口
│   ├── slickdeals.ts     # Slickdeals API提供者
│   ├── rapidapi.ts       # RapidAPI市场提供者
│   └── webscraping.ts    # 网页抓取提供者
├── services/
│   └── aggregator.ts     # 交易聚合服务
└── types/                # TypeScript类型定义

ui/
├── index.html            # 聊天界面
├── chat-interface.js     # 前端JavaScript
└── server.js             # 带有Socket.IO的Express服务器

test/                     # 测试文件
scripts/                  # 实用脚本

🤝 贡献

欢迎贡献代码!请随时提交拉取请求。

开发设置

# 安装依赖
npm install

# 以自动重新加载模式启动开发
npm run dev

# 以自动重新加载模式启动网页界面
npm run dev:web

# 运行代码检查
npm run lint

# 格式化代码
npm run format

添加新的交易来源

  1. src/providers/ 中创建一个新的提供者。
  2. 扩展 BaseDealProvider
  3. 实现所需的方法。
  4. aggregator.ts 中注册。

📚 详细文档

交易对象结构

interface Deal {
id: string;
title: string;
price: number;
originalPrice?: number;
discount?: number;
rating?: number;
store: string;
url: string;
imageUrl?: string;
description?: string;
category?: string;
source: string;
timestamp: Date;
}

📄 许可证

本项目采用MIT许可证 - 详情请参阅 LICENSE 文件。

👨‍💻 作者

Karthik Sivaram M

💡 支持

如果您有任何问题或遇到问题,请在GitHub上 创建一个问题

🗺️ 路线图

  • [ ] 集成更多交易来源
  • [ ] 交易提醒和通知
  • [ ] 价格历史跟踪
  • [ ] 高级过滤选项
  • [ ] 移动应用版本
  • [ ] 交易分享功能

为各地的讨价还价者用心打造!

  • 0 关注
  • 0 收藏,28 浏览
  • system 提出于 2025-10-04 05:03

相似服务问题

相关AI产品