二手车数据分析服务

MCP AutoAdvisor Server 是一个用于二手车数据集分析和价格估计的MCP服务器,提供数据过滤、推荐、价格估计等功能。

  • by EstebanZG999
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 estebanzg999/mcp_autoadvisor_server

使用说明

MCP自动交易系统服务器

概述

MCP自动交易系统服务器 是为课程项目构建的自定义模型上下文协议(MCP)服务器。
它提供了一套工具来探索和分析以下数据集 23000辆二手车 具有品牌、型号、年份、里程、价格、燃料类型、变速器、状况和事故历史等属性。

服务器演示了 非平凡用例 通过公开数据过滤实用程序和简单的机器学习模型 价格估算.


数据集

  • 文件: data/Updated_Car_Sales_Data.csv

  • 排: 23,000

  • 柱:

    列 说明
    汽车制造商 制造商(例如本田、丰田、宝马)
    车型 车型名称(如思域、凯美瑞)
    年份 制造年份
    里程 行驶里程(单位:公里)
    价格 汽车价格
    燃料类型 燃料类型(汽油、柴油、混合动力、电动、汽油)
    颜色 车身颜色
    变速器 变速器类型(自动、手动)
    选项/功能 额外功能(GPS、真皮座椅、天窗等)
    状况 全新、如新、已使用
    事故 事故历史(是/否)

安装

克隆存储库并在Python虚拟环境中安装依赖项:

git clone https://github.com/EstebanZG999/MCP_AutoAdvisor_Server.git
cd MCP_AutoAdvisor_Server
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

要求:

pandas==2.2.2
scikit-learn==1.5.2
numpy==1.26.4
mcp>=1.12,<2

运行服务器

直接使用以下命令运行服务器:

python server.py

通常,服务器不应手动启动—— MCP主机 根据配置通过stdio启动它。


MCP配置(主机)

在你的 MCP主机 存储库,将以下条目添加到 servers.yaml:

servers:
  auto_advisor:
    command: "/absolute/path/to/MCP_AutoAdvisor_Server/.venv/bin/python"
    args: ["/absolute/path/to/MCP_AutoAdvisor_Server/server.py"]
    env: {}

工具

此服务器通过MCP公开5个工具:

1. filter_cars

说明: 根据品牌、型号、年份、价格、里程、燃料、变速器、状况、事故等标准过滤汽车。

输入架构:

{
  "Car Make": "Toyota",
  "Year_min": 2019,
  "Price_max": 25000,
  "Transmission": "Automatic",
  "Condition": "Used",
  "Accident": "No",
  "limit": 5
}

示例调用:

/mcp call auto_advisor filter_cars {...}

2. recommend

说明: 在预算和偏好范围内推荐汽车。按价格升序排列。

示例输入:

{
  "budget_max": 20000,
  "Fuel Type": "Gasoline",
  "Transmission": "Automatic",
  "Condition": "Used",
  "Accident": "No",
  "Year_min": 2017,
  "limit": 5
}

3. estimate_price

说明: 使用线性回归模型估算汽车的价格。

示例输入:

{
  "Car Make": "Honda",
  "Car Model": "Civic",
  "Year": 2020,
  "Mileage": 40000,
  "Fuel Type": "Gasoline",
  "Transmission": "Automatic",
  "Condition": "Like New",
  "Accident": "No"
}

输出示例:

{
  "input": {...},
  "estimated_price": 28188.75
}

4. average_price

说明: 计算按品牌、型号、燃料类型、年份范围等过滤的汽车的平均价格。

示例输入:

{
  "Car Make": "BMW",
  "Fuel Type": "Diesel",
  "Year_min": 2018
}

5. top_cars

说明: 返回按价格(便宜或昂贵)排序的前N辆车。

示例输入:

{
  "n": 5,
  "sort_order": "expensive",
  "Car Make": "Audi"
}

演示

从主机CLI:

/mcp tools auto_advisor
/mcp call auto_advisor filter_cars {"Car Make":"Toyota","Year_min":2019,"Price_max":25000,"Transmission":"Automatic","Condition":"Used","Accident":"No","limit":5}
/mcp call auto_advisor estimate_price {"Car Make":"Honda","Car Model":"Civic","Year":2020,"Mileage":40000,"Fuel Type":"Gasoline","Transmission":"Automatic","Condition":"Like New","Accident":"No"}
/mcp call auto_advisor average_price {"Car Make":"BMW","Fuel Type":"Diesel","Year_min":2018}
/mcp call auto_advisor top_cars {"n":5,"sort_order":"expensive","Car Make":"Audi"}
/mcp call auto_advisor recommend {"budget_max":20000,"Fuel Type":"Gasoline","Transmission":"Automatic","Condition":"Used","Accident":"No","Year_min":2017,"limit":5}

项目结构

MCP_AutoAdvisor_Server/
├── README.md
├── requirements.txt
├── data_check.py
├── server.py              # MCP entrypoint: defines tools, routes calls, stdio runner
├── mcp_server/
│   ├── __init__.py
│   └── tools.py           # Implementation of filtering, recommendation, ML price estimator
└── data/
    └── Updated_Car_Sales_Data.csv