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______________________________________________________________________
