
该项目,模型上下文协议(MCP) 是一个综合示例应用,提供AI助手实时访问车辆数据库的功能。Claude展示了像ChatGPT这样的大型语言模型如何与数据库交互。
MCP(模型上下文协议)是一种革命性的协议,允许AI模型以标准化的方式访问外部数据源。本项目通过实际的车辆画廊场景演示了MCP的强大功能。

mcp-anlatim/
├── 📱 应用程序
│ ├── app.py # 主终端应用程序(Claude + MCP)
│ ├── appst.py # Streamlit网络应用程序(无MCP,OpenAI + LangChain)
│ └── mcpanlatim.py # 全面培训和演示应用程序
├── 🔧 MCP服务器
│ └── dataturkmcp.py # 基于FastMCP的车辆搜索服务器
├── 🗄️ 数据
│ └── veri.xlsx # Excel格式的车辆数据
├── 📋 配置
│ ├── requirements.txt # Python依赖项
│ └── .env # 环境变量(API密钥)
├── 📚 文档
│ ├── README.md # 此文件
│ ├── kaynak.txt # 来源和链接
│ └── *.png, *.jpeg # 视觉材料
└── 📄 LICENSE # MIT许可证
# 克隆项目
git clone https://github.com/halilkkaya/mcp-anlatim.git
cd mcp-anlatim
# 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或者
venv\Scripts\activate # Windows
# 安装依赖项
pip install -r requirements.txt
创建.env文件:
# AI API密钥
ANTHROPIC_API_KEY=your_claude_api_key_here
OPENAI_API_KEY=your_openai_api_key_here
# 数据库设置
MYSQL_HOST=localhost
MYSQL_USER=root
MYSQL_PASSWORD=your_mysql_password
MYSQL_DATABASE=mcp_deneme
# 网络搜索API
TAVILY_API_KEY=your_tavily_api_key
# MCP服务器URL
MCP_URL=http://localhost:8000/mcp
# 在MySQL中创建数据库
mysql -u root -p
CREATE DATABASE mcp_deneme;
USE mcp_deneme;
# 导入车辆数据(如果有)
# 或者使用SQLite文件:arabalar.db
streamlit run mcpanlatim.py
全面的MCP叙述、工具介绍和实时测试环境
python app.py
基于终端的车辆助手,使用Claude
streamlit run appst.py
基于OpenAI的网络工具顾问
python dataturkmcp.py
在8000端口启动MCP服务器
araba_ara - 主搜索工具具有高级过滤选项的车辆搜索:
# 基本过滤
araba_ara(
marka="toyota", # 车辆品牌
model="corolla", # 模型名称
min_fiyat=100000, # 最小价格
max_fiyat=500000, # 最大价格
il="istanbul" # 城市
)
# 高级特性
araba_ara(
ozel_arama="ekonomik", # 预定义类别
siralama="fiyat_artan", # 排序类型
limit=10, # 结果数量
detayli=True, # 详细信息
istatistik=True # 统计数据
)
| 参数 | 类型 | 描述 | 示例 |
|---|---|---|---|
marka | str/list | 车辆品牌 | "Toyota" 或 ["ford", "bmw"] |
model | str | 模型名称 | "focus", "corolla" |
min_fiyat/max_fiyat | int | 价格范围 | 50000, 200000 |
min_yil/max_yil | int | 模型年份 | 2015, 2023 |
min_km/max_km | int | 行驶里程 | 0, 100000 |
il | str | 城市 | "istanbul", "ankara" |
yakit | str | 燃料类型 | "gasoline", "diesel", "hybrid" |
vites | str | 变速箱类型 | "manual", "automatic" |
durum | str | 车辆状况 | "new", "excellent", "good" |
tip | str | 车辆类型 | "sedan", "suv", "hatchback" |
renk | str | 车辆颜色 | "white", "black", "grey" |
ozel_arama | str | 特殊类别 | "economic", "luxury", "family", "sport" |
siralama | str | 排序 | "price_increased", "year_new", "km_less" |
limit | int | 结果数量 | 5(默认值) |
detayli | bool | 详细信息 | True/False |
benzer_araclar | bool | 相似建议 | True/False |
istatistik | bool | 统计数据 | True/False |
| 工具 | 描述 | 使用 |
|---|---|---|
sql_sorgusu_calistir | 自定义SQL查询 | 高级分析 |
tablolari_listele | 数据库表 | 结构发现 |
tablo_yapisi_goster | 表图 | 列信息 |
web_arama | Tavily API搜索 | 当前信息 |
araba_ara(
ozel_arama="aile",
min_fiyat=100000,
max_fiyat=300000,
yakit="dizel",
siralama="fiyat_artan"
)
araba_ara(
ozel_arama="ekonomik",
max_fiyat=150000,
yakit=["hibrit", "dizel"],
limit=10
)
araba_ara(
marka=["bmw", "mercedes", "audi"],
tip="coupe",
ozel_arama="lüks",
min_yil=2020,
detayli=True
)
araba_ara(
marka="toyota",
istatistik=True,
benzer_araclar=True,
limit=20
)
用户: "我正在寻找适合家庭的经济型汽车"
AI: araba_ara(ozel_arama="aile", yakit="dizel", siralama="fiyat_artan")
用户: "宝马或奔驰,2020年后,双门轿跑车"
AI: araba_ara(marka=["bmw", "mercedes"], tip="coupe", min_yil=2020)
用户: "伊斯坦布尔20万以下的丰田汽车"
AI: araba_ara(marka="toyota", il="istanbul", max_fiyat=200000)
技术 | 技术 | 技术 | 技术 | 技术 | 技术 | 技术 | 技术 | 技术 | 技术 | 技术 | 技术 | 技术 | 技术 | 技术 | 技术 | 技术 | 技术 | 技术 | 技术 | 技术 |----------|-----------|----------| | AI模型 | Anthropic Claude | 3.5 Haiku | | | OpenAI GPT | 3.5 Turbo | | MCP框架 | FastMCP | 最新 | | 数据库 | MySQL | 8.0+ | | 网络框架 | Streamlit | 最新 | | 机器学习框架 | LangChain | 最新 | | 搜索API | Tavily | v1 |
| 服务 | 为什么需要 | 免费限制 |
|---|---|---|
| Anthropic | Claude AI模型 | $5信用 |
| OpenAI | GPT模型 | $5信用 |
| Table | 每月1000次搜索。 |
1. ModuleNotFoundError
pip install -r requirements.txt
2. 数据库连接错误
# 确保MySQL服务正在运行
# 检查.env文件中的凭据
3. API密钥错误
# 检查.env文件中的API密钥
# 确保密钥有效
4. 端口已被占用
# 使用其他端口启动MCP服务器
python dataturkmcp.py --port 8001
git checkout -b feature/amazing-feature)git commit -m '添加精彩功能')git push origin feature/amazing-feature)此项目发布在MIT许可下。详情请参阅LICENSE文件。
Halil Kaya
⭐ 如果喜欢这个项目,请记得给它点赞!
📧 对于您的问题:使用Issues部分
🔄 对于更新:关注仓库